INSTITUT FOR DATALOGI, AARHUS UNIVERSITET



Relaterede dokumenter
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Minimum udspændende Træer (MST)

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Minimum udspændende Træer (MST)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Mindste udspændende træ

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Sammenhængskomponenter i grafer

P2-projektforslag Kombinatorik: grafteori og optimering.

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Skriftlig eksamen i Datalogi

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

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

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

Danmarks Tekniske Universitet

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

Skriftlig Eksamen Diskret Matematik (DM528)

Grafer og graf-gennemløb

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Grafteori, Kirsten Rosenkilde, september Grafteori

Danmarks Tekniske Universitet

Gamle eksamensopgaver. Diskret Matematik med Anvendelser (DM72) & Diskrete Strukturer (DM504)

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

Danmarks Tekniske Universitet

DM72 Diskret matematik med anvendelser

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E

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

EUX-eksamensreglement for Den Jydske Haandværkerskole

Matematiske metoder - Opgaver

AARHUS UNIVERSITET Formular II - side 1. Omprøve E 2014

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

Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium

Grønland. Matematik A. Højere teknisk eksamen

Allan C. Malmberg. Terningkast

HF/GS-EKSAMEN december 2015

Varmeligningen og cosinuspolynomier.

Transkript:

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 22. juni 2012, kl. 9.00-13.00 Eksamenslokale: Finlandsgade 8, bygning 5106-5108, 8200 Aarhus N 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%) Betragt nedenstående vægtede orienterede graf. Det antages, at grafen er givet ved incidenslister, hvor incidenslisterne er sorteret alfabetisk. 3 6 10 Q 5 1 5 I J K L 1 2 6 1 2 8 3 7 4 E F G H 5 9 2 4 8 3 2 11 7 A B C D 2 3 6 M N O 5 1 3 6 2 3 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 korteste veje beregningen sker med hensyn til startknuden A. For hver knude v angiv også afstanden fra startknuden A til v. Spørgsmål d: Angiv de stærke sammenhængskomponenter i ovenstående graf. For hver komponent angiv knuderne i komponenten. 28 29 27 Q M N O 20 7 26 31 14 15 42 11 1 10 I J K L 18 19 30 6 8 9 5 13 2 4 E F G H 24 23 17 12 15 21 25 3 16 22 A B C D Spørgsmål e: Angiv kanterne i et minimum udspændende træ for ovenstående uorienterede 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. 18 I 10 4 6 s 17 M L 5 24 9 7 42 H 12 F 9 K 8 A 3 t 3 13 2 13 G 12 C 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 ønsker vi inden for tiden T at fragte flest mulige tog fra s til t i en uorienteret graf repræsenterende et tognet. Vi antager at til et vilkårligt tidspunkt kan et tog enten være i knuderne s eller t, eller på en af grafens kanter. Til ethvert tidspunkt kan der højst være ét tog på hver kant. I knuderne s og t kan der være et vilkårligt antal tog. Et tog der til tiden i befinder sig på en kant e (eller i s), kan til tiden i+1 stadig befinde sig på e (eller i s) eller skifte til en kant e (eller t), såfremt e (eller s) og e (eller t) deler et endepunkt. Til tiden 0 er alle tog i s og til tiden T skal alle tog være nået til t. s e 1 Tid i 0 1 2 3 4 5 6 7 e 2 e 4 Thomas s e t 1 e 2 e 4 e 4 e 5 t t Gordon s s e 1 e 3 e 5 t t t Percy s s s e 1 e 2 e 4 e 5 t e 3 e 5 Ovenstående er et eksempel på at få tre tog Thomas, Gordon og Percy fra s til t til tiden T = 7. Bemærk at på intet tidspunkt befinder der sig to tog på samme kant, og at Thomas er på kanten e 4 både til tiden 3 og 4, så Gordon kan køre fra e 3 til e 5 uden stop. Spørgsmål a: Hvad er den mindste tid T, der skal til for at få de fire tog Daisy, Rusty, Toby og Edward fra s til t i nedenstående graf? Angiv T og en tabel, der for en mulig løsning angiver hvor hvert tog er til tiderne 0,...,T. s e 4 e5 e 9 e 3 e 6 e 1 e 2 e7 e 8 e 10 t e 11 Spørgsmål b: Hvad er det største antal tog man kan få fra s til t i tiden T = 5 i ovenstående graf? Angiv for en mulig løsning hvor hvert tog er til tiderne 0,...,5. Spørgsmål c: Beskriv en algoritme, der givet en tid T og en sammenhængene graf med m kanter repræsenterende et tognet, finder det største antal tog man kan få transporteret fra s til t inden for tiden T. Angiv algoritmens udførselstid som funktion af m og T. Hint: Konstruer en ny graf hvor hver kant i det oprindelige tognet svarer til flere knuder.

Side 5 af 6 sider Opgave 4 (20%) I denne opgave ønsker vi, givet et heltal n 2, at finde det mindste antal primtal p 1,p 2,...,p k således at n kan skrives som summen n = p 1 + +p k, hvor hvert primtal p i 2. F.eks. kan 27 skrives som summen af tre primtal, f.eks. 27 = 7+7+13, men 27 kan ikke skrives som summen af to primtal. Bemærk at primtallene i summen ikke behøver at være forskellige. Vi lader K(n) betegne det mindste antal primtal, hvor n kan skrives som summen af K(n) primtal. F.eks. er K(27) = 3. n 2 3 4 5 6 7 8 9 10 25 26 27 28 K(n) 1 1 2 1 2 1 2 2 2... 2 2 3 2... Sum 2 3 2+2 5 3+3 7 3+5 2+7 5+5 2+23 13+13 7+7+13 5+23 K(n) kan bestemmes ved følgende rekursionsformel: K(n) = { 1 hvis n er et primtal min{1+k(n p) p et primtal 2 p n 2} ellers Spørgsmål a: Angiv K(57) og primtal p 1,...,p K(57), hvor 57 = p 1 + +p K(57). I det følgende kan antages at man har givet et array P, således at { 1 hvis n er et primtal P[n] = 0 ellers Spørgsmål b: Angiv en algoritme baseret på dynamisk programmering, der givet et heltal n 2 beregner K(n). Angiv algoritmens udførselstid. Spørgsmål c: Udvid algoritmen fra spørgsmål b) til også at rapportere K(n) primtal p 1,...,p K(n), hvor n = p 1 + +p K(n). Angiv algoritmens udførselstid.

Side 6 af 6 sider Opgave 5 (20%) Antag at vi er givet en streng T = x 1...x n af længde n. Et skift af T med s, 0 s < n, er strengen T s = x s+1 x s+2...x n x 1 x 2...x s. I denne opgave ønsker vi at finde det leksikografisk mindste skift, d.v.s. et skift med s hvor T s er leksikografisk mindst blandt T 0,...,T n 1. F.eks. er T 2 = T 7 = aababaabab de leksikografisk mindste skift af strengen T = abaababaab Spørgsmål a: Angiv alle s hvor T s er et leksikografisk mindste skift af strengen T = bcabaabcabaabcabaa 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 en streng T af længde n over et alfabet med O(1) tegn, finder alle s hvor T s er et leksikografisk mindste skift af strengen T. Angiv algoritmens udførselstid.