DM02 opgaver ugeseddel 2



Relaterede dokumenter
Funktionalligninger - løsningsstrategier og opgaver

Finde invers funktion til en 2-gradsfunktion - ved parallelforskydning. John V Petersen

Secret Sharing. Olav Geil Institut for Matematiske Fag Aalborg Universitet URL: olav.

Ligninger med reelle løsninger

Algoritmer og invarianter

Arbejdsmiljøgruppens problemløsning

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse

TALTEORI Primfaktoropløsning og divisorer.

Induktion: fra naturlige tal til generaliseret skønhed Dan Saattrup Nielsen

Løsning af præmie- og ekstraopgave

Differentiation af Logaritmer

Arealer under grafer

Afstandsformlerne i Rummet

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Wilsons sætning og Euler-Fermats sætning.

Skriftlig eksamen i Datalogi

Variabel- sammenhænge

Bogstavregning. Formler Reduktion Ligninger Bogstavregning Side 45

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer:

Polynomier et introforløb til TII

Grafteori, Kirsten Rosenkilde, september Grafteori

Hypotese test. Repetition fra sidst Hypoteser Test af middelværdi Test af andel Test af varians Type 1 og type 2 fejl Signifikansniveau

Sortering. Eksempel: De n tal i sorteret orden

Forslag til løsning af Opgaver til ligningsløsning (side172)

Sortering. Eksempel: De n tal i sorteret orden

Gode råd om læsning i 3. klasse på Løjtegårdsskolen

Årsafslutning i SummaSummarum 4

Om at udregne enkeltstående hexadecimaler i tallet pi

Algoritmer og Datastrukturer 1

Notat om håndtering af aktualitet i matrikulære sager

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Ændringsforslag. til. Forslag til: Landstingsforordning nr. xx af xx måned 2008 om ændring af landstingsforordning om hjælp til børn og unge.

Afstand fra et punkt til en linje

Økonomisk analyse. Danskernes sundhedsopfattelse af æg øges

EKSAMENSBESTEMMELSER FOR OBLIGATORISKE MODULER. Sundhedskommunomuddannelsen på akademiniveau. Gældende fra august 2015

Når mor eller far er ulykkesskadet. når mor eller far er ulykkesskadet

Retfærdighed betyder ikke at alle får det samme. Retfærdighed betyder at alle får hvad de har brug for

Login til den digitale ansøgningsportal

Ny Nordisk Skole. Arbejdshæfte til forandringsteori

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Algoritmer på træer og trægennemløb.

Taxageometri og metriske rum

DM507 Algoritmer og datastrukturer

Forståelse af sig selv og andre

Spørgsmål og svar om håndtering af udenlandsk udbytteskat marts 2016

Til underviseren. I slutningen af hver skrivelse er der plads til, at du selv kan udfylde med konkrete eksempler fra undervisningen.

I nogle kirker er der forskellige former for kurser eller møder for forældre til døbte børn, og det kan give inputs til at forstå både dåben og

Projekt 4.8. Kerners henfald (Excel)

Potens & Kvadratrod. Navn: Klasse: Matematik Opgave Kompendium. Opgaver: 22 Ekstra: 4 Point: Matematik / Potens & Kvadratrod

Geometri med Geometer I

I dette forløb arbejder eleverne med de forskellige led, der kan være i en sætning. De faglige mål med forløbet er, at eleverne skal:

Ansøgervejledning for elever i 9. kl. Brugervejledning til Optagelse.dk

En hæklet havfruehale

DesignMat Uge 11 Vektorrum

Svar: De fem spørgsmål hænger tæt sammen, og jeg vil derfor besvare dem under ét.

Danmarks Tekniske Universitet

Intro - Std.Arb. Version:

Team Succes Vestre Engvej 10, 1. Sal, Vejle Tlf. Nr.:

Spørgeskema på HVAL.DK

Matematisk induktion

Dette er et godt forløb til den tidlige billedkunstundervisning, da eleverne skal beskæftige sig med grundlæggende male-

Python 3 Matematik Programmerings kursus:

Annemette Søgaard Hansen/

Rediger eller opret institutionsmedarbejder på en ungdomsuddannelse

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Jyderup Bridgeklub. Stenbergs 2 UT

DATALOGI 0GB. Skriftlig eksamen tirsdag den 6. januar 2004

Sikker Slank kort fortalt Til indholdsfortegnelsen side: 1

Matematisk modellering og numeriske metoder. Lektion 18

Indhold. Vigtige pointer. Hvordan ser en god jobannonce ud? Gode råd til teksten

