Technische Universität Chemnitz S. Dienelt Chemnitz, 11.Januar 2007 Abgabe: 22. Januar 2008 Einführung in die Diskrete Mathematik Lösung 10 1. (3 Punkte) 6 Computerprogramme P 1, . . . , P 6 sollen der Reihe nach auf einem Großrechner abgearbeitet werden (und dann wieder von vorne beginnen). Jedes Programm benötigt seine eigenen Resssourcen, wie z.B. einen Teil des Hauptspeichers, einen Compiler und Laufwerke, und der Wechsel von einer Ressourcenmenge zur anderen kostet Zeit. Die folgende Matrix C = (cij ) enthält die Zeiten cij , die für die Übertragung der Hilfsmittel für das Programm Pi zu denen für Programm Pj benötigt werden. Ermitteln Sie eine Reihenfolge der 0 18 17 23 12 19 Programme, die eine Gesamtüber 18 0 26 31 20 30 tragungszeit benötigt, die höchsten 17 26 0 16 11 9 50% von der optimalen Übertra- C = 23 31 16 0 17 19 gungszeit abweicht. (Gemeint ist die 12 20 11 17 0 14 Übertragungszeit, bis man wieder 19 30 9 19 14 0 am Anfang von P1 ist.) Lösung: Gesucht ist also eine Abarbeitungsreihenfolge der Programme, die möglichst wenig Übertragungszeit beansprucht, also ein TSP. Lösung z.B. mittels Christofides-Heuristik. D.h. suche einen MST, hier P1 P2 , P1 P5 , P5 P3 , P3 P4 und P3 P6 . Dabei haben P2 , P3 , P4 und P6 ungeraden Knotengrad. Suche Minimum Matching im durch diese vier Knoten induzierten Teilgraphen: P2 P4 , P3 P6 . Erzeuge eine Eulertour: P1 − P2 − P4 − P3 − P6 − P3 − P5 − P1 . Streiche schon besuchte Knoten: P1 − P2 − P4 − P3 − P6 − P5 − P1 . Übertragungszeit: 100. 2. (3 Punkte) Zeige dass der Petersen Graph nicht Hamiltonsch ist. B g a b G A k f l F H e m o J I c i j E C h n d D Lösung: Sei E die Kantenmenge des Peterson Graphen, C die Kantenmenge eines zweiregulärer Teilgraphen (alle Komponenten sind Kreise, alle Knoten überdeckt) und M := E \ C. Dann ist M ein Matching aus fünf Kanten. E besteht aus den fünf Kanten des äußeren Kreises (Menge A), den fünf Kanten des inneren überschlagenen Kreises (Menge I) und den fünf Speichen (Menge S). Durchläuft man einen Kreis C in eine Richtung, wechselt man von A nach I genausooft wie von I nach A, benutzt also keine, 2 oder 4 Speichen. Ist M = S, so besteht C aus zwei Kreisen der Länge 5. Sonst enthält M entweder genau drei oder genau eine Speiche. Ein Matching, welches genau drei Speichen und noch eine weitere Kante (sagen wir uv) enthält, hat die Eigenschaft, dass uv die Speichen uu0 und vv 0 ausserhalb des Matchings enthält. Da E die Kante u0 v 0 jedoch nicht enthält, enthält ein solches Matching genau vier Kanten. Also enthält sonst M genau eine Speiche uu0 . Damit enthält es von I und A jeweils zwei der drei u und u0 vermeidenden Kanten, welche einen Weg bilden, also genau die beiden äußeren des Weges. E \ M besteht dann aus zwei Kreisen der Länge 5. Damit ist gezeigt: Jeder zweireguläre Teilgraph des Peterson Graphen besteht aus zwei disjunkten Kreisen der Länge 5. Korollar: Der Peterson Graph ist nicht hamiltonsch! 3. (3 Punkte) Sei (cij ) eine symmetrische Kostenmatrix für das TSP, cij ≥ 0, welche die Dreiecksungleichung cik ≤ cij + cjk erfüllt. Starte mit einer beliebigen Ecke v und schreibe C1 = {v}. Sei der Kreis Ck = {u1 , . . . , uk } schon konstruiert. Bestimme u ∈ / Ck mit minimalem Abstand zu Ck (innerhalb dieser wähle einen, dessen kürzester Weg minimale Kantenanzahl hat) und füge u vor einem entsprechenden Knoten mit kürzestem Abstand ein. Zeige, dass für die so konstruierte Tour c(T ) ≤ 2c(Topt ) gilt. Lösung: Wegen cij ≥ 0 liegt zwischem dem Knoten mit kürzestem Abstand und dem entsprechendem Knoten am Kreis genau eine Kante mit diesem Abstand. Der Algorithmus konstruiert daher einen MST und schreibt diesen Baum in umgekehrter Depth-First-Search Ordnung (Ordnung bei Start vom Anfangsknoten) auf. Diese Ordnung entsteht gerade bei der MST-Heuristik, also folgt das Ergebnis aus Satz 11.5. 4. (3 Punkte) Löse das Wägeproblem, wenn bekannt ist, dass die falsche Münze schwerer ist. Lösung: Jeweils dritteln. Dann ist für jede Antwort bekannt, in welchem Drittel die schwerere Münze ist; setze rekursiv fort. ⇒ Länge ist dlog3 ne (Gedanken zum Beweis für Gleichheit machen). 5. (4 Punkte) Zeige, dass es für n, q (q ≥ 2) genau dann einen vollständigen (n, q)-Baum gibt, wenn q − 1 ein Teiler von n − 1 ist. Lösung: Induktion: Richtig für n = 1 und n = q. Sei n > q und T vollständig, dann gibt es einen inneren Knoten mit q Blättern; schrumpfe diesen zu einem Blatt → T 0 ∈ T (n − q + 1, q) vollständig und nach I.V. (q − 1)|(n − q), also (q − 1)|(n − 1). Ist andererseits n−1 durch q −1 teilbar (n−1 = k(q −1)), konstruiere einen Baum durch Anhängen von q neuen Blättern an ein bereits existierendes Blatt. Es entstehen in jedem Schritt q − 1 neue Blätter, in jedem Schritt ist er Baum vollständig. Nach k Schritten haben wir einen vollständigen (n, q)-Baum. 6. (4 Punkte) Zeige, dass jede Permutation a1 , a2 , . . . , an der Zahlen 1, . . . , n durch sukzessive Vertauschung benachbarter Elemente auf die Form 1, . . . , n gebracht werden kann. Beispiel: 3124 → 1324 → 1234. Was ist die minimale Anzahl von Vertauschungen? Lösung: Jede Zahl muss mindestens mit allen Zahlen vertauscht werden, die größer sind als sie selbst und kleineren Index haben. Ein Algorithmus, der dieses erreicht, ist: Bringe in Iteration i das Element mit Wert i durch Vertauschung nach vorn auf Stelle i. Für i = 1, . . . , n sei bi die Anzahl der Zahlen > i, deren Index in der Anfangsreihenfolge kleinerPals der der Zahl i ist, dann ist die minimale Anzahl der Vertauschungen ni=1 bi .