DATALOGISK INSTITUT, AARHUS UNIVERSITET

Relaterede dokumenter
DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Danmarks Tekniske Universitet

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Danmarks Tekniske Universitet

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Sammenhængskomponenter i grafer

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Science and Technology EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)

Skriftlig Eksamen Diskret Matematik (DM528)

Grafer og graf-gennemløb

Danmarks Tekniske Universitet

Grafer og graf-gennemløb

Grafer og graf-gennemløb

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Grafer og graf-gennemløb

Grafer og graf-gennemløb

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Reeksamen i Diskret Matematik

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

Mindste udspændende træ

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet. Mandag den 22. marts 2004, kl

Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal

P2-gruppedannelsen for Mat og MatØk

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

Minimum udspændende Træer (MST)

AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet Augusteksamen OPGAVESTILLER: Allan H. Sørensen

Danmarks Tekniske Universitet

Sommeren 2001, opgave 1

Prioritetskøer og hobe. Philip Bille

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Matematik A. 5 timers skriftlig prøve. Højere Teknisk Eksamen i Grønland maj 2009 GLT091-MAA. Undervisningsministeriet

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Eksempel på muligt eksamenssæt i Diskret Matematik

programmeringskonkurrencer implementation under tidspres

Minimum udspændende Træer (MST)

Eksamen i Diskret Matematik

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk

Reeksamen i Diskret Matematik

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer

A A R H U S U N I V E R S I T E T

Mindste udspændende træ

Transkript:

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. 9.00-13.00 Eksamenslokale: Trøjborg, Willemoesgade 15, Bygn 2113, Lok 139 Tilladte medbragte hjælpemidler: Alle sædvanlige hjælpemidler (lærebøger, notater, lommeregner). Computer må ikke medbringes. Materiale der udleveres til eksaminanden: OPGAVETEKSTEN BEGYNDER PÅ NÆSTE SIDE ooo

Side 2 af 6 sider Opgave 1 (25%) I denne opgave betragter vi først orienterede gitter-grafer med ikke-negative vægte på kanterne. En gitter-graf består af M rækker hver med N knuder. Det antages, at grafen er givet ved incidenslister, hvor incidenslisterne er sorteret alfabetisk. 2 10 A B C 9 4 1 8 3 4 6 13 2 5 E D 11 6 10 F G H 9 2 2 2 6 1 7 7 4 1 I J K L 8 6 3 5 10 1 5 2 9 Spørgsmål a: Angiv et BFS-træ for ovenstående graf, hvor BFS-gennemløbet starter i knuden A. Angiv kanterne i BFS-træet og BFS-numrene for knuderne. Spørgsmål b: Angiv et DFS-træ for ovenstående graf, hvor DFS-gennemløbet starter i knuden A, og en DFS-nummerering af knuderne. Angiv for hver knude discovery time og finishing time. Spørgsmål c: Angiv et korteste veje (SSSP) træ for ovenstående graf, når kortest veje beregningen sker med hensyn til startknuden A. For hver knude v angiv også afstanden fra startknuden A til v. Spørgsmål d: For en gitter-graf med M N knuder, angiv en algoritme til at beregne diameteren af grafen, dvs. den maksimale afstand mellem to knuder i grafen, dvs. afstanden max{d(u,v) u,v V}, hvor d(u,v) angiver længden af den korteste vej mellem knuderne u og v. Angiv algoritmens udførselstid. 16 10 A B C 8 D 1 3 6 9 E 11 17 12 F G H 15 13 5 14 7 4 2 I J K L Spørgsmål e: Angiv kanterne i et minimum udspændende træ for ovenstående uorienterede gitter-graf med vægte på kanterne.

Side 3 af 6 sider Opgave 2 (15%) Betragt nedenstående netværk med de angivne kapaciteter på kanterne. 9 10 A B C 2 D 7 2 2 11 E 42 F 3 t 10 G 5 8 3 7 8 4 3 H s I J 11 4 6 10 7 11 5 K L M N Spørgsmål a: Angiv en maksimal strømning (maximum flow) fra s til t i netværket (angiv for hver kant strømningen langs kanten), angiv værdien af en maksimal strømning, og angiv et snit (cut) (dvs. opdeling af knuderne i to disjunkte mængder) hvor kapaciteten af snittet er lig værdien af en maksimal strømning. Spørgsmål b: Betragt Edmonds-Karp algoritmen anvendt på ovenstående graf til beregning af en maksimal strømning. Angiv de forbedrende stier (augmenting paths) der anvendes under udførslen af Edmonds-Karp algoritmen. For hver forbedrende sti angiv knuderne på stien og strømningen, man forbedrer med, langs stien.