BILAG A SPØRGESKEMA. I denne At-vejledning præsenteres et kort spørgeskema med i alt 44 spørgsmål fordelt på otte skalaer.

Regn med tallene. 1 Spil Væddeløbet. Du skal bruge Kuber. To terninger. Arbejdsark

Kommuniker: Symbolskrivning 2 Kom godt i gang med tavler 1

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

APV og trivsel APV og trivsel

Folketingets Forretningsorden. KAPITEL XI - Forhandlingen, dagsordenen

Minimum udspændende Træer (MST)

Netværksguide. sådan bruger du dit netværk. Danmarks måske stærkeste netværk

Brugerguide Integration af erhvervsdata fra NN Markedsata til Microsoft Dynamics NAV 2015

Transkript:

DM0 opgaver ugeseddel af Fiona Nielsen 16. september 003 Øvelsesopgaver 9/9, 10/9 og 11/9 1. Vis, at 1 3 + 3 3 + 5 3 +... + (n 1) 3 = n 4 n. Omskriver til summationsformel: (i 1) 3 = n 4 n Bevis ved induktion over n Basis n = 1 Venstresiden Højresiden ( 1 1) 3 = 1 3 = 1 1 4 1 = 1 = 1 Vi ser at hypotesen gælder for vores basistilfælde. Induktion k 1, Antag at hypotesen holder for alle heltal op til k: k (i 1) 3 = k 4 k Vis for k+1: k+1 (i 1) 3 = (k + 1) 4 (k + 1) 1

1. fortsat fra forrige side... Venstresiden k+1 (i 1) 3 = k (i 1) 3 + ((k + 1) 1)3 = k 4 k + ((k + 1) 1) 3 = k 4 k + 8k 3 + 1k + 6k + 1 = k 4 + 8k 3 + 11k + 6k + 1 Højresiden (k + 1) 4 (k + 1) = k 4 + 8k 3 + 11k + 6k + 1 Vi ser at venstresiden er lig højresiden og vi kan konkludere at vores induktionsbevis holder for alle n.. Find en lukket formel for i, hvor a er et heltal mellem 1 og n. i=a Bevis, at din formel er korrekt. Der er flere måder at løse denne opgave på. Een måde er at sjusse sig frem til en formel, og derefter bevise ved induktion at den gælder for alle n. En anden måde er at genkende summationen som værende meget lig summationen fra ugeseddel 1, nemlig i. Herfra kan vi udlede en formel for i ved at opdele summationen: i = i=a (fra sidste uge) = = a 1 i i n(n + 1) (a 1)(a 1 + 1) n(n + 1) (a 1)a = n + n a + a i=a Hermed har vi en lukket formel for summationen. Hvis man bruger denne fremgangsmåde er det ikke nødvendig efterfølgende at bevise formlen, da den er udledt af en allerede bevist formel uden at foretage yderligere antagelser.

1. Et binært træ er et træ, hvor hver knude har 0, 1 eller børn. Et blad er en knude, der har 0 børn. Bevis ved strukturel induktion, at et binært træ med n knuder har højst n blade. Strukturel induktion kan med fordel benyttes til at bevise sætninger for strukturer som har en rekursiv definition, som f.eks. definitionen for et binært træ i denne opgavetekst. Vi ønsker at vise påstanden S S : "Et binært træ med n knuder har højst n blade" Bevis: Basis n = 1 Et træ bestående af én knude har netop ét blad. n = 1 = 1 Induktion k 1 Antag S gælder for et træ med k 1 knuder. Vis S for et træ med k + 1 knuder. Lad T være et træ bygget ved den rekursive definition, med to undertræer T 1,T som opfylder S. antal knuder i T 1 = n 1, antal blade i T 1 : b 1 n 1 antal knuder i T = n, antal blade i T : b n antal knuder i T : n = n 1 + n + 1 = k + 1 Beregner antal blade b i T b = b 1 + b n 1 + n n 1 + n + 1 = k + 1 b k + 1 Altså kan vi konkludere at S gælder for alle binære træer. 3

