Lösungen zu Kapitel 5

Werbung
Lösungen zu Kapitel 5
Lösung zu Aufgabe 1:
(a) Es gibt 11 derartige Graphen:
(b) Offensichtlich besitzen 10 der Graphen einen solchen Teilgraphen.
Lösung zu Aufgabe 2: Es sei G = (V, E) zusammenhängend und V = V1 ∪ V2 ,
V1 ∩ V2 = ∅ sowie V1 6= ∅ 6= V2 . Wir wählen beliebige Elemente u ∈ V1 und
u 0 ∈ V2 . Da G zusammenhängend ist, existiert nach Definition 5.8(a) ein Weg P =
(u = u 1 , u 2 , . . . , u k+1 = u 0 ) in G. Es sei i ∈ {2, . . . , k + 1} der kleinste Index i mit
u i ∈ V2 . Dann folgt {u i−1 , u i } ∈ E mit u i−1 ∈ V1 , u i ∈ V2 .
Für die umgekehrte Beweisrichtung wählen wir zwei Elemente v1 , v2 ∈ E, v1 6= v2 .
Zu zeigen ist, dass ein Weg von v1 nach v2 in G existiert. Wir betrachten zunächst
Mengen V1 ⊆ V mit folgender Eigenschaft:
v1 ∈ V1 , und für alle u ∈ V1 existiert ein Weg von v1 nach u.
{v1 } ist eine solche Menge. Ist V1 6= V , so setzen wir V2 = V \V1 . Nach Voraussetzung
existieren u 0 ∈ V1 , u 00 ∈ V2 mit {u 0 , u 00 } ∈ E. Damit gibt es auch einen Weg von v1 über
u 0 nach u 00 . Die Menge V1 ∪ {u 00 } erfüllt daher dieselbe Eigenschaft wie V1 , ist jedoch
um ein Element größer.
Von M1 = {v1 } ausgehend erhalten wir durch diese Konstruktion eine endliche Folge
von Mengen Mi mit
M1
M2
M3
...
1
M|V | = V,
2
Lösungen zu Kapitel 5
die jeweils die obige Eigenschaft erfüllen. Folglich existiert ein Weg von v 1 nach v2 .
Lösung zu Aufgabe 3: Der Isomorphismus wird durch die folgende Zuordnung ge-
geben:
1
f
2
b
3
h
4
a
5
e
6
d
7
g
8
c
Lösung zu Aufgabe 4:
(a) Nach der Definition gilt für einen Graphen G = (V, E) und sein Komplement
Ḡ = (V, Ē)
{v1 , v2 } ∈ E ⇐⇒ {v1 , v2 } 6∈ Ē.
Nach Definition 5.4 gilt für die isomorphen Graphen G 1 und G 2 :
{v1 , v2 } ∈ E 1 ⇐⇒ {π(v1 ), π(v2 )} ∈ E 2 .
Unter Verwendung der beiden Äquivalenzen erhalten wir
{v1 , v2 } ∈ Ē 1 ⇐⇒ {v1 , v2 } 6∈ E 1 ⇐⇒ {π(v1 ), π(v2 )} 6∈ E 2
⇐⇒ {π(v1 ), π(v2 )} ∈ Ē 2 ,
so dass Ḡ 1 und Ḡ 2 isomorph sind.
(b) Damit ein Graph G = (V.E) zu seinem eigenen Komplement isomorph sein
kann, muss |E| = 12 · |{{v1 , v2 } | v1 , v2 ∈ V, v1 6= v2 }| gelten (die Hälfte der
Kanten des vollständigen Graphen K |V | mit |V | Knoten).
Da K 3 3 Kanten enthält, gibt es keinen Graphen mit 3 Knoten, der zu seinem
Komplement isomorh ist.
Der K 4 enthält 6 Kanten. Folglich muss ein gesuchter Graph G mit 4 Knoten 3
Kanten besitzen. Würden die drei Kanten einen einfachen Kreis bilden, so gäbe
es noch einen isolierten Punkt. Man überzeugt sich sofort, dass der Komplementgraph dazu nicht isomorph ist. Als verbleibenden Fall erhalten wir
Der durch die durchgezogenen Kanten gegebene Graph G ist isomorph zu seinem
Komplement Ḡ, dessen Kanten gestrichelt gezeichnet sind.
Der K 5 enthält 10 Kanten. Folglich muss ein gesuchter Graph mit 5 Knoten 5
Kanten besitzen. Das geht nur, wenn er einen einfachen Kreis besitzt. Wir erhalten die folgenden möglichen Fälle:
Lösungen zu Kapitel 5
3
Der obere Kreis mit 5 Kanten ist offenbar zu seinem Komplement isomorph. Im
linken Diagramm ist das Komplement des Graphen mit durchgezogenen Kanten
der (bis auf Isomorphie eindeutige) Graph (gestrichelte Kanten), der einen Kreis
aus 4 Kanten besitzt. Der Graph und sein Komplement sind hier also nicht isomorph. Folglich muss nur noch das rechte Diagramm betrachtet werden. Darin
ist offenbar wieder der durchgezogen gezeichnete Graph zu seinem Komplement
isomorph.
Lösung zu Aufgabe 5: Die Adjazenzlistendarstellung des Graphen ist:
1
2
3
4
5
6
7
8
9
−→
−→
−→
−→
−→
−→
−→
2
3
4 −→ 9
7
4 −→ 6
7
8
−→ 8
Mit Algorithmus 5.2 erhalten wir vor Eintritt in die while-Schleife die Innengrade
(d − (1), . . . , d − (9)) = (0, 1, 1, 2, 0, 1, 2, 2, 1)
sowie die Schlange U
1 ← 5.
In der folgenden Tabelle notieren wir für jeden Schleifendurchlauf i den Knoten v mit
ord(v) = i sowie die Werte, die nach Beendigung dieses Durchlaufs zum Vektor der
4
Lösungen zu Kapitel 5
(verbleibenden) Innengrade und zur Schlange U gehören:
i v mit ord(v) = i
1
1
2
5
3
2
4
6
5
3
6
4
7
9
8
7
9
8
(d − (1), . . . , d − (9))
(0, 0, 1, 2, 0, 1, 2, 2, 1)
(0, 0, 1, 1, 0, 0, 2, 2, 1)
(0, 0, 0, 1, 0, 0, 2, 2, 1)
(0, 0, 0, 1, 0, 0, 1, 2, 1)
(0, 0, 0, 0, 0, 0, 1, 2, 0)
(0, 0, 0, 0, 0, 0, 0, 2, 0)
(0, 0, 0, 0, 0, 0, 0, 1, 0)
(0, 0, 0, 0, 0, 0, 0, 0, 0)
(0, 0, 0, 0, 0, 0, 0, 0, 0)
U
5←2
2←6
6←3
3
4←9
9←7
7
8
∅
Da allen Knoten v ∈ V bijektiv eine Zahl von 1 bis |V | zugewiesen wurde, haben wir
eine toplogische Ordnung gefunden.
Lösung zu Aufgabe 6: Jeder elementare Kreis ist auch ein einfacher Kreis.
Wir gehen umgekehrt von einem einfachen Kreis K = (v1 , . . . , vk+1 ) aus (k ≥ 2 für
einen gerichteten und k ≥ 3 für einen ungerichteten Graphen). Dann existiert ein Paar
(i, j ), 1 ≤ i < j ≤ k + 1, vi = v j mit j − i minimal. Dann ist K 0 = (vi . . . , v j ) ein
elementarer Kreis.
Lösung zu Aufgabe 7: Wir nehmen zunächst an, dass v1 , v2 in verschiedenen Zusammenhangskomponenten (Teilbäumen) von F liegen, etwa T1 und T2 mit n 1 bzw.
n 2 Knoten. Nach Satz 5.7(d) besitzen T1 und T2 n 1 − 1 bzw. n 2 − 1 Kanten. Bei
Hinzunahme von {v1 , v2 } erhalten wir eine neue Zusammenhangskomponente mit
(n 1 − 1) + (n 2 − 1) + 1 Kanten, die wegen Satz 5.7(d) ein Teilbaum von G ist. Eventuell
vorhandene andere Teilbäume von F bleiben unverändert. Folglich ist G ein Wald.
Liegen v1 und v2 in demselben Teilbaum T von F, so liefert die Hinzunahme von
{v1 , v2 } nach Satz 5.7(f) einen Graphen mit genau einem einfachen Kreis. Somit ist G
kein Wald.
Lösung zu Aufgabe 8: Es sei T = (V, E) ein Baum und v ∈ V ein beliebiger
Knoten. Wir setzen
X := {u ∈ V | v mit u durch einfachen Weg gerader Länge verbunden},
Y := {u ∈ V | v mit u durch einfachen Weg ungerader Länge verbunden}.
Nach Satz 5.7(b) sind zwei Knoten v, u ∈ V durch genau einen einfachen Weg in T
verbunden. Daher folgt
X ∩ Y = ∅, X ∪ Y = V,
und für {v1 , v2 } ∈ E können nicht beide Knoten in X oder beide in Y liegen. Nach
Definition 5.5(a) ist T ein bipartiter Graph.
Lösungen zu Kapitel 5
5
Lösung zu Aufgabe 9:
∗
+
/
+
a
−
d
c
/
−
∗
c
d
a
/
b
b
a
f
Polnische Notation:
ad + cd − /ab − c/b f ∗ a/ + ∗.
Umgekehrte polnische Notation:
∗/ + ad − cd + / − abc/ ∗ b f a.
Lösung zu Aufgabe 10: Es sind zwei Fälle zu unterscheiden:
(a) Falls x einen rechten Sohn besitzt, ist der Nachfolger das Minimum im vom rechten Sohn aufgespannten Teilbaum.
(b) Wenn x keinen rechten Sohn besitzt, ist der Nachfolger der nächste Vorgänger
von x, dessen linker Sohn der Knoten x oder ein Vorgänger von x ist. Ist x das
Maximum im Baum, existiert kein solcher Nachfolger.
Eingabe: Knoten x eines binären Suchbaums.
Ausgabe: Knoten y des Suchbaums, der der Nachfolger von x bezüglich der Schlüsselgröße ist.
if
rechter Sohn(x) 6= ⊥
(Fall (a))
then y := rechter Sohn(x);
while linker Sohn(y) 6= ⊥
do y := linker Sohn(y) od
else y := Vater(x);
(Fall (b))
while y 6= ⊥ und x = rechter Sohn(y)
do x := y; y := Vater(y) od
fi
6
Lösungen zu Kapitel 5
Lösung zu Aufgabe 11:
2
c
6
1
3
3
d
2
5
4
5
1
4
b
a
c
b
a
Der linke Graph ist nicht planar, da er den Graphen K 3,3 als Unterteilung (fett gezeichnet) enthält. Dabei entsprechen die Knoten 1 bis 6 den Knoten des K 3,3 . Alle
Knoten des Graphen gehören zur Unterteilung, jedoch nicht die drei dünn gezeichneten
Kanten.
Der rechte Graph ist nicht planar, da er K 5 als Unterteilung besitzt. Dabei entsprechen
die Knoten 1 bis 5 den Knoten des Graphen K 5 , wobei die Kante {1, 5} von K 5 in der
Unterteilung dem Weg (1, a, b, c, 5) entspricht. Alle Knoten und Kanten des gegebenen
Graphen gehören zur Unterteilung.
Lösung zu Aufgabe 12: Das Diagramm von Seite 163 des Buchs wird zu einem
schlichten Graphen umgewandelt, indem in jede der vier parallelen Kanten ein zusätzlicher Knoten (Mitte der jeweiligen Brücke) eingefügt wird. Ein Euler’scher Weg dieses Graphen würde einen Spazierweg bedeuten, der alle sieben Brücken über die Pregel genau einmal überquert. Vier Knoten dieses Graphen haben ungeraden Grad. Nach
Satz 5.19 gibt es daher keinen Euler’schen Weg.
Lösung zu Aufgabe 13: Das linke Diagramm enthält nur Knoten geraden Grads.
Folglich besitzt der zugehörige Graph G nach Satz 5.19 einen Euler’schen Kreis. Nach
dem Beweis des Satzes können wir mit einem beliebigen Knoten v, etwa v = 7, beginnen und dann der Reihe nach jeweils eine beliebige noch nicht betretene Kante
durchlaufen, um schließlich wieder in v zu enden. Dadurch wird ein einfacher Kreis
gefunden, der nicht mehr verlassen werden kann. Wir erhalten beispielsweise
(7, 8, 5, 7).
Für den verbleibenden Graphen G 0 (ohne isolierte Punkte), der in diesem Fall aus nur
einer Zusammenhangskomponente besteht, wiederholen wir das Verfahren. Wir bekommen etwa den Euler’schen Kreis
(1, 2, 3, 4, 6, 10, 9, 6, 3, 8, 9, 2, 5, 1)
von G 0 . Mithilfe des Knotens 5, der zu beiden Kreisen gehört, können wir den Euler’schen Kreis
(1, 2, 3, 4, 6, 10, 9, 6, 3, 8, 9, 2, 5, 7, 8, 5, 1)
Lösungen zu Kapitel 5
7
von G konstruieren. Das Verfahren ist nicht eindeutig, auch die Anzahl der Iterationsschritte hängt von den jeweils gewählten Kanten ab.
Das rechte Diagramm enthält genau zwei Knoten ungeraden Grads, und zwar 2 und
12. Nach Satz 5.19 gibt es keinen Euler’schen Kreis, jedoch einen Euler’schen Weg.
Wird in 2 gestartet und dann der Reihe nach jeweils eine beliebige noch nicht betretene
Kante durchlaufen, so erhalten wir beispielsweise einen einfachen Weg
P = (2, 1, 4, 3, 2, 7, 12, 13, 14, 15, 12),
der in 12 endet und nicht mehr verlassen werden kann. Im verbleibenden Graphen G 1
starten wir in 7 und können unter anderem den einfachen Kreis
K = (7, 5, 8, 11, 9, 6, 8, 10, 7)
bilden, der wieder von 7 ausgehend nicht mehr verlassen werden kann. Der verbleibende Graph G 2 hat jetzt 2 Zusammenhangskomponenten, die aus den Euler’schen Kreisen
K 1 = (5, 10, 13, 8, 3, 5) und K 2 = (11, 14, 9, 4, 6, 11)
bestehen. Unter Verwendung gemeinsamer Knoten in K und K 1 bzw. K 2 erhalten wir
den Euler’schen Kreis
(7, 5, 10, 13, 8, 3, 5, 8, 11, 14, 9, 4, 6, 11, 9, 6, 8, 10, 7)
in G 1 , mithilfe von P dann den Euler’schen Weg
(2, 1, 4, 3, 2, 7, 5, 10, 13, 8, 3, 5, 8, 11, 14, 9, 4, 6, 11, 9, 6, 8, 10, 7, 12,
13, 14, 15, 12)
im gegebenen Graphen.
Lösung zu Aufgabe 14: Es gilt
χ(G a ) = 4, χ(G b ) = 3, χ(G c ) = 2, χ(G d ) = 4, χ(G e ) = 3.
Die entsprechenden Färbungen sind (die Farben durch Zahlen gekennzeichnet) in den
folgenden Diagrammen dargestellt.
8
Lösungen zu Kapitel 5
3
2
4
2
3
1
2
Ga
1
3
1
1
2
2
1
1
2
2
Gb
4
1
Gc
2
1
3
3
1
2
3
2
2
1
2
1
1
4
1
2
1
4
3
2
1
3
2
Gd
3
2
3
3
1
3
1
2
Ge
Wir müssen noch zeigen, dass die Graphen nicht mit weniger Farben als angegeben
gefärbt werden können.
G a ist isomorph dem Graphen K 4 und kann nur mit 4 Farben gefärbt werden, da
jeder Knoten zu jedem anderen adjazent ist.
G b enthält ein Dreieck (elementarer Kreis mit 3 Knoten) und kann daher (siehe Beispiel 5.20) nicht 2-gefärbt werden.
G c : trivial.
G d enthält Dreiecke und kann nicht 2-gefärbt werden. Wir betrachten jetzt den Teilgraphen von G d , der aus den „unteren“ 6 Knoten von G d besteht. Wenn wir den
mit 4 gefärbten Knoten v zunächst außer Acht lassen, dann können die übrigen
Knoten des Teilgraphen bis auf Isomorphie (Umbenennung der Farben) auf genau
eine Weise gefärbt werden (siehe Diagramm). v ist dann adjazent zu 3 Knoten,
die jeweils verschieden gefärbt sind. Folglich kann der Teilgraph und damit G d
nicht 3-gefärbt werden.
G e enthält einen elementaren Kreis mit 5 Knoten und kann daher (siehe Beispiel 5.20) nicht 2-gefärbt werden.
Lösungen zu Kapitel 5
9
Lösung zu Aufgabe 15:
Der dünn gezeichnete Graph ist der geometrische Dualgraph H ∗. Das folgende Diagramm gibt die Landkarte H 0 wieder:
Lösung zu Aufgabe 16: Konstruktion für den Graphen des linken Diagramms (Kon-
struktion nach Satz 5.24):
M-Ergänzungsweg P1 und Matching M1 (dick gezeichnete Linien):
M1 -Ergänzungsweg P2 und Matching M2 (dick gezeichnete Linien):
10
Lösungen zu Kapitel 5
Da kein ungesättigter Punkt existiert, gibt es keinen M2 -Ergänzungsweg. Nach
Satz 5.25 ist M2 maximal.
Konstruktion für den Graphen des rechten Diagramms:
M-Ergänzungsweg P1 und Matching M1 :
M1 -Ergänzungsweg P2 und Matching M2 :
Da nur ein ungesättigter Punkt existiert, gibt es keinen M2 -Ergänzungsweg. Folglich ist
M2 maximal.
Lösungen zu Kapitel 5
11
Lösung zu Aufgabe 17: Als Heiratsproblem können wir das Problem durch den folgenden Graphen darstellen (X = Knoten der Stellen, Y = Knoten der Bewerber):
1
Theoretische Informatik
2
Software Engineering
3
Robotik
4
Informationssysteme
5
Computergraphik
6
Gesucht wird ein Matching M des zugehörigen bipartiten Graphen G, bei dem jeder
Knoten von X M-gesättigt ist.
Nach Satz 5.26 ist das genau dann der Fall, wenn für alle S ⊆ X die Relation
|N(S)| ≥ |S| gilt. Wir erhalten jedoch
N({Theor. Inform., Software Eng., Robotik} = {1, 6},
so dass die Fakultät nicht alle Stellen besetzen kann.
Interessiert sich der zweite Bewerber zusätzlich für die Stelle Software Engineering,
so können die Stellen wie folgt besetzt werden:
1
Theoretische Informatik
2
Software Engineering
3
Robotik
4
Informationssysteme
5
Computergraphik
6
12
Lösungen zu Kapitel 5
Lösung zu Aufgabe 18: Minimale aufspannende Bäume:
Nach Algorithmus 5.6 (Kruskal) werden die Kanten zunächst nach aufsteigendem Gewicht sortiert. Da mehrere Kanten das gleiche Gewicht haben, kann dies auf verschiedene Arten geschehen. Dadurch ergeben sich verschiedene minimale aufspannende Bäume.
Erster Fall (linkes Diagramm):
w({b, c}) ≤ w({d, f }) ≤ w({e, f }) ≤ w({ f, g}) ≤ w({e, g}) ≤ w({c, g}) ≤
w({ f, h}) ≤ w({a, c}) ≤ w({b, d}) ≤ w({b, f }) ≤ w({b, e}) ≤ w({g, h}) ≤
w({a, b}).
Zweiter Fall (rechtes Diagramm):
w({b, c}) ≤ w({d, f }) ≤ w({e, f }) ≤ w({e, g}) ≤ w({c, g}) ≤ w({ f, g}) ≤
w({ f, h}) ≤ w({a, c}) ≤ w({b, d}) ≤ w({b, f }) ≤ w({b, e}) ≤ w({a, b}) ≤
w({g, h}).
h
h
3
f
3
g
2
f
1
g
1
1
d
b
e
1
d
2
c
1
b
e
2
c
1
3
2
3
a
a
Man überlegt sich, dass es keine weiteren minimale aufspannende Bäume gibt.
Maximale aufspannende Bäume:
Wählt man alle Kanten vom Gewicht 5 bis 3, so ergibt sich der Baum
h
3
5
f
d
g
e
4
4
3
c
b
5
3
a
Lösungen zu Kapitel 5
13
Jede Kante eines Gewichts ≤ 2 führt zu einem Kreis, so dass es genau den dargestellten
maximalen aufspannenden Baum gibt.
Lösung zu Aufgabe 19: Tiefensuche mit Graph aus Beispiel 5.27:
Algorithmus 5.7 wird so angewendet, dass die Reihenfolge der Knoten zunächst durch
ihre Bezeichnungen gegeben ist.
1
5
2
3
6
7
4
1
5
2
3
G
6
7
4
W
Die Reihenfolge, in der die Knoten besucht werden, ist 1, 2, 3, 4, 5, 6.
Breitensuche mit Graph aus Beispiel 5.24:
7
11
3
4
8
6
1
2
9
10
G
5
Algorithmus 5.11 wird so angewendet, dass die Reihenfolge der Knoten zunächst durch
ihre Bezeichnungen gegeben ist.
Der Ablauf des Algorithmus kann durch die folgende Tabelle beschrieben werden:
14
Lösungen zu Kapitel 5
i
1
2
3
4
5
6
7
8
v mit t (v) = i
1
2
3
4
5
8
6
7
U
1
2
2←3
2←3←4
2←3←4←5
2←3←4←5←8
3←4←5←8←6
4←5←8←6←7
9
10
11
9
10
11
9
10
10 ← 11
u
1
U \{u}
∅
2
3
4
5
8
6
7
9
3←4←5←8
4←5←8←6
5←8←6←7
8←6←7
6←7
7
∅
∅
11
10
10
∅
Die Reihenfolge, in der die Knoten besucht werden, ist also 1, 2, 3, 4, 5, 8, 6, 7, 9,
10,11.
Der aufspannende Wald W ist durch das folgende Diagramm gegeben.
7
11
3
4
8
6
1
2
5
9
W
10
Herunterladen