Diskrete Mathematik 1 - CITS - Ruhr

Werbung
Ruhr-Universität Bochum
Lehrstuhl für Kryptologie und IT-Sicherheit
Prof. Dr. Alexander May
M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer
Lösungsblatt zur Vorlesung
Diskrete Mathematik 1
WS 2008/09
Blatt 5 / 18. November 2008 / Abgabe bis 25. November 2008, 08.00 Uhr,
in die Kästen auf NA 02
AUFGABE 1 (4 Punkte):
Gegeben sei der folgende Graph G(V, E) mit V = [8] und
E = {{1, 2}, {1, 4}, {2, 3}, {2, 4}, {2, 5}, {3, 5}, {3, 6}, {4, 7}, {5, 6}, {5, 7}, {7, 8}}.
Bestimmen Sie einen Spannbaum von G mittels Breitensuche mit Startknoten 1.
Geben Sie dazu tabellarisch die Veränderungen des Queue-Inhaltes, den gesamten QueueInhalt sowie die Werte für d[v] und pred[v] an für alle v ∈ V .
Lösungsvorschlag:
Der Graph G sieht folgendermaßen aus:
1
4
7
2
5
3
6
8
Man durchlaufe diesen Graphen mittels Breitensuche mit Startknoten 1, um einen Spannbaum zu bestimmen. Dabei werden zunächst d[1] = 0 und d[i] = ∞ für i = 2, . . . , 8 gesetzt.
Ebenso pred[i] = N IL für i = 1, . . . , 8. Bei Durchführung des Algorithmus ergeben sich die
folgenden Zwischenwerte:
Veränderung des Queue-Inhaltes
Füge 1 in Queue ein
Entferne 1 aus Queue
Füge 2 in Queue ein
Füge 4 in Queue ein
Entferne 2 aus Queue
Füge 3 in Queue ein
Füge 5 in Queue ein
Entferne 4 aus Queue
Füge 7 in Queue ein
Entferne 3 aus Queue
Füge 6 in Queue ein
Entferne 5 aus Queue
Entferne 7 aus Queue
Füge 8 in Queue ein
Entferne 6 aus Queue
Entferne 8 aus Queue
Queue-Inhalt
1
2
2, 4
4
4, 3
4, 3, 5
3, 5
3, 5, 7
5, 7
5, 7, 6
7, 6
6
6, 8
8
d[v]
d[2] = 1
d[4] = 1
d[3] = 2
d[5] = 2
d[7] = 2
d[6] = 3
d[8] = 3
-
pred[v]
pred[2] = 1
pred[4] = 1
pred[3] = 2
pred[5] = 2
pred[7] = 4
pred[6] = 3
pred[8] = 7
-
Die Ausgabe des Algorithmus ist dann d = [0, 1, 2, 1, 2, 3, 2, 3, ] und pred[v] = [N IL, 1, 2, 1, 2, 3, 4, 7].
Der sich ergebende Spannbaum ist
1
4
7
2
5
3
6
8
AUFGABE 2 (4 Punkte):
(a) Sieben neue Häuser in einer Straße sollen von den Wasserwerken mit Wasser, von dem
regionalen Stromversorger mit Strom, von den Stadtwerken mit Gas und von dem
regionalen Kommunikationsunternehmen mit einem Telefonanschluss versorgt werden.
Ist es möglich, die Kabel/Rohre dazu auf einer Ebene zu verlegen, also so, dass sie sich
nicht kreuzen?
(b) Gegeben sei ein zusammenhängender d-regulärer planarer Graph G = (V, E)
mit |V | = 8. Dieser teile die Ebene in 6 Flächen. Bestimmen Sie d ∈ N.
Lösungsvorschlag:
(a) Stellt man die beschriebene Situation als Graphen dar, so erhält man einen vollständigen bipartiten Graphen von 4 Knoten (die Versorgungsunternehmen) auf 7 Knoten (die
Häuser), also einen K4,7 . Dieser enthält einen K3,3 und ist nach dem Satz von Kuratowski daher nicht planar.
Ein alternativer Lösungsansatz ist es, die Kanten von G zu zählen. Von jedem der 4
Versorgungsunternehmen geht genau eine Kante zu jedem der 7 Häuser, es gibt also
insgesamt 4 · 7 = 28 Kanten in G. Damit gilt
|E| = 28 ≥ 27 = 3(|V | − 2).
Der Graph kann also wegen der notwendigen Bedingung an planare Graphen aus der
Vorlesung nicht planar sein.
(b) Nach der Eulerschen Polyederformel gilt für die Anzahl f der Flächen in einem zusammenhängenden planaren Graphen:
f = |E| − |V | + 2.
Nach dem Handschlaglemma gilt für die Anzahl der Kanten in G:
8
1X
d = 4d.
|E| =
2 i=1
Mit der Voraussetzung |V | = 8 ergibt sich:
6 = 4d − 8 + 2 ⇔ 3 = d.
Unser gesuchtes d beträgt also 3.
Ein Beispiel für einen solchen Graphen stellt folgender Graph dar:
h
\
\
h \
@
@ \
@ h\
h
\\
HH
Hh
h
h @
@
@h
AUFGABE 3 (4 Punkte):
Seien r ∈ N und G = (V, E) ein r-regulärer Graph mit |V | ≥ 4 gerade. Zeigen Sie, dass
dann G oder G hamiltonsch ist. (Dabei ist G der Komplementärgraph von G wie in der
Präsenzübung, Aufgabe 3.)
Lösungsvorschlag:
Zunächst stellen wir fest, dass, wenn G ein r-regulärer Graph ist, dann ist G ein (n − 1 − r)regulärer Graph. Von einem Knoten v gehen dann genau Kanten zu denjenigen Knoten, zu
denen in G keine Kanten existierten. Und das sind |V \ {v}| − r = n − 1 − r viele.
Ziel ist es nun, die hinreichende Bedingung aus der Vorlesung d(u) + d(v) ≥ n = |V | für alle
u, v ∈ V zu benutzen. Abhängig von r unterscheiden wir zwei Fälle.
1. Fall (r ≥ n2 ): Dann gilt für alle u, v ∈ V : d(u) + d(v) ≥ n2 + n2 = n = |V |. Damit ist
G ein dichter Graph und es gilt nach dem hinreichenden Kriterium für Hamiltonkreise der
Vorlesung, dass G hamiltonsch ist.
2. Fall (r < n2 ): Wir betrachten nun G. Für u ∈ V beträgt der Knotengrad im Komplementärgraphen dG (u) dann n − 1 − d(u) > n − 1 − n2 = n2 − 1. Da n gerade ist, ist also
dG (u) ≥ n2 für alle u ∈ V . Also folgt dG (u) + dG (v) ≥ n2 + n2 = n = |V |. Also folgt mit dem
Kriterium der Vorlesung, dass G hamiltonsch ist.
AUFGABE 4 (8 Punkte):
(a) Zeigen Sie: Ein zusammenhängender Graph G = (V, E) mit |V | ≥ 3 ist genau dann
eulersch, wenn man ihn in kantendisjunkte Kreise zerlegen kann, das heißt, wenn man
ihn als Vereinigung von kantendisjunkten Kreisen darstellen kann.
(b) Ein zusammenhängender Graph G = (V, E) heißt semi-eulersch, wenn in G ein Weg
W existiert, der jede Kante aus G genau einmal verwendet. Im Unterschied zu einem
eulerschen Graphen müssen Anfangs- und Endpunkt des Weges nicht identisch sein.
Ein bekanntes Beispiel für einen semi-eulerschen, aber nicht eulerschen Graphen ist das
Haus vom Nikolaus.
Beweisen Sie die folgende Aussage: Ein zusammenhängender Graph G ist genau dann
semi-eulersch, wenn er genau zwei Knoten oder keinen Knoten ungeraden Grades besitzt.
Lösungsvorschlag:
(a) Behauptung:
G eulersch ⇔ G Vereinigung kantendisjunkter Kreise C1 , . . . , Ck
Wir zeigen zunächst ”⇒” der Äquivalenz:
Wir zeigen die Behauptung konstruktiv.
Sei E die Eulertour in G. Man starte in bei einem beliebigen Knoten v ∈ V und folge
der Eulertour so lange, bis man zu einem schon besuchten Knoten gelangt. Definiere den
Kreis beginnend und endend bei dem doppelt vorkommenden Knoten als Ci . Entferne
die Kanten des Kreises sowie die dabei entstehenden Knoten mit Knotengrad 0 aus G
und betrachte den so entstandenen Graphen. Dieser Graph ist wiederum Eulersch, da
die Knotengrade entweder um 2 oder um 0 reduziert worden sind und damit gerade
bleiben. Wiederhole das Verfahren so lange, bis es keine Knoten vom Grad größer als
0 gibt. Der Algorithmus terminiert, da es in G nur endlich viele Kanten gibt. Die Ci
geben eine mögliche Zerlegung in kantendisjunkte Kreise.
Nun zeigen wir ”⇐” der Äquivalenz:
Wir zeigen auch diese Behauptung konstruktiv.
Sei C1 , . . . , Ck eine Zerlegung von G in kantendisjunkte Kreise. Man starte mit E =
C1 = (v1 , v2 , . . . , v1 ) und gehe den Kreis ab, bis man auf einen Knoten v stößt, der auch
in Ci für ein i ∈ {2, . . . , k} vorkommt. Ein solcher Knoten muss existieren, da G zusammenhängend ist. Sei Ci = (v, u1 , . . . , v) dieser Kreis. Man setze nun die beiden Kreise
zusammen zu E = (v1 , . . . , v, u1 , . . . , v, . . . , v1 ). Dabei wird zunächst C1 gegangen, bis
man auf Ci stößt, dann Ci bis zum Ausgangspunkt und danach der Rest von C1 . Mit
dem so entstandenen Weg E fahre man analog fort, bis alle Kreise in E einbezogen sind.
Der Algorithmus terminiert, da G aus endlich vielen Kreisen besteht. Das resultierende
E ist eine Eulertour, da alle Kanten von G genau einmal in E enthalten sind und Startund Zielknoten von E derselbe ist.
(b) Behauptung:
G semi-eulersch ⇔ G besitzt genau 2 Knoten oder keinen Knoten ungeraden Grades
Wir zeigen zunächst ”⇐” der Äquivalenz:
1. Fall: G habe keinen Knoten ungeraden Grades. Dann ist G nach Vorlesung eulersch
und die Eulertour entspricht dem gesuchten Weg. Damit ist G semi-eulersch.
2. Fall: G habe genau zwei Knoten ungeraden Grades v und w. Dann fügen wir G
einen weiteren Knoten w sowie die Kanten {u, w} und {v, w} hinzu. Den so entstandenen Graphen nennen wir G0 . In G0 haben alle Knoten geraden Grad. (Den Knoten
mit ungeradem Grad aus G wurde jeweils genau eine Kante hinzugefügt, so dass sie
geraden Grad haben, der zusätzliche Knoten w hat Grad zwei.) Somit ist G0 eulersch.
Wir starten die Betrachtung der Eulertour bei w mit der Kante {w, u}. Dann hat die
Eulertour in G0 die Form T = (w, u, v1 , . . . , vk , v, w), da von w nur zwei Kanten ausgehen. Alle Kanten außer {u, w} und {v, w} liegen aber auch in G. Der gesuchte Weg
entsteht daher aus T durch Entfernen der ersten und letzten Kante (u, v1 , . . . , vn−2 , v).
Der Graph G ist also semi-eulersch.
Nun zeigen wir ”⇒” der Äquivalenz:
Sei G semi-eulersch und W = (u, . . . , w) der Weg durch G, der jede Kante genau einmal
verwendet. Dann gilt für jeden Knoten v ∈ V \ {u, w}: Der Knoten kommt tv mal in
W vor. Jedes Auftauchen von v in W erhöht den Knotengrad von v um zwei. Eine
Kante führt vom Vorgängerknoten zu v, eine von v zum nachfolgenden Knoten. Der
Knotengrad dieser Knoten beträgt daher jeweils 2tv , ist also gerade.
Auch für die Knoten u und w erhöht sich der jeweilige Knotengrad für jedes weitere
Vorkommen der Knoten in G um 2. Es komme der Knoten u außer am Rand noch
tu mal in W vor, der Knoten w noch tw mal. Das Vorkommen am Rand des Weges
hingegen erhöht den Knotengrad um eins. Gilt u 6= w, so gilt deg(u) = 2tu + 1 und
deg(w) = 2tw + 1. Es gibt also genau zwei Knoten ungeraden Grades.
Ist u = w, so gilt deg(u) = 2tu + 1 + 1, der Grad von u ist also ebenfalls gerade. Damit
gibt es in G keinen Knoten mit ungeradem Grad.
Herunterladen