Dynamisk programmering. Flere eksempler
|
|
- Astrid Frederiksen
- 8 år siden
- Visninger:
Transkript
1 Dynamisk programmering Flere eksempler
2 Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld GATAAATCTGGTCTTATTTCC Delstreng = delmængde af tegnene i streng, i uændret rækkefølge: G A T A A A T C T G G A T C
3 Længste fælles delstreng Fælles delstreng for to strenge: G A T A A A T C T G G A T C Eller: A G T T A T T C G A T A A A T C T G A G T T A T T C Længste fælles delstreng: Givet to strenge X = x 1 x 2 x 3... x m Y = y 1 y 2 y 3... y n af længde m og n, find en længste fælles delstreng for dem. Længden af denne kan ses som et mål for similaritet mellem strenge (f.eks. dna-strenge).
4 Rekursiv løsning? Vi vil arbejde på at lave en rekursiv løsning. Vi definerer derfor mindre problemstørrelser: X i = x 1 x 2 x 3... x i for 1 i m. Y j = y 1 y 2 y 3... y j for 1 j n. X og Y er den tomme streng. lcs(i, j) er længden af længste fælles delstreng af X i og X j. Vi vil gerne finde lcs(m, n). Mere generelt: Vi søger en rekursiv formel for lcs(i, j). Basistilfælde: Det er klart at lcs(, j) = lcs(i, ) =.
5 Optimale delproblemer I Formel for lcs(i, j): Case I: x i = y j Observation: en fælles delstreng Z for X i og Y j består af Et sidste tegn z k. En streng Z = z 1 z 2 z 3... z k 1, som må være en fælles delstreng af X i i og Y j 1 (tegnene i Z skal komme i samme rækkefølge som i X og Y, så kun sidste tegn i Z har mulighed for at være x i og y j ). Den essentielle egenskab (optimale delproblemer) for Case I: Hvis Z er en længste fælles delstreng for for X i og Y j, må Z være en længste fælles delstreng af X i 1 og Y j 1. For hvis der fandtes en længere fælles delstreng for X i 1 og Y j 1, kunne den tilføjes tegnet x i (= y j ) og blive en længere fælles delstreng for X i og Y j.... x 1 x 2 x 3 x 4... x i 1 C y 1 y 2 y 3 y 4... y j 1 C
6 Optimale delproblemer I Af den essentielle egenskab haves i Case I (x i = y j ): lcs(i, j) = lcs(i 1, j 1) + 1 En længste fælles delstreng for X i 1 og Y j 1 tilføjet tegnet x i (= y j ) er en længste fælles delstreng for X i og Y j.... x 1 x 2 x 3 x 4... x i 1 C y 1 y 2 y 3 y 4... y j 1 C
7 Optimale delproblemer II Formel for lcs(i, j): Case II: x i y j Observation: en fælles delstreng Z = z 1 z 2 z 3... z k for X i og Y j kan ikke have z k værende en parring af x i og y j (da disse jo er forskellige). Så Z må være en fælles delstreng for enten X i 1 og Y j eller for X i og Y j 1 (eller evt. begge). Den essentielle egenskab (optimale delproblemer) for Case II: Hvis Z er en længste fælles delstreng for X i og Y j, må den være en længste fælles delstreng for enten X i 1 og Y j eller for X i og Y j 1 (eller evt. begge). For hvis der fandtes en længere fælles delstreng for enten X i 1 og Y j eller for X i og Y j 1, ville denne også være en længere fælles delstreng for X i og Y j. x 1 x 2 x 3 x 4... x i 1 A... y 1 y 2 y 3 y 4... y j 1 C... x 1 x 2 x 3 x 4... x i 1 A y 1 y 2 y 3 y 4... y j 1 C
8 Optimale delproblemer II Lad T 1 være en længste fælles delstreng for X i 1 og Y j, og lad T 2 være en længste fælles delstreng for X i og Y j 1. Af den essentielle egenskab i Case II (x i y j ) haves at blandt T 1 og T 2 er der (mindst) en som er en længste fælles delstreng for X i og Y j. Ingen af T 1 og T 2 kan være længere end den længste fælles delstreng for X i og Y j (da de begge er delstrenge af X i og Y j ). Så af den essentielle egenskab haves i Case II (x i y j ): lcs(i, j) = max(lcs(i 1, j), lcs(i, j 1)) Hvis lcs(i 1, j) lcs(i, j 1), er en længste fælles delstreng for X i 1 og Y j også en længste fælles delstreng for X i og Y j. Et symmetrisk udsagn gælder for og X i og Y j 1. x 1 x 2 x 3 x 4... x i 1 A... y 1 y 2 y 3 y 4... y j 1 C... x 1 x 2 x 3 x 4... x i 1 A y 1 y 2 y 3 y 4... y j 1 C
9 Rekursiv formel for lcs(i, j) Alt i alt har vi fundet flg. rekursive formel for lcs(i, j): if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j Den giver anledning til en naturlig, simpel rekursiv algoritme. MEN: det er nemt at se at der er gentagelser blandt delproblemers delproblemer. Så samme delproblemer bliver gentagne gange beregnet forskellige steder i rekursionstræet, og køretiden bliver meget dårlig. Kan evt. løses med memoization: hav en tabel med plads til svaret på alle de mulige delproblemer lcs(i, j), og gem svaret når det er beregnet første gang. Siden, slå det bare op. Dynamisk programmering: udfyld i stedet direkte denne tabel bottom-up på struktureret måde.
10 Dynamisk programmering Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 n j i 1 2 n 1 2 m 1 2 m j i 1 2 m 1 2 if i = or j = lcs(i, j) = lcs(i 1, j 1) + 1 if i, j > and x i = y j max(lcs(i 1, j), lcs(i, j 1)) if i, j > and x i y j
11 Køretid Dynamisk programmering: udfyld tabel over lcs(i, j) bottom-up på struktureret måde. j i 1 2 m 1 2 n Tabelstørrelse: mn Udfyld tabelindgang: O(max størrelse af røde graf) = O(1). Tid i alt: O(produktet af de to) = O(mn).
12 Find en konkret løsning lcs(m, n) er længden af en længste fælles delstreng for X = X m og Y = Y n. Hvis vi gerne vil finde en konkret fælles delstreng af denne længde: Gem for hvert felt i tabellen hvilken af de tre røde pile som gav lcs(i, j)-værdien i dette felt. Følg gemte pile baglæns fra lcs(m, n). Når en skrå pil følges er det en Case I, og x i (=y j ) udskrives. Ellers er den en Case II, og intet udskrives. I alt udskrives en længste fælles delstreng for X og Y i baglæns orden.
13 Eksempel 2: Multi-Matrix-multiplikation Fra DM527/MM524: En p q matrix A 1 og en q r matrix A 2 kan multipliceres i tid O(pqr). Resultatet er en p r matrix. j j i = i p q q r p r Matrix-multiplikation er associativ: A 1 (A 2 A 3 ) = (A 1 A 2 ) A 3
14 Multi-Matrix-multiplikation Matrix-multiplikation er associativ: A 1 (A 2 A 3 ) = (A 1 A 2 ) A 3 Men køretiden er IKKE ens. Eksempel: A 1 A 2 A Tid for A 1 (A 2 A 3 ): er = 75. Tid for (A 1 A 2 ) A 3 : er = 7.5
15 Multi-Matrix-multiplikation Spørgsmålet: Givet et produkt af n matricer med kombatible dimensioner A 1, A 2, A 3,..., A n p p 1, p 1 p 2, p 2 p 3,..., p n 1 p n hvad er den billigste rækkefølge at gange dem sammen i?
16 Beregningstræer Rækkefølge = parentessætning = binært beregningstræ: A 1 A 1 A 2 A 3 A 1 (A 2 A 3 ) A 1 A 2 A 3 (A 1 A 2 )A 3 A 2 A 3 A 4 A 1 ((A 2 A 3 )A 4 )
17 Optimale delproblemer og rekursiv ligning Lad m(i, j) være prisen for bedste måde at gange A i,..., A j sammen på. Observation af den essentielle egenskab: Undertræerne for roden af et optimalt træ må selv være optimale beregningstræer. A i... A k A k+1... A j Prøv alle placeringer af rod, dvs. alle split A i,..., A k og A k+1,..., A j : { if i = j m(i, j) = min i k<j {m(i, k) + m(k + 1, j) + p i 1 p k p j } if i < j
18 Tabel Gentagelser blandt delproblemers delproblemer. Lav tabel og udfyld systematisk. Målet er at kende m(1, n). j i n n Tabelstørrelse: n 2 /2 Udfyld tabelindgang: O(max størrelse af røde graf) = O(n). Tid i alt: O(produktet af de to) = O(n 3 ). Find konkret løsning: følg de optimale valg baglæns.
Dynamisk programmering. Flere eksempler
Dynamisk programmering Flere eksempler Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z},
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)
Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Datalogisk Institut Aarhus Universitet Fredag den 28. maj 2004, kl. 9.00 13.00 Opgave 1 (20%) En (r, k) kryds-graf er en orienteret graf
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer (af samme type). 2. Løs delproblemerne ved rekursion (dvs. kald algoritmen
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereGrådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereAlgoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)
Algoritmeanalyse Identificer essentiel(le) operation(er) Øvre grænse for algoritme Find øvre grænse for antallet af gange de(n) essentielle operation(er) udføres. Øvre grænse for problem Brug øvre grænse
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:
Læs mereBinære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo
Philip Bille Nærmeste naboer. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[] og satellitdata data[]. operationer. PREDECESSOR(k): returner element med største nøgle k.
Læs mereDatastrukturer (recap)
Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereDefinition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er
Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereBinære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille
Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereSortering. De n tal i sorteret orden. Eksempel: Kommentarer:
Sortering Sortering Input: Output: n tal De n tal i sorteret orden Eksempel: Kommentarer: 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Sorteret orden kan være stigende eller faldende. Vi vil i dette kursus
Læs mereSortering af information er en fundamental og central opgave.
Sortering Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereDatastrukturer (recap) Datastruktur = data + operationer herpå
Dictionaries Datastrukturer (recap) Datastruktur = data + operationer herpå Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data (ofte underforstået, også
Læs mereBinære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo
Philip Bille er. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle x.key og satellitdata x.data. operationer. PREDECESSOR(k): returner element x med største nøgle k. SUCCESSOR(k):
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs merePerspektiverende Datalogi Klassiske Algoritmer
Perspektiverende Datalogi Klassiske Algoritmer Gerth Stølting Brodal 1 Indhold Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer Ressourceforbrug for algoritmer Kompleksitet
Læs mereDanmarks Tekniske Universitet
Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DTLOS NSTTUT, RUS UNVERSTET Det Naturvidenskabelige akultet ESMEN rundkurser i Datalogi ntal sider i opgavesættet (incl. forsiden): 7 (syv) Eksamensdag: Torsdag den 14. juni 007, kl. 9.00-1.00 Eksamenslokale:
Læs mereSortering af information er en fundamental og central opgave.
Sortering 1 / 36 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 6, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereDatastrukturer (recap)
Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang
Læs mereDanmarks Tekniske Universitet
Eksamen 005, F0 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 00. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Onsdag den. august 200, kl. 9.00.00 Opgave (25%) Lad A = A[] A[n] være et array af heltal. Længden af det længste
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 26. maj 2009. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:
Læs mereDanmarks Tekniske Universitet
Eksamen 0205, Forår 205 side af 5 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 205. Kursusnavn: Algoritmer og datastrukturer Kursusnummer: 0205 Hjælpemidler: Skriftlige hjælpemidler. Det
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 7 n 1 7 7/n. 7nlogn. 7n 7nlogn n7
Side af 0 sider Opgave (%) Ja Nej /n er O(n )? n (logn) er O(n 3 )? n + n er O(3 n )? n er O((logn) 3 )? nlogn er Ω(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen:
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR DTLOGI, RHUS UNIVERSITET Science and Technology EKSEN lgoritmer og Datastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): 11 (elleve) Eksamensdag: Torsdag den 1. juni 01,
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mere28 Algoritmedesign. Noter. PS1 -- Algoritmedesign
28 Algoritmedesign. Algoritmeskabelon for Del og Hersk. Eksempler på Del og Hersk algoritmer. Binær søgning i et ordnet array. Sortering ved fletning og Quicksort. Maksimal delsums problem. Tætteste par
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Varighed: timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 5 (fem) Eksamensdag: Fredag den 10. august 007, kl.
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 3/2. n logn (3/2) n. 2 3logn (3/2) n
Side af 0 sider Opgave (4%) Ja Nej n er O(n / )? n +n er O(n )? (logn) er O( logn )? n er O()? /n er O(logn)? Opgave (4%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: logn
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 25. juni 200, kl. 9.00-.00
Læs merePerspektiverende Datalogikursus
Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 2. september 2005 1 Afleveringsopgaver... /\.. // \\ / \ / [] \ \\_// / \ / \ []._. ---------------- _ 2 Øvelse
Læs mereOrienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.
Orienterede grafer Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer Philip Bille Orienterede grafer Introduktion Repræsentation Søgning Topologisk
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
STTUT FR DTG, RUS UVERSTET Science and Technology ESE ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. juni 0, kl. 9.00-.00 Tilladte medbragte hjælpemidler: lle sædvanlige
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
NSTTUT OR TO, RUS UNVRSTT Science and Technology SN lgoritmer og atastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): 11 (elleve) ksamensdag: redag den 1. august 015, kl. 9.00-.00 Tilladte
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm3: More about recurrences - October 10, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm3: More about recurrences - October 10, 2008 1 Algorithms and Architectures II 1. Introduction to analysis and
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer
Philip Bille Orienteret graf. Mængde af knuder forbundet parvis med orienterede kanter. deg + (7) =, deg - (7) = Lemma. v V deg - (v) = v V deg + (v) = m. Bevis. Hver kant har netop en startknude og slutknude.
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =
Læs merePerspektiverende Datalogikursus
Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 27. august 2004 1 Indhold Mere om Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR ATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Algoritmer og atastrukturer (00-ordning) Antal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. august 0,
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
STTUT R T, RUS UVRSTT Science and Technology S lgoritmer og atastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): (elleve) ksamensdag: Tirsdag den. august 0, kl. 9.00-.00 Tilladte medbragte
Læs mereSøgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning
Søgning og Sortering Søgning og Sortering Philip Bille Søgning. Givet en sorteret tabel A og et tal x, afgør om der findes indgang i, så A[i] = x. Sorteret tabel. En tabel A[0..n-1] er sorteret hvis A[0]
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n
Eksamen. kvarter 00 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) Ja Nej n er O(n )? n er O(n )? n er O(n + 0 n)? n + n er O(n )? n log n er Ω(n )? Opgave (%) Opskriv følgende funktioner
Læs mereDM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen
DM13-1. Obligatorisk opgave E.05 Jacob Aae Mikkelsen - 191076 26. september 2005 Indhold Analyse af problemstillingen........................ 2 Spørgsmål 1................................. 3 Spørgsmål
Læs mereIntroduktion Til Konkurrenceprogrammering
Introduktion Til Konkurrenceprogrammering Søren Dahlgaard og Mathias Bæk Tejs Knudsen {soerend,knudsen}@di.ku.dk Version 0.1 Indhold Indhold i Introduktion 1 1 Palindromer 3 1.1 Introduktion til Python...............
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk
Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 0205. Varighed: 4 timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 16. august 2013,
Læs mereDanmarks Tekniske Universitet
side af 3 sider anmarks Tekniske Universitet Skriftlig prøve, den 29. maj 203. ursusnavn: lgoritmer og datastrukturer ursus nr. 02326. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 10. august 2012, kl. 9.00-11.00 Eksamenslokale: Finlandsgade
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereGrundlæggende køretidsanalyse af algoritmer
Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 4 n n 3n n 2 /logn 5 n n (logn) 3n n 2 /logn 4 n n 5 n
Side af 0 sider Opgave (%) Ja Nej n er O(0n logn)? n er O(n )? n +n er O(n )? n logn er O(n )? n logn er O(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n
Læs mereEt generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige
Læs mere22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.
22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327
Læs mereMajoritetsproblemet Problem Præcisering af inddata Præcisering af uddata
Majoritetsproblemet Problem: Til præsidentvalget i Frankrig har cirka 20 millioner vælgere afgivet deres stemme på et antal præsidentkandidater. Afgør om en af kandidaterne har opnået mere end halvdelen
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2010 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 24. april, 2010 (let justeret 10. maj og 21. maj 2010) Dette projekt udleveres i tre
Læs mereP (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2.
P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2. Bevis ved stærk induktion. Basisskridt: P (2) er sand og P (3) er sand. Induktionsskridt: Lad k 2 og antag P
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 24. juni 2011, kl.
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n+logn logn (logn) 7 (3/2) n
Side af sider Opgave (%) Ja Nej n er O( n )? n er O(log n)? n er O(n )? n + er O(0n)? nlogn er O(n / )? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: nlogn logn
Læs mereAlgoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
Læs mereNoter til DM517 Beregnelighed
Noter til DM517 Beregnelighed Jonas Nyrup 23. oktober 2011 Indhold 1 Et par noter 2 2 Regulære sprog 2 2.1 DFA................................. 2 2.1.1 Eksempler.......................... 3 2.2 NFA.................................
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 2 2 n 1/n (logn) n. n 2
Side af sider Opgave (%) Ja Nej n er O(n n)? n er O(n+n )? ( n ) er O( n )? logn er O(n / )? n +n er O(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn)
Læs mereDM02 Kogt ned. Kokken. Januar 2006
DM02 Kogt ned Kokken Januar 2006 1 INDHOLD Indhold 1 Asymptotisk notation 2 2 Algoritme analyse 2 3 Sorterings algoritmer 2 4 Basale datastrukturer 3 5 Grafer 5 6 Letteste udspændende træer 7 7 Disjunkte
Læs mereOpgave 1 (10%) I det følgende angiver log n 2-tals-logaritmen af n. Ja Nej. n+3n er O(2n)? n 6 er O(n 5 )? nlogn er O(n 2 /logn)? 4n 3 er O(3n 4 )?
Eksamen juni Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) I det følgende angiver log n -tals-logaritmen af n. n+n er O(n)? n 6 er O(n )? nlogn er O(n /logn)? n er O(n )? n er O(n )?
Læs mereSkriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se
Læs mereMandags Chancen. En optimal spilstrategi. Erik Vestergaard
Mandags Chancen En optimal spilstrategi Erik Vestergaard Spilleregler denne note skal vi studere en optimal spilstrategi i det spil, som i fjernsynet går under navnet Mandags Chancen. Spillets regler er
Læs mereSortering i lineær tid
Sortering i lineær tid Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel. Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel.
Læs mereSøgning og Sortering. Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering. Philip Bille
Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering Philip Bille Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering
Læs mereIntervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed
Algoritmisk geometri Intervalsøgning 1 2 Motivation for intervaltræer Intervalsøgning Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Vi kan
Læs mereAlgoritmisk geometri
Algoritmisk geometri 1 Intervalsøgning 2 Motivation for intervaltræer Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Antag, at vi ønsker at
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet
Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne
Læs mereNote om endelige legemer
Note om endelige legemer Leif K. Jørgensen 1 Legemer af primtalsorden Vi har i Lauritzen afsnit 2.1.1 set følgende: Proposition 1 Lad n være et positivt helt tal. Vi kan da definere en komposition + på
Læs mereInduktive og rekursive definitioner
Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Antal sider i opgavesættet (incl. forsiden): (fjorten) Eksamensdag: Mandag den. juni 0, kl. 9.00-.00 Tilladte medbragte hjælpemidler:
Læs mereUgeseddel 12(10.12 14.12)
Ugeseddel (..) Matematisk Programmering Niels Lauritzen..7 FORELÆSNINGER I ugen. 7. gennemgik vi algoritmer til løsning af heltalsprogrammer ved hjælp af simplex algoritmen. Dette er heltalsprogrammeringsugesedlen
Læs mere