Side 4 af 6 sider Opgave 3 (20%) I denne opgave betragter vi et vejnet modeleret ved en orienteret graf, en vejgraf, og ønsker at finde den hurtigste vej fra en knude S til en knude T. For hver kant (u,v) har vi en positiv vægt w(u,v), som angiver antal sekunder det tager at køre langs kanten (u,v). Hver knude v angiver et lyssignal, som skiftevis er grøn og rød. Første gang lyssignalet bliver grønt er til tiden 0 (v), og derefter skiftes det til at være grønt og rødt i henholdsvis grøn (v) og rød (v) sekunder. Det antages at 0 0 (v) rød (v). Det antages at alle tidspunkter er heltallige. Nedenstående illustrerer hvornårderergrøntnår 0 (v) = 2, grøn (v) = 3, og rød (v) = 4. Tidspunkter med grønt er angivet med cirkler. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 tid Med release(v,t) angiver vi det første tidspunkt t, hvor det bliver grønt i knuden v. For ovenstående eksempel er release(v,10) = 10 og release(v,12) = 16. Spørgsmål a: Angiv en algoritme for hvordan release(v, t) kan beregnes. Betragt nedenstående vejgraf. For hver kant (u,v) er angivet w(u,v) og for hver knude er angivet 0 (v), grøn (v), rød (v). Betragt stien S A T. Når vi starter i S til tiden 0, kan vi forlade S til tiden 3, da dette er første gang der er grønt ved S. Vi ankommer så til A til tiden 3+9=12. Da det bliver grønt ved A til tiden 16, som angivet i ovenstående eksempel, kan vi forlade A og ankomme til T til tiden 16+7=23. 9 2,3,4 A 2 8 1,1,1 B 3,2,4 S 2 3 7 3 C 11 T 0,2,2 4,2,4 Spørgsmål b: Angiv for hver knude i ovenstående vejgraf det tidligste tidspunkt man kan ankomme til en knude og forlade en knude, når man starter ved S til tiden 0. Knude : S A B C T Tidligste ankomst : 0 Tidligste afgang : 3 Spørgsmål c: Beskriv en algoritme, der givet en vejgraf med n knuder og m kanter, finderdettidligstetidspunktmankankommetilenknudet,nårmanstarteriknudens til tiden 0. Angiv algoritmens udførselstid.

Side 5 af 6 sider Opgave 4 (20%) I denne opgave ønsker vi at finde det mindste antal mønter der skal til for at opnå et givent beløb n, når mønterne antager værdier i X = {x 1,x 2,...,x k }, dvs. vi har k forskellige slags mønter. Vi lader C i angive det færreste antal mønter der skal bruges for at opnå værdi i. F.eks. hvis mønterne antager værdierne X = {1,5,8} kan vi opnå i = 26 med fire mønter, da 26 = 5+5+8+8, dvs. C 26 = 4. Vi antager i det følgende at 1 X således at alle beløb er garanteret at kunne angives ved hjælp af mønterne. Antallet C i kan bestemmes ved følgende rekursionsformel: C i = { 0 hvis i = 0 1+min{C i xj 1 j k x j i} ellers Spørgsmål a: Udfyld nedenstående tabel for X = {1,3,7} og 0 i 25: i : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 C i : Spørgsmål b: Angiv en algoritme baseret på dynamisk programmering, der givet en mængde X og et tal n beregner C n. Angiv algoritmens udførselstid. Spørgsmål c: Udvid algoritmen fra spørgsmål b) til også at rapportere hvilke mønter, der skal anvendes for at opnå beløbet n. Angiv algoritmens udførselstid.

Side 6 af 6 sider Opgave 5 (20%) Antag at vi er givet k strenge I 1,...,I k, som vides at være virus-befængte, og en streng T som er virus-fri. Den samlede længde af strengene er n = T + k i=1 I i. Vi ønsker at finde en kortest mulig indikatorstreng V, dvs. en streng der er en delstreng af alle I 1,...,I k men hvor V ikke forekommer i T, eller at afgøre at der ikke findes nogen indikatorstreng. F.eks. er V = ABCA en indikatorstreng for nedenstående mængde af strenge - den er dog ikke kortest mulig. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 I 1 =ABCABCCA I 2 =CCABCAABA I 3 =BABCAABCCA I 4 =CCABCACABB I 5 =ABCAABCCA T =ABAAACCBABACABCCCBCAABBA Spørgsmål a: Angiv en kortest mulig indikatorstreng V for ovenstående strenge, og angiv positionen af dens første forekomst i I 1,...,I 5. I det følgende kan det antages at et suffikstræ for en streng af længde n over et alfabet med O(1) tegn kan konstrueres i O(n) tid. Spørgsmål b: Beskriv en algoritme, der givet strengene I 1,...,I k og T med samlet længde n, finder en kortest mulig indikatorstreng V eller rapporterer at der ingen indikatorstreng findes. Angiv algoritmens udførselstid.