Lösung - Cadmo

Werbung
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
Herunterladen