ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Prof. Dr. Emo Welzl HS 2015 Lösungsvorschlag zu Übungsblatt 3 Diskrete Mathematik (D-ITET) Aufgabe 1 Der Petersengraph P kann wie unten abgebildet gezeichnet werden. {2,3} {1,4} {4,5} {1,5} {1,3} {2,4} {3,5} {2,5} {1,2} {3,4} Ein Kreis in P der Länge l ist eine Folge ({a1 , b1 }, {a2 , b2 }, . . . , {al , bl }) paarweise verschiedener Zweiermengen mit {ai , bi } ∩ {ai+1 , bi+1 } = ∅ für alle i = 1, 2, . . . , l − 1 und {al , bl } ∩ {a1 , b1 } = ∅. Angenommen, es gäbe einen Kreis der Länge 3 in P , dieser hat die Form ({a, b}, {c, d}, S), wobei a, b, c, d paarweise verschieden sind und S eine zweielementige Teilmenge von M . Nun folgt aus {c, d} ∩ S = ∅, dass S ⊆ {a, b, e}, und aus S ∩ {a, b} = ∅, dass S ⊆ {c, d, e}. Insgesamt gilt also S ⊆ {e}, offenbar ein Widerspruch. Angenommen, es gäbe einen Kreis der Länge 4 in P , dieser hat o.B.d.A. die Form ({a, b}, {c, d}, {a, e}, S), wobei a, b, c, d, e paarweise verschieden sind und S eine zweielementige Teilmenge von M . Nun folgt aus {a, e} ∩ S = ∅, dass S ⊆ {b, c, d}. Wegen S 6= {c, d} gilt demnach b ∈ S, im Widerspruch zu S ∩ {a, b} = ∅. Offenbar gibt es aber viele Kreise der Länge 5 in P (siehe Abbildung). Aufgabe 2 Wir nehmen an, es gäbe zwei knotendisjunkte längste Pfade P1 und P2 , und führen diese Annahme zum Widerspruch. Seien v1 bzw. v2 zwei beliebige Knoten auf P1 bzw. P2 . Da der Graph zusammenhängend ist, gibt es einen Pfad Q von v1 nach v2 . Durchlaufen wir Q beginnend von v1 , so gibt es einen letzten Knoten w1 in Q, der auch auf P1 liegt, und nach w1 einen ersten Knoten w2 in Q, der auch auf P2 liegt (es gibt einen solchen letzten und ersten Knoten, da Q mit einem Knoten auf P1 startet und bei einem Knoten auf P2 endet, und P1 und P2 nach Voraussetzung knotendisjunkt sind). Mit dieser Wahl stellen wir sicher, dass die Knoten zwischen w1 und w2 weder auf P1 noch auf P2 liegen. Sei Q0 der Teilpfad von Q, der w1 mit w2 verbindet. Dies ist ein Pfad der Länge mindestens 1, der bis auf Start- und Endpunkt knotendisjunkt zu P1 und P2 ist. Nun betrachten wir wieder P1 . Der Knoten w1 zerlegt P1 in zwei Teilpfade. Sei H1 der längere der beiden Teilpfade (sind beide Teilpfade gleich lang, so sei H1 ein beliebiger der beiden Teilpfade). Analog sei H2 der längere der beiden Teilpfade, in die P2 zerfällt, wenn man w2 entfernt. 1 Dann ist der Weg, der aus den Teilwegen H1 , Q0 und H2 besteht, sogar ein Pfad, weil alle drei Teilpfade knotendisjunkt sind. Da ausserdem H1 und H2 beide mindestens halb so lang wie ein längster Pfad sind, und Q0 eine Länge von mindestens 1 hat, ist der so konstruierte Pfad echt länger als ein längster Pfad, was ein Widerspruch ist. Dies beweist die Behauptung. H1 . . . −→ −→ . . . w1 ↓ .. . Q0 ↓ . . . −→ w2 −→ . . . H2 Anmerkung: Wir haben gezeigt, dass je zwei längste Pfade einen gemeinsamen Punkt haben müssen. Das heisst aber nicht, dass alle längsten Pfade durch einen gemeinsamen Punkt gehen. Zum Beispiel gibt es im unten abgebildeten Graphen 9 verschiedene längste Pfade (jeweils der Länge 9), die sich alle durch Spiegelung und Drehung aus den zwei gestrichelt markierten längsten Pfaden ergeben. Man sieht aber leicht, dass es für jeden Knoten des Graphen einen längsten Pfad gibt, der diesen Knoten nicht besucht. Aufgabe 3 Beide Implikationen sind falsch. Im folgenden Graphen ist Knoten 2 ein Gegenbeispiel für die Implikation “(i) =⇒ (ii)”, während die Implikation “(ii) =⇒ (i)” von Knoten 1 widerlegt wird: 3 1 2 4 Aufgabe 4 Wenn x, y, z ∈ V ein Dreieck bilden, dann kann es keinen von x, y, z verschiedenen gemeinsamen Nachbarn von x, y, z geben, weil die vier Knoten sonst einen K4 bilden würden. Deswegen ist Γ(x) ∩ Γ(y) ∩ Γ(z) = ∅ (denn auch x, y, z selbst sind nicht im Schnitt enthalten). Nun verwenden wir vollständige Induktion. Für n ∈ {1, 2, 3} gilt |E| ≤ n2 ≤ 13 n2 , wobei man die zweite Ungleichung in allen drei Fällen für den konkreten Wert von n nachprüft. Sei daher n > 3. Wir unterscheiden zwei Fälle. Entweder G enthält kein Dreieck. In diesem Fall wurde in der Vorlesung gezeigt, dass sogar |E| ≤ 14 n2 gilt, woraus die Behauptung folgt. Im zweiten Fall enthält G drei Knoten x, y, z, die ein Dreieck bilden. Nach der Hilfsaussage ist jeder weitere Knoten v ∈ V dann zu höchstens zwei der Knoten x, y, z benachbart. Also gibt es höchstens 2(n − 3) Kanten 2 von den n − 3 Knoten in V \ {x, y, z} zu {x, y, z}. Entfernen wir die Knoten x, y, z also aus G, so müssen wir dabei höchstens 3 + 2(n − 3) Kanten löschen. Wir erhalten einen Graph G0 = (V 0 , E 0 ) mit n−3 Knoten, der natürlich auch keinen K4 enthält. Also hat G0 nach Induktionsvoraussetzung höchstens 31 (n − 3)2 Kanten. Für G folgt nun |E| ≤ |E 0 | + 3 + 2(n − 3) ≤ 1 1 (n − 3)2 + 2n − 3 = n2 , 3 3 was zu beweisen war. Aufgabe 5 Wie im Skript beschrieben, besteht die Knotenmenge von Qd aus allen Bitfolgen der Länge d; ausserdem sind zwei Knoten genau dann durch eine Kante verbunden, wenn sich ihre Folgen an genau einer Stelle unterscheiden. Vorbemerkung: Man kann den Zusammenhang von Qd zerstören, indem man d Knoten entfernt, nämlich alle Nachbarn eines ausgewählten Knotens. Also ist Qd nicht d + 1-zusammenhängend. Es gibt (mindestens) zwei Wege, zu beweisen, dass ein Graph d-zusammenhängend ist. Entweder arbeitet man direkt mit der Definition, oder man benutzt den Satz von Menger. Wir illustrieren im Folgenden beide Alternativen. Direkter Beweis Wir beweisen mit Induktion über d, dass das Entfernen einer Menge von d − 1 Knoten den Zusammenhang von Qd nicht zerstört. Für d = 2 stimmt die Aussage offensichtlich (entfernt man einen Knoten aus Q2 = C4 , so ist der verbleibende Graph immer noch zusammenhängend). Wir nehmen nun die Gültigkeit der Aussage für ein festes d ≥ 2 an, und zeigen, dass sie dann auch für d + 1 stimmt. Sei X ⊆ V (Qd+1 ) eine Menge von d Knoten, und sei k eine Stelle, an der nicht alle Bitfolgen von Knoten in X gleich sind. Wir betrachten jetzt die beiden Teilgraphen H0 und H1 von Qd+1 , die durch alle Knoten induziert werden, deren k-tes Bit eine 0 bzw. eine 1 ist. Sowohl H0 als auch H1 sind offenbar Kopien von Qd . Ausserdem verlaufen genau 2d Kanten zwischen den beiden Teilgraphen H0 und H1 ; alle Endknoten dieser Kanten sind verschieden. Es seien X0 und X1 die Knoten der Menge X in den beiden Teilgraphen H0 bzw. H1 . Nach Wahl der Koordinate k sind die Mengen X0 und X1 beide nichtleer. Da sie zusammen genau d Knoten enthalten, enthält jede höchstens d − 1 Knoten. Nach Induktionsvoraussetzung ist also, wenn man aus H0 alle Knoten der Menge X0 entfernt, der verbleibende Graph noch zusammenhängend. Gleiches gilt für den Graphen, der verbleibt, wenn man aus H1 alle Knoten der Menge X1 entfernt. Wir müssen nun noch zeigen, dass wenigstens eine Kante verbleibt, auf der man zwischen den beiden Hälften “hin- und herspringen” kann. Dies folgt aber leicht, da von den 2d Kanten zwischen den beiden Teilgraphen H0 und H1 höchstens d viele zerstört werden und sicher 2d > d gilt. Beweis mit Menger Um zu zeigen, dass Qd d-zusammenhängend ist, genügt es nach dem Satz von Menger, zwischen je zwei verschiedenen Knoten d intern knotendisjunkte Pfade zu finden. Seien daher x = (x1 , . . . , xd ) und y = (y1 , . . . , yd ) zwei beliebige Bitfolgen der Länge d, die sich in genau k ∈ {1, . . . , d} Bits unterscheiden. Wir können ohne Einschränkung annehmen, dass die ersten k Bits verschieden sind, während die letzten d − k Bits gleich sind. Darüber hinaus können wir ohne Einschränkung annehmen, dass x = (0, . . . , 0) und y = (1, . . . , 1, 0, . . . , 0) ist. | {z } | {z } k d−k Nun definieren wir d Pfade P1 bis Pd zwischen x und y. Für i ≤ k definieren wir einen Pfad Pi der Länge k wie folgt: • Wir starten in x. 3 • Im s-ten Schritt (1 ≤ s ≤ k) ändern wir das (i + s)-te Bit von 0 auf 1, falls i + s ≤ k ist; andernfalls ändern wir das (i + s − k)-te Bit. Im Vorgriff auf spätere Teile der Vorlesungen kann man äquivalent sagen: “Wir ändern das Bit mit Index (i + s mod k).” Es ist offensichtlich, dass Pi ein Pfad von x nach y ist, da jedes Bit von 1 bis k in genau einem Schritt von 0 auf 1 gesetzt wird. Als nächstes zeigen wir, dass die Pfade knotendisjunkt sind. Dazu stellen wir fest, dass nach dem s-ten Schritt genau s Bits auf 1 gesetzt sind. Gäbe es in zwei Pfaden Pi und Pj zwei gleiche interne Knoten x1 und x2 , so müssten diese natürlich insbesondere in der Zahl der 1-Bits übereinstimmen. Also würden die Knoten nach gleich vielen Schritten s ∈ {1, . . . k − 1} erreicht. Wieder ohne Einschränkungen nehmen wir an, dass i > j. In x1 ist das i-te Bit ein 1-Bit. Damit es auch in x2 ein 1-Bit ist, müssen nach Konstruktion von x2 alle Bits zwischen j und i ebenfalls auf 1 gesetzt worden sein. Umgekehrt ist in x2 das j-te Bit ein 1-Bit. Damit es auch in x1 ein 1-Bit ist, müssen alle Bits mit Index > j oder < i ebenfalls auf 1 gesetzt worden sein. Insgesamt müssen damit alle Bits in x1 und x2 auf 1 gesetzt sein, was ein Widerspruch zu s ≤ k −1 ist. Nun definieren wir die weiteren Pfade Pi , k + 1 ≤ i ≤ d wie folgt: • Wir starten in x. • Im ersten Schritt ändern wir das i-te Bit auf 1. • In den nächsten k Schritten ändern wir die Bits 1, . . . , k nacheinander von 0 auf 1. • Im letzten Schritt ändern wir das i-te Bit zurück auf 0. Wieder ist offensichtlich, dass alle Pi Pfade von x nach y sind. Weiter gilt, dass in alle internen Knoten des Pfades i das i-te Bit auf 1 gesetzt ist. Dagegen ist das i-te Bit jedes Knoten in jedem anderen Pfad (egal ob vom ersten oder vom zweiten Typ) auf 0 gesetzt. Also hat keiner der Pfade Pi einen gemeinsamen internen Knoten mit irgendeinem anderen Pfad. Damit haben wir bewiesen, dass es zwischen je zwei Knoten d intern knotendisjunkte Pfade gibt. Nach dem Satz von Menger ist der Graph damit d-zusammenhängend. Aufgabe 6 Zunächst überlegt man sich, dass Satz 2.26 (Charakterisierung von eulerschen Graphen) auch für zusammenhängende Multi graphen gilt. Wir lassen den Beweis hier aus, da sich der Beweis aus dem Skript fast unverändert auf Multigraphen überträgt. Wir betrachten den vollständigen Graphen mit den sechs Knoten 1, 2, . . . , 6. Zusätzlich fügen wir eine Schleife an jeden Knoten an. Jede Kante dieses Graphen steht für einen der 21 Dominosteine (Die Schleifen stehen für die Steine, welche zweimal die gleiche Augenzahl aufweisen). Jede Anordnung der Dominosteine, welche die verlangte Bedingung erfüllt, entspricht einem Eulerspaziergang in diesem Graphen. Ein Eulerspaziergang ist ein Weg, der jede Kante des Graphen genau einmal enthält, dessen Anfangs- und Endpunkt aber nicht notwendigerweise identisch sind (bei einer Eulertour sind Anfangs- und Endpunkt identisch). Wir zeigen folgende Hilfsaussage (obwohl für die Lösung der Aufgabe nur die schwächere Schlussrichtung erforderlich wäre): Lemma 1. In einem zusammenhängenden (Multi-)graphen G existiert genau dann ein Eulerspaziergang, wenn höchstens zwei Knoten in G ungeraden Grad haben. Bevor wir das Lemma beweisen, stellen wir fest, dass in unserem Graphen alle Knoten Grad 7 haben (die Schleifen zählen doppelt), eine ungerade Zahl. Also enthält unser Graph keinen Eulerspaziergang. Es fehlt also nur noch der Beweis des Lemmas. Beweis von Lemma 1. Falls ein Eulerspaziergang existiert, so hat jeder Knoten ausser eventuell dem Start- und Endknoten geraden Grad, denn in jeden anderen Knoten geht man genauso oft “hinein” wie “heraus”. Nehmen wir also für die andere Richtung an, dass es höchstens zwei Knoten mit ungeradem Grad gibt. “Höchstens zwei” bedeutet, dass es entweder gar keine oder genau zwei 4 Knoten mit ungeradem Grad gibt, da die Zahl der Knoten mit ungeradem Grad nach Korollar 2.6 gerade ist. Im ersten Fall (keine Knoten mit ungeradem Grad) gibt es nach Satz 2.26 sogar eine Eulertour. Im zweiten Fall gibt es genau zwei Knoten u und v mit ungeradem Grad. Fügen wir die Kante e = {u, v} also zu G hinzu, so erhalten wir einen (Multi-)graphen (e könnte doppelt vorkommen), in dem alle Grade gerade sinde. Daher besitzt der (Multi-)graph G + e nach Satz 2.26 eine Eulertour, welche wir ohne Einschränkung mit der hinzugefügten Kante e starten lassen können. Lassen wir diese Kante nun weg, so erhalten wir gerade einen Eulerspaziergang in G. Aufgabe 7 Nehmen wir zwecks Widerspruch an, es gäbe einen Hamiltonkreis. Dann können wir die dazugehörigen Kanten wie folgt aufmalen. v10 v1 v9 v2 v3 v8 v7 v4 v6 v5 Da der Graph 3-regulär ist, müsste von jedem Knoten noch genau eine Kante ausgehen (ein sogenanntes “perfektes Matching”, welche wir später in der Vorlesung noch genauer studieren werden). Die Kante, die von v1 ausgeht, kann nicht zu v2 oder v10 gehen, da diese Kanten schon vorhanden sind. Sie kann auch nicht zu v3 , v4 , v8 oder v9 gehen, da dies jeweils Kreise der Länge 3 oder 4 schliessen würde. Nehmen wir an, sie ginge zu v5 . Dann kann die von v10 ausgehende Kanten nicht mehr zu v5 gehen, weil dieser Knoten ja nur Grad 3 hat. Sie kann auch nach derselben Begründung wie oben nicht zu v1 , v2 , v3 , v7 , v8 oder v9 gehen. Schliesslich kann sie auch nicht zu v4 oder v6 gehen, weil das ebenfalls einen Kreis der Länge 4 schliessen würde: v10 v1 v9 v10 v2 v8 v1 v9 v2 v3 v8 v7 v4 v6 v3 v7 v5 v4 v6 v5 Wir haben also gesehen, dass die von v1 ausgehende Kanten nicht zu v5 gehen kann, weil es sonst keine Möglichkeit gibt, den Knoten v10 zu verbinden. Aus Symmetriegründen kann v1 auch nicht zu v7 benachbart sein. Also verbleibt als einzige Möglichkeit, dass v1 mit v6 verbunden ist, dem im Hamiltonkreis “gegenüberliegenden” Knoten. Wiederum aus Symmetriegründen muss dasselbe auch für alle anderen Knoten gelten, insbesondere muss v10 mit v5 verbunden sein. Dies schliesst aber wieder einen Kreis der Länge 4: 5 v10 v1 v9 v2 v8 v3 v7 v4 v6 v5 Wir haben also gezeigt, dass wir in allen Fällen Kreise der Länge 3 oder 4 erhalten. Da es keine solchen Kreise in G gibt, muss unsere Annahme falsch gewesen sein, dass es einen Hamiltonkreis in G gibt. Also ist G nicht hamiltonsch. In Aufgabe 1 haben wir gesehen, dass der Petersen-Graph ein 3-regulärer Graph mit 10 Knoten ist, der keine Kreise der Länge 3 oder 4 enthält. Also ist der Petersen-Graph nicht hamiltonsch. Aufgabe 8 (a) Wir interpretieren die Städte und Strassen als die Knoten und Kanten eines Graphen G = (V, E). Dann ist G zusammenhängend, und jeder Knoten hat geraden Grad, also verfügt G über eine Eulertour. Wir starten in einem beliebigen Knoten v0 und laufen die Eulertour ab. Beim Verlassen eines Knotens v durch eine Kante e entscheiden wir wie folgt, ob wir e säubern. Wenn von v vor dem Verlassen eine gerade Zahl von sauberen Kanten ausgehen, dann säubern wir e, bei einer ungeraden Zahl säubern wir e nicht. Auf diese Weise gehen von jedem Knoten beim Verlassen eine ungerade Zahl an sauberen Kanten aus. Wenn wir die Eulertour beendet haben, dann gehen von jedem Knoten v 6= v0 eine ungerade Zahl von sauberen Kanten ab, denn nach dem letzten Besuch von v war die Zahl ungerade. Für v0 funktioniert dieses Argument nicht. Wir zeigen daher auf andere Weise, dass von v0 eine ungerade Zahl von sauberen Kanten ausgeht. Für jeden Knoten v sei s(v) die Zahl der von vPausgehenden sauberen Kanten, und es sei S die Gesamtzahl der sauberen Kanten. Dann ist v∈V s(v) = 2S, denn auf der linken Seiten zählen wir jede saubere Kanten genau zweimal. Nun wissen wir für alle 199PKnoten in V \ {v0 } schon, das s(v) ungerade ist. Wäre s(v0 ) gerade, so wäre die Summe v∈V s(v) insgesamt ungerade und könnte nicht mit der rechten Seite übereinstimmen. Also ist s(v0 ) ebenfalls ungerade. (b) Wir nehmen an, es gäbe eine Lösung. Wie in (a) bezeichnen wir dann mit s(v) die Anzahl der P von v ausgehenden sauberen Strassen. Es gilt dann v∈V s(v) = 2S. Nach Voraussetzung ist jedes s(v) ungerade Bei der linken Seite der Gleichung handelt es sich also um eine ungerade Anzahl ungerader Zahlen; damit ist die gesamte linke Seite ungerade. Dagegen ist die rechte Seite gerade. Wir haben also eine Widerspruch, womit unsere Annahme, es gäbe eine Lösung, falsch gewesen sein muss. Zur Anmerkung: Man kann die Aussage in der Anmerkung wie folgt aus (a) herleiten. Wie in Aufgabe 6 verwenden wir, dass Satz 2.26 (Charakterisierung von eulerschen Graphen) auch für zusammenhängende Multi graphen gilt. Wie in (a) identifizieren wir Städte und Strassen als die Knoten und Kanten eines Graphen G = (V, E). Nun betrachten wir den Multigraphen G0 = (V, E 0 ), der entsteht, wenn wir jede Kante in G verdoppeln. In diesem ist offenbar jeder Grad gerade, wir können also eine Eulertour in G0 betrachten. Mit derselben Konstruktion wie in (a) säubern wir einige der Kanten in G0 , sodass am Ende von jedem Knoten in G0 eine ungerade Anzahl Kanten ausgeht. Nun legen wir wie folgt fest, welche Kanten des ursprünglichen Graphen G wir säubern wollen. 6 Einer Kante e von G entsprechen zwei Kanten e1 und e2 in G0 . Wir säubern e falls genau eine der beiden Kanten e1 und e2 sauber ist. (Beachten Sie, dass wir e also nicht säubern, wenn sowohl e1 als auch e2 sauber sind.) Auf diese Weise ist sichergestellt, dass auch in G von jedem Knoten eine ungerade Anzahl sauberer Kanten ausgehen. Damit ist die Behauptung bewiesen. 7