2. Klausur zur Vorlesung Algorthmen II Wntersemester 202/203 Lösung! Beachten Se: Brngen Se den Aufkleber mt Ihrem Namen und Matrkelnummer auf desem Deckblatt an und beschrften Se jedes Aufgabenblatt mt Ihrem Namen und Matrkelnummer. Schreben Se de Lösungen auf de Aufgabenblätter und Rückseten. Zusätzlches Paer erhalten Se be Bedarf von der Aufscht. Zum Bestehen der Klausur snd 20 der möglchen 60 Punkte hnrechend. Es snd kene Hlfsmttel zugelassen. Aufgabe Möglche Punkte Errechte Punkte a b c d Σ a b c d Σ 3 2 7 2 3,5 2,5 - - 6 - - 3,5 3,5-6 -,5 2,5-5 - 5,5 5 3,5-0 - 6,5 2 2,5-6 - 7 2 2-5 - 8,5 2,5 3 8 9 7x 7 Σ 60
Name: Matrkelnr.: Sete 2 Problem : Flüsse und lneare Programmerung + + 3 + 2 = 7 Punkte (a) Betrachten Se das unten stehende Flussnetzwerk, n dem jede Kante mt hrer Kaaztät beschrftet st. Geben Se enen maxmalen st-fluss an, ndem Se de Flusswerte an de Kanten schreben. / s 3/3 /2 3/3 /3 2/6 t 3/ / 2/2 (b) Zechnen Se n das Netzwerk aus Aufgabentel (a) enen mnmalen st-schntt en. Begründen Se, warum Ihr Schntt mnmal st. Der Schntt hat Gewcht 6 und st damt so groß we der Fluss aus Aufgabentel (a). Aus der Dualtät zwschen maxmalem Fluss und mnmalem Schntt folgt, dass es kenen kleneren Schntt (und auch kenen größeren Fluss) geben kann. (c) Se (D, s, t, c) en Flussnetzwerk bestehend aus enem gerchteten Grah D = (V, E), der Quelle s, der Senke t, sowe der Kaaztätsfunkton c: E N. Formuleren Se de Berechnung enes maxmalen st-flusses als lneares Programm (LP). Hnwes: Benutzen Se für jede Kante (u, v) E ene Varable x u,v, de angbt, we vel Fluss auf der Kante (u, v) fleßt. Maxmere (s,v) E x s,v (v,s) E x v,s Mt Nebenbedngung (u, v) E : 0 x u,v c(u, v) (Kaaztätsbed.) und u V \ {s, t}: x u,v x v,u = 0 (Flusserhaltungsbed.) (u,v) E (v,u) E
Name: Matrkelnr.: Sete 3 (d) Se zusätzlch zu Aufgabentel (c) ene Kostenfunkton w : E R gegeben, mt der Bedeutung, dass en Fluss f(e) auf der Kante e de Kosten f(e) w(e) verursacht. Geben Se en LP an, das enen st-fluss mt festem Wert b und mnmalen Kosten berechnet. Mnmere (u,v) E x u,v w(u, v) Mt Nebenbedngung (u, v) E : 0 x u,v c(u, v) (Kaaztätsbed.) und u V \ {s, t}: x u,v x v,u = 0 (Flusserhaltungsbed.) (u,v) E (v,u) E sowe x s,v x v,s = b (Flussgröße b) (s,v) E (v,s) E
Name: Matrkelnr.: Sete Problem 2: Suffxbäume 3,5 + 2,5 = 6 Punkte (a) Erstellen Se den Suffxbaum der Zechenkette = AA. Verwenden Se das teratve Verfahren aus der Vorlesung, be dem de Suffxe S, S 2,... nachenander n den Baum enfügt werden und zechnen Se für jeden Schrtt enen egenen Baum. Stellen Se scher, dass jedes Suffx von enem Pfad zwschen enem Blatt und der Wurzel reräsentert wrd.. Schrtt:. Schrtt: 2. Schrtt: A A 2 A 5. Schrtt: A A A 3 A A 2 3. Schrtt: 2 A A A A A A 3 A A 5 A 2 6. Schrtt: 5 A 2 A A A 3 8 A A A 3 A A
Name: Matrkelnr.: Sete 5 (b) Der längste wederholte elstrng n ener Zechenkette, st der längste elstrng von, der mndestens zwe Mal n vorkommt. () Geben Se den längsten wederholten elstrng von = ssss an und markeren Se n folgendem Suffxbaum den Pfad, der desen elstrng reräsentert. elstrng: ss s 0 s s 7 9 8 s s 6 5 3 2 s s s s () Skzzeren Se enen Algorthmus, der de Länge des längsten wederholten elstrngs n ener Zechenkette n Zet O( ) bestmmt. Se dürfen annehmen, dass der Suffxbaum S = (V, E) von gegeben st und dass de Strng-efe d(v) enes Knotens v V n O() Zet bestmmt werden kann. Wende zum Besel ene Bretensuche auf dem Baum an und merke global de größte Strng-efe d max der berets besuchten nneren Knoten. Falls d max = 0 nach der Bretensuche, dann gbt es kene Wederholung von elstrngs n. Ansonsten st d max der gesuchte Wert.
Name: Matrkelnr.: Sete 6 Problem 3: Kresraum & Kresbasen,5 + 3 +,5 = 6 Punkte Gegeben se der unten abgebldete Grah G = (V, E). Das Kantengewcht w(e) jeder Kante e st an der Kante notert. 2 (a) Zechnen Se n de folgenden Abbldungen alle (auch ncht enfache) Krese en und geben Se das Gewcht der Krese an. C : C 2 : C 3 : C : 2 2 2 2 w(c ) = w(c 2 ) = 6 w(c 3 ) = 6 w(c ) = C 5 : C 6 : C 7 : 2 2 2 w(c 5 ) = 3 w(c 6 ) = 5 w(c 7 ) = 5 (b) Geben Se ene mnmale Kresbass B von G an. Verwenden Se de Bezechnungen der Krese aus Aufgabentel (a). Zegen Se, dass B ene mnmale Kresbass st (zu zegen snd Mnmaltät und Kresbass-Egenschaft). B = {C, C 5, C 6 }. Bass-Egenschaft: Offenschtlch st B lnear unabhängg. Außerdem glt n = 6 und m = 8. Jeder Sannbaum enthält 5 Kanten. Ene Fundamentalbass (und damt jede Bass) hat de Größe 8 5 = 3. B muss Bass sen.
Name: Matrkelnr.: Sete 7 Mnmaltät: Da der Kresraum en Matrod st, lefert de Greedy-Methode ene mnmale Kresbass. Laut Aufgabentel (a) snd C und C 5 de beden klensten Krese. Der nächst größere Kres st C, allerdngs glt C = C + C 5. C und C 5 blden zusammen mt C 6 oder C 7 ene mnmale Kresbass. (c) Geben Se ene Famle von Grahen G n (für n =, 2, 3,... ) an, sodass G n O(n) Knoten und Ω(2 n ) Krese enthält. Begründen Se Ihre Antwort. Der Grah G n besteht aus n Dreecken,..., n. De Dreecke können zusätzlch durch enen Pfad verbunden sen (falls der Grah zusammenhängend sen soll). 2 3 n G n hat 3n O(n) Knoten. Außerdem bldet jede elmenge der Dreecke enen Kres. Es gbt Ω(2 n ) Krese.
Name: Matrkelnr.: Sete 8 Problem : Matrode,5 + 2 +,5 = 5 Punkte (a) Se G = (V, E) en zusammenhängender Grah mt V 2. Ene elmenge E u nduzert enen unzusammenhängenden elgrah, wenn G u = (V, E u ) unzusammenhängend st. Zegen Se, dass U u = {E u E u E nduzert unzusammenhängenden elgrah} en Unabhänggketssystem st. Bede Bedngungen für Unabhänggketssysteme snd erfüllt: Es glt U u, denn (V, ) st offenschtlch en unzusammenhängender Grah. Falls der Grah G u = (V, E u ) unzusammenhängend st, dann wrd er durch Löschen von Kanten ncht zusammenhängend. E u U u für alle E u E u. (b) Geben Se für den folgenden Grahen alle Mengen n U u exlzt an. e e 2 e e 3 U u = {, {e }, {e 2 }, {e 3 }, {e }, {e, e 2 }, {e, e 3 }, {e, e }, {e 2, e 3 }, {e 2, e }, {e 3, e }, {e, e 2, e 3 }} (c) Zegen Se, dass U u m allgemenen ken Matrod st. Der Grah aus Aufgabentel (a) st en Gegenbesel dafür, dass U u m allgemenen en Matrod st, denn: {e, e } U u und {e, e 2, e 3 } U u, aber {e, e 2, e } / U u und {e, e 3, e } / U u.
Name: Matrkelnr.: Sete 9 Problem 5: Parametrserte Algorthmen,5 + 5 + 3,5 = 0 Punkte Das Problem Punktüberdeckung st we folgt defnert. Gegeben: Ene Menge von Punkten P = {,..., n } n der Ebene, sowe en Parameter k. Gesucht: Ene Menge von maxmal k Geraden G = {g,..., g k }, sodass es für jeden Punkt P ene Gerade g j G mt g j gbt. (a) Gegeben se ene Instanz von Punktüberdeckung bestehend aus der unten abgebldeten Punktmenge, sowe dem Parameter k = 3. Zechnen Se 3 Geraden en, de dese Instanz von Punktüberdeckung lösen. (b) Geben Se enen FP-Algorthmus für Punktüberdeckung an. Begründen Se, warum hr Algorthmus korrekt st. Hnwes: Benutzen Se de echnk der Kernbldung. Zegen Se dazu zunächst, dass ene Gerade, de mehr als k Punkte aus P enthält, n jeder Lösung enthalten sen muss. Zege zunächst den Hnwes. Se g ene Gerade, de l Punkte aus P enthält. Dann st entweder g n der Lösung G enthalten, oder durch jeden der l Punkte geht ene andere Gerade aus G. falls l > k, so muss g n der Lösung enthalten sen, da sonst G > k glt. Damt erhält man folgenden Algorthmus, bestehend aus dre Schrtten.. Solange es ene Gerade g gbt, de mehr als k Punkte aus P enthält, füge g zu G hnzu und lösche alle enthaltenen Punkte aus P. Se P de resulterende Punktmenge und se k = k G. Es gbt offenschtlch für P mt Parameter k ene Lösung genau dann, wenn es für de Punktmenge P mt dem Parameter k ene Lösung gbt.
Name: Matrkelnr.: Sete 0 2. Falls P > k 2, dann gebe falsch aus. Begründung: Jede Gerade kann nur k der übrgen Punkte enthalten. Daher kann man mt k k Geraden ncht mehr als k 2 Punkte überdecken. 3. Betrachte de Menge aller Geraden G, de mndestens zwe Punkte aus P enthalten. Überrüfe für jede elmenge von G der Größe k, ob se alle Punkte n P überdeckt. Falls es ene solche elmenge gbt, gb se zusammen mt den n Schrtt. gefundenen Geraden aus. Man rüft also mttels Brute-Force-Methode, ob es Ene Lösung für P mt Parameter k gbt. (c) Zegen Se mt Hlfe ener Laufzetanalyse, dass Ihr Algorthmus aus Aufgabentel (b) en FP- Algorthmus st. Es gbt O(n 2 ) Geraden, de durch mndestens zwe Punkte n P gehen, für jede deser Geraden muss man überrüfen, ob se mehr als k Punkte enthalten. Laufzet für Schrtt.: O(n 3 ). Schrtt 2. kann n konstanter Zet ausgeführt werden. In Schrtt 3. glt: P O(k 2 ). Es glt G O(k ). De Anzahl der elmengen von G der Größe k st also n O((k ) k ) = O(k k ). Pro elmenge benötgt man O( P k) = O(k 3 ) Zet zum Überrüfen, ob jeder Knoten abgedeckt wrd. Für Schrtt 3. erhält man also ene Laufzet von O(k k k 3 ). Insgesamt hat der Algorthmus de Laufzet O(k k k 3 + n 3 ) und st damt en FP-Algorthmus.
Name: Matrkelnr.: Sete Problem 6: Aroxmatonsalgorthmus,5 + 2 + 2,5 = 6 Punkte En gerchteter Grah heßt azyklsch, falls er kenen gerchteten Kres enthält. Se G = (V, E) en gerchteter Grah und se G = (V, E E) en nklusonsmaxmaler azyklscher elgrah von G. Des Weteren se G 2 = (V, E 2 = E \ E ) das Komlement zu G. (a) Zegen Se: Für jede Kante (u, v) E 2 gbt es n G enen gerchteten Pfad von v nach u. Annahme: Es gbt ene Kante (u, v) E 2, sodass es kenen gerchteten Pfad von v nach u n G gbt. Dann kann de Kante (u, v) zu E hnzu genommen werden, ohne das en gerchteter Kres entsteht. Des st en Wdersruch dazu, dass G nklusonsmaxmal, azyklscher Grah st. (b) Zegen Se: G 2 st azyklsch. Annahme: G 2 enthält enen Kres P = (e, e 2,..., e k ). Nach elaufgabe (a) kann für jede deser Kanten e P en gerchteter Pfad P n G gefunden werden, der vom Zelknoten von e zum Startknoten von e führt: P P 5 e 5 e e 2 P 2 e e 3 P P 3 Falls dese Pfade dsjunkt snd, so blden se ene Kres n G, was en Wdersruch dazu st, dass G azyklsch st. Andernfalls hat jeder Knoten n dem von den Pfaden nduzerten Subgrah den glechen Engangs we Ausgangsgrad. Damt enthält deser Subgrah (und auch G ) enen gerchteten Kres.
Name: Matrkelnr.: Sete 2 (c) Betrachten Se das Problem Maxmum Acyclc Grah: Gegeben: Gerchteter Grah G = (V, E). Gesucht: Kardnaltätsmaxmaler azyklscher elgrah von G. Skzzeren Se enen Aroxmatonsalgorthmus für Maxmum Acyclc Grah mt relatver Gütegarante 2. Bewesen Se dese Gütegarante. Algorthmus : MAGAroxmaton Engabe : Gerchteter Grah G = (V, E). Ausgabe : Azyklscher elgrah von G. Berechne nklusonsmaxmalen azyklschen elgrah G = (V, E ) von G. 2 Berechne Komlementgrah G 2 = (V, E \ E ) zu G. 3 Wenn E E 2 return G 5 sonst 6 return G 2 Nach Berechnungsvorschrft st G en nklusonsmaxmaler, azyklscher elgrah von G. Wegen elaufgabe b) folgt außerdem, dass der Komlementgrah G 2 von G auch azyklsch st. Da wegen E + E 2 = E und E E 2 entweder E 2 E oder E 2 2 E gelten muss und de otmale Lösung maxmal E Kanten enthalten kann, folgt de Behautung.
Name: Matrkelnr.: Sete 3 Problem 7: Randomserte Algorthmen 2 + + 2 = 5 Punkte En gerchteter Grah G = (V, E) st d-regulär, wenn jeder Knoten genau d ausgehende und genau d engehende Kanten hat. Algorthmus 2 : Randomserter Algorthmus Engabe : d-regulärer gerchteter Grah G = (V, E), Wahrschenlchket [0, ] Ausgabe : elmenge S E S 2 Für jedes (u, v) E 3 x (u,v) blau x (u,v) rot mt Wahrschenlchket 5 6 7 Für jedes (u, v) E Wenn x (u,v) = rot oder x (u,w) = blau für alle von u ausgehenden Kanten (u, w) E S S {(u, v)} (a) Se S das Ergebns von Algorthmus 2. Zegen Se: In dem von S nduzerten Grah G = (V, S) hat jeder Knoten mndestens ene ausgehende Kante. Angenommen u V hat kene ausgehende Kante n G. Dann müssen alle ausgehenden Kanten (u, v) E blau gefärbt sen, da sonst ene deser Kanten n S enthalten wäre. Snd alle von u ausgehenden Kanten blau, so werden alle zu S hnzugefügt und u hat ausgehende Kanten n G. (b) Geben Se de Wahrschenlchket P (e S) dafür an, dass ene gegebene Kante e E n S legt. P (e S) = + ( ) d (c) Geben Se den Erwartungswert von S n Abhänggket von, d und m = E an. {, wenn e S Hnwes: Betrachten Se de Zufallsvarablen Y e = 0, sonst. ( ) E( S ) = E Y e e E = e E E(Y e ) = e E ( + ( ) d ) = m + m ( ) d
Name: Matrkelnr.: Sete Problem 8: Konvexe Hülle,5 + + 2,5 + 3 = 8 Punkte Gegeben se ene endlche, ncht-leere Punktmenge P R 2. Se H(S) de konvexe Hülle ener elmenge S P. De Schchten von P snd rekursv defnert durch: Bassfall: S = H(P ) Allgemener Fall: S = H(P \ (S... S )) für > Betrachten Se nun das Problem Onon Peelng: Gesucht snd de Schchten S,..., S k von P, sodass S k und S k+ = glt. Folgende Abbldung zegt ene Punktmenge mt k = 3 ncht-leeren Schchten. (a) Zegen Se, dass für zwe ncht-leere Schchten S und S mt > glt: De Punkte aus S legen nnerhalb des konvexen Polygons S. Se P = P und P = P \ (S... S ) für >. Da nach Defnton P m Verglech zu P nur Punkte verlert, aber kene neuen hnzukommen, glt P P. Des Weteren, da S das klenste konvexe Polygon bldet, das alle Punkte P enschleßt, folgt dass P vollständg n S enthalten st. Wegen S P glt somt de Behautung. (b) Zegen Se, dass der Algorthmus SmleOnonPeelng für n = P de Laufzet O(n 2 log n) hat. Algorthmus 3 : SmleOnonPeelng 2 3 5 6 Engabe : Endlche Menge P R 2 bestehend aus n Punkten. Ausgabe : De Schchten S,..., S k von P, sodass glt S k und S k+ =. P P solange P tue S Ergebns von Graham Scan angewendet auf P P + P \ S //Kann n O(n) Zet berechnet werden. + 7 return S,..., S Da n jedem Durchlauf Punkte aus der aktuellen Punktemenge entfernt werden, kann es maxmal n Durchläufe der äußeren Schlefe geben. In der Schlefe selber stellt Graham Scan mt O(n log n) Zet den aufwendgsten el dar. Damt ergbt sch de Laufzet O(n 2 log n).
Name: Matrkelnr.: Sete 5 (c) Geben Se ene Famle von Punktmengen P, P 2,... mt P n O(n) an, sodass de Laufzet von SmleOnonPeelng für dese Instanzen n Ω(n 2 log n) legt. Begründen Se Ihre Antwort. Betrachte folgende Punktmenge P, de n 3 Schchten nduzert, de jewels Dreecke blden. Offenschtlch glt nach dem -ten Schlefendurchlauf P + = P 3, d.h. de betrachtete Punktmenge wrd ro Durchlauf nur um konstant vele Elemente klener, was somt n Θ(n) Schlefendurchläufen resultert. Da Graham Scan Θ( P log P ) Zet benötgt, folgt damt de Laufzet Θ(n 2 log n). (d) Skzzeren Se enen Algorthmus, der das Problem Onon Peelng n O(n 2 ) Laufzet löst und bewesen Se dese Laufzet. Ersetze n SmleOnonPeelng den Aufruf von Graham Scan durch Gft Wrang. Für ene Punktmenge der Größe n mt konvexer Hülle der Größe h benötgt Gft Wrang O(n h) Zet. Da de Punktmenge be kenem Aufruf mehr als n Elemente enthält, wrd de -te Schcht n O(n S ) Zet berechnet. Summert man über alle Schchten, so erhält man O( (n S )) = O(n S ) = O(n 2 ), da jedes Element nur n ener Schcht enthalten st.
Name: Matrkelnr.: Sete 6 Problem 9: Verschedenes 7 = 7 Punkte Jeder der folgenden Aussagenblöcke umfasst mehrere Enzelaussagen. De sch unterschedenden Aussagenbaustene snd durch Kästchen gekennzechnet. Kreuzen Se genau jene Baustene an, de n ener wahren Enzelaussage enthalten snd. Jeder Aussagenblock enthält mndestens ene wahre Enzelaussage. Unvollständg oder falsch angekreuzte Aussagenblöcke werden mt null Punkten bewertet. Se erhalten enen Punkt für jeden Aussagenblock, für den Se genau de rchtge Menge an Aussagenbaustenen angekreuzt haben. En Algorthmus mt asymtotscher Laufzet Θ(k log k n 2 + 5 k n k ) Θ(n) Θ(2 k n! + n) Θ(2 k! n + n 2 log n) st en FP-Algorthmus, wobe n de Engabegröße und k der Parameter st. Be ener Menge von n Strecken n der Ebene können alle Schnttunkte zwschen desen Strecken n O(n log n) berechnet werden. kann jede Strecke n andere Strecken schneden. schnedet jede Strecke mndestens ene andere. kann es Ω(n 2 ) vele Schnttunkte zwschen desen Strecken geben. En mnmaler st-schntt n enem zusammenhängenden, ungerchteten und ungewchteten Grahen G = (V, E) kann n O( E ) Zet berechnet werden, wenn en maxmaler st-fluss gegeben st. kann Gewcht V haben. trennt t von mndestens enem Knoten v V mt v s. hat Gewcht mndestens. Ene Menge von Algorthmen {A ε ε R + } mt Laufzet Θ(3 ε + ε st en PAS FPAS AFPAS APAS n 3 ) und relatver Aroxmatonsgüte Se G en Grah und C en mnmales Vertex Cover der Größe k n G. Dann enthält C alle Knoten mt Grad maxmal k. kene solerten Knoten. (En Knoten st solert, wenn er Grad 0 hat.) für jede Kante maxmal enen der beden Endknoten. alle Knoten mt Grad größer als k.
Name: Matrkelnr.: Sete 7 Se G = (V, E) en Grah. De Menge U enthalte de Menge V V genau dann, wenn für alle {u, v} E glt: u / V oder v / V. Dann st U en Matrod. st U en Unabhänggketssystem. glt V U. st es N P-Schwer ene kardnaltätsmaxmale Menge n U zu fnden. Bem (h, k)-pagng darf der Onlne-Algorthmus maxmal k Fehlzugrffe haben. hat der otmale Offlne-Algorthmus mmer wenger Fehlzugrffe als der Onlne-Algorthmus. hat der Onlne-Algorthmus enen mndestens genauso großen Cache zur Verfügung we der otmale Offlne-Algorthmus. snd konservatve Onlne-Algorthmen 2-komettv, wenn h = k 2.