1. Eksamen januar 96 opg.. Opgaven sammenligner Udvalgssortering (Selection sort) med Indsættelsessortering (Insertionsort) (begge kan slås op i næsten hvilkensomhelst algoritmebog, hvis du gerne vil se flere varianter eller analyser af disse to algoritmer) (a) Angiv kompleksiteten ved sorteret input. U : O(n ) og I : O(n) (b) Kompleksiteten for lister i c-uorden, c > 0 U : O(n ) og I : O(cn) (c) Ændring så algoritmerne er O(cn) når listen er i c-uorden For U: Man kan nøjes med at kigge c pladser frem hvis arrayet er i c-uorden Dvs. den indre løkke kan ændres til : if (i+c) < n limit = i + c else limit = n for j = i+1 to limit do For I: ingen ændring nødvendig. Cormen et al..-4. Hvordan kan man ændre næsten en hvilkensomhelst algoritme til at have en god best-case køretid? For alle algoritmer der har en veldefineret best-case eller et inputtilfælde hvor output er meget nemt at beregne, kan man tilføje - allerførst i algoritmen - et tjek om input er denne best-case og i givet tilfælde løse problemet og returnere. For udvalgssortering kan man f.eks. inden den første løkke, lave en enkelt kørsel gennem arrayet for at tjekke om det allerede er sorteret. I givet fald skal algoritmen bare returnere, uden at foretage sig andet. På denne måde kan vi give udvalgssortering en best-case på bare Θ(n)! Men husk at det ikke hjælper en døjt på algoritmens generelle kompleksitet og køretid at give den en god bestcase. I tilfældet med en sorteringsalgoritme, vil det kun være i én ud af n! (n fakultet) tilfælde at køretiden forbedres, hvis vi antager at alle inputkombinationer er lige sandsynlige og dermed vil det være bogstaveligt talt spild af tid at prøve at forbedre dette ene tilfælde. Til gengæld: hvis vi har en algoritme som bruges et sted hvor en særlig speciel input-kombination hyppigt opstår, kan det måske betale sig at tjekke om algoritmen kan forbedres netop på det hyppige input, og opnå en lille forbedring i performance. 4

1. Cormen et al. -. Korrekthed af Bubblesort (a) Hvad skal vises førend vi har bevist algoritmens korrekthed? 1. Terminering. Sorteret output 3. Outputarray A er en mulig permutering af elementerne fra inputarrayet A. (b) Løkkeinvariant I, Linie -4 Invariant: S j : A[j] A[j + 1... n] Initialization: j = n, S n : A[n] A[n] Ok. Maintenance: for j n (Husk at løkken tæller nedad) Induktionsantagelse: S j : A[j] A[j + 1...] undersøger to tilfælde: 1. if-betingelsen holder, dvs. A[j] A[j 1] A[j 1] < A[j] (fordi elementerne ombyttes) A[j 1] A[j...] = S j 1 Ok.. if-betingelsen fejler, dvs. A[j] > A[j 1] A[j 1] A[j...] = S j 1 Ok. Termination: j = i A[i] A[i + 1... n] (c) Løkkeinvariant II, Linie 1-4 Invariant: I i : A[1] A[]... A[i 1], dvs. A[1..i 1] indeholder de i-1 mindste elementer fra A i sorteret (stigende) rækkefølge. Initialization: i = 1, I 1 : A[1..0] =, et tomt array er sorteret. Ok. Maintenance: for i 1 Induktionsantagelse: I i : A[1] A[]... A[i 1] I hver eneste iteration går vi direkte til den indre løkke, I: A[i] A[i + 1..n] A[1] A[]... A[i] I i+1 Ok. Termination: i = n + 1 I n+1 A[1] A[]... A[n + 1 1] A[1] A[]... A[n] 5

1. fortsat fra forrige side... (a) Hvad er worst-case køretid for Bubblesort? Sammenlign med Insertionsort. Bubblesort gennemgår begge løkker uanset input. Når den karakteristiske operation vælges til at være sammenligningen i 3. linie får vi følgende. Den ydre løkke gentages n gange. Den indre løkke (og dermed sammenligningen): (n 1) + (n ) +... + + 1 = = n 1 i n(n + 1) n = n n Θ(n ) Altså, W (n) = A(n) = B(n) = Θ(n ). De tilsvarende køretider for insertion sort kan du slå op i bogen, eller i dine noter fra forelæsningen i uge 37. Bemærkninger Strukturen for bevis af invarianter gennemgås s. 30-31 i Cormen. Et lille tip til den skriftlige eksamen: Når du svarer på opgaver der indeholder et matematisk bevis, som f.eks. et induktionsbevis, så skriv en sætning eller to ved siden af, hvor du forklarer med ord, hvorfor beviset gælder. På den måde viser du at du har forståelse for algoritmen, plus at du sikrer dig mod en evt skrive- eller tastefejl i det matematiske bevis ødelægger helhedsindtrykket af besvarelsen. 6