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 4 / 11. November 2008 / Abgabe bis 18. November 2008, 08.00 Uhr,
in die Kästen auf NA 02
AUFGABE 1 (8 Punkte):
(a) Gegeben sei der folgende Graph G(V, E):
1
2
3
@
@
@
@@
6
5
4
Bestimmen Sie den Prüfercode von G. Geben Sie dazu in jedem Schritt des Algorithmus
an, was Sie definieren und welche Kante Sie aus dem Graphen entfernen.
(b) Zeichnen Sie den Baum mit n = 8 Knoten, dessen Prüfercode 121444 ist. Geben Sie dazu
die Kanten des Baumes in der Reihenfolge an, in der sie durch Aufruf des Algorithmus
Dekodierung generiert werden.
Lösungsvorschlag:
(a) Wir benutzen den Algorithmus Kodierung aus der Vorlesung. Für jeden Iterationsschritt der Schleife geben wir zum Laufindex i den ausgewählten Knoten v, den Wert
für ti , die Kante k, die entfernt wird, und die noch zu betrachtende Knotenmenge V
an.
– i = 1 : v = 1, t1 = 2, entferne die Kante {1, 2}. Damit ergibt sich V = {2, 3, 4, 5, 6}.
– i = 2 : v = 3, t2 = 2, entferne die Kante {2, 3}. Damit ergibt sich V = {2, 4, 5, 6}.
– i = 3 : v = 4, t3 = 2, entferne die Kante {2, 4}. Damit ergibt sich V = {2, 5, 6}.
– i = 4 : v = 2, t4 = 5, entferne die Kante {2, 5}. Damit ergibt sich V = {5, 6}.
Nun ist |V | = 2 und der Algorithmus terminiert. Der gesuchte Prüfercode ist 2225.
(b) Wir verwenden den Algorithmus Dekodierung. Nach Durchlaufen der ersten Schleife
erhalten wir folgende Knotengrade:
– deg(1) = 3
– deg(2) = 2
– deg(3) = 1
– deg(4) = 4
– deg(5) = 1
– deg(6) = 1
– deg(7) = 1
– deg(8) = 1
Für jeden Iterationsschritt i der zweiten Schleife geben werden deg(i), der Knoten v,
die hinzugefügte Kante k und die Veränderung der Knotengrade angegeben.
– i = 1 : v = 3, neue Kante {1, 3}. Damit ergibt sich deg(1) = 2, deg(3) = 0.
– i = 2 : v = 5, neue Kante {2, 5}. Damit ergibt sich deg(2) = 1, deg(5) = 0.
– i = 3 : v = 2, neue Kante {1, 2}. Damit ergibt sich deg(1) = 1, deg(2) = 0.
– i = 4 : v = 1, neue Kante {1, 4}. Damit ergibt sich deg(1) = 0, deg(4) = 3.
– i = 5 : v = 6, neue Kante {4, 6}. Damit ergibt sich deg(4) = 2, deg(6) = 0.
– i = 6 : v = 7, neue Kante {4, 7}. Damit ergibt sich deg(4) = 1, deg(7) = 0.
Es bleiben die Knoten 4 und 8 mit Grad 1. Daher wird zusätzlich die Kante {4, 8} in
den Graphen eingefügt.
Insgesamt ergibt sich der folgende Graph G.
8
4
7
@
@
@
@@
1
3
@ @
2
@
@
@
6
5
AUFGABE 2 (4 Punkte):
Ein Tupel (d1 , d2 , . . . , dn ) ist eine Gradfolge eines Graphen G = ([n], E), wenn deg(i) = di
für i = 1, . . . , n.
Sei d1 ≥ d2 ≥ . . . ≥ dn > 0 eine Folge natürlicher Zahlen. Beweisen Sie:
Es existiert ein Baum B = ([n], E) mit Gradfolge (d1 , . . . , dn ) ⇔
n
X
di = 2n − 2
i=1
Lösungsvorschlag:
P
Zunächst wird ” Es existiert ein Baum B = ([n], E) mit Gradfolge (d1 , . . . , dn ) ⇒ ni=1 di =
2n − 2” gezeigt:
Sei B = (V, E) Baum mit Gradfolge (d1 , . . . , dn ). Dann gilt nach dem Satz über die Eigenschaften von Bäumen,
ist mit |E| = n − 1. Nach dem HandschlaPndass B zusammenhängend
Pn
glemma gilt 2|E| = i=1 di . Also ist i=1 di = 2|E| = 2n − 2.
P
Die Aussage ” Es existiert ein Baum B = ([n], E) mit Gradfolge (d1 , . . . , dn ) ⇐ ni=1 di =
2n − 2” zeigen wir mit Induktion:
Wir beginnen mit n = 2, da sonst d1 = 0 wäre und dies keine Gradfolge der geforderten Form
darstellt.
Induktionsanfang n = 2: Der vollständige Graph mit zwei Knoten und einer Kante erfüllt
1 + 1 = 2 · 2 − 2 und ist ein Baum.
P
Induktionsvoraussetzung: Für ein n ∈ N lasse sich die Gradfolge (d1 , . . . , dn ) mit ni=1 di =
2n − 2 als Baum realisieren.
P
Induktionsschluss: Sei d1 ≥ d2 ≥P
. . . ≥ dn+1P
> 0 gegeben mit n+1
i=1 di = 2(n + 1) − 2 = 2n. Es
n+1
n+1
ist hierbei dn+1 = 1. Sonst wäre i=1 di ≥ i=1 dn+1 ≥ (n+1)·2 > 2n, was ein Widerspruch
zur Voraussetzung ist.
Damit
Pn+1d1 ≥ 2. Denn falls d1 = 1 folgt di = 1 für alle i = 1, . . . , n + 1. Dann gilt aber
Pn+1 gilt auch
i=1 di ≤
i=1 d1 ≤ (n + 1) · 1 = n + 1 < 2(n + 1) − 2 = 2n für n > 1, was ein Widerspruch
zur Voraussetzung ist.
Wir betrachten daher die Folge (d1 −1, d2 , . . . , dn ). Für die Gradsequenz wird d1 an geeigneter
Stelle in die Folge eingefügt. Wir belassen es ohne Beschränkung der Allgemeinheit an erster
Stelle. Nach Induktionsvoraussetzung gibt es einen Baum B̃ = (Ṽ , Ẽ) mit n Knoten, der die
Gradsequenz (d1 − 1, d2 . . . , dn ) hat. Wir definieren B = (Ṽ ∪ {n + 1}, Ẽ ∪ {{1, n + 1}}). Dies
ist ein Baum, da nur eine Kante zu einem neuen Knoten hinzugefügt wurde und so keine
Kreise entstehen können.
AUFGABE 3 (4 Punkte):
In einem kleinen Fürstentum gibt es 8 Städte, die alle durch einfache Schotterstraßen miteinander verbunden sind. Nun sollen einige Straßen zu modernen Landstraßen ausgebaut
werden.
(a) Wieviele Straßen müssen mindestens ausgebaut werden, damit zwischen zwei Städten
immer ein Weg auf neu ausgebauten Straßen existiert?
Wieviele solcher Straßennetze gibt es?
Geben Sie drei nicht isomorphe Varianten an.
(b) Berechnen Sie die Anzahl der möglichen Straßennetze, falls jede Stadt von einer ungeraden Anzahl ausgebauter Straßen erreicht wird.
Hinweis: Betrachten Sie hierzu den Prüfercode.
Lösungsvorschlag:
(a) Man stelle das Fürstentum als Graph G dar. Die Städte entsprechen den Knoten, die
neu ausgebauten Straßen den Kanten.
Um alle Städte zu verbinden, benötigt man mindestens 7 neu ausgebaute Straßen.
Sonst besäße der Graph G 8 Knoten und m < 7 Kanten und damit nach dem Satz über
Zusammenhangskomponenten mindestens 8 − m > 1 Zusammenhangskomponenten.
Der Graph wäre also nicht zusammenhängend. 7 Kanten genügen, da dies genau die
Anzahl der Kanten eines beliebigen Spannbaumes von G ist.
Die Städte und damit die Knoten des Graphen sind unterscheidbar, also gibt es nach
Vorlesung 262144 verschiedene Spannbäume.
Drei mögliche Spannbäume sind die folgenden:
h
h
h
h
h
@
@
h
h
h
h
h
h @h
h
@
@
h
h @h
h
h
h
h
h
h
h
h
Bemerkung: Aus praktischer Sicht ist ein Sterngraph sinnvoller als ein Pfad der Länge
7, da die Abstände zwischen den einzelnen Städten im Schnitt kürzer sind.
(b) Der Prüfercode der gesuchten Graphen hat die Länge 8 − 2 = 6. Jeder Knoten muss,
wenn er im Prüfercode vorkommt, mit einer gerade Anzahl vorkommen, damit der
Grad des Knoten insgesamt ungerade wird. Man betrachte die Möglichkeiten, die im
Prüfercode vorkommenden Knoten auszuwählen.
Erster Fall: Es könnte 6-mal derselbe Knoten vorkommen. Dann gibt es
keiten, den Knoten auszuwählen.
8
1
Möglich-
Zweiter Fall: Es könnte ein Knoten 4-mal und ein Knoten 2-mal vorkommen. Dann gibt
es 8 Möglichkeiten, den 4-mal vorkommenden Knoten auszuwählen, und 7 Möglichkeiten, den 2-mal vorkommenden Knoten auszuwählen, insgesamt also 56 Möglichkeiten,
die Knoten auszuwählen. Diese können auf den 6 Positionen auf verschiedene Arten
angeordnet werden, nämlich auf genau so viele Arten,wie man man 2 aus 6 Positionen
unterscheidbar ohne Zurücklegen ziehen kann, also 62 .
Dritter Fall: Es könnten
drei verschiedene Knoten je 2-mal im Prüfercode vorkommen.
8
Dann gibt es 3 Möglichkeiten, diese Knoten auszuwählen. Diese können auf 62 42
Arten angeordnet werden.
Die einzelnen Fälle sind disjunkt. Mit der Summenregel ergeben sich daher
8
6
8 6 4
+ 56 ·
+
= 5888
1
2
3 2 2
verschiedene Prüfercodes und damit auch 5888 mögliche Varianten, die Straßen unter
diesen Zusatzbedingungen auszubauen.
AUFGABE 4 (4 Punkte):
Sei G = (V, E) ein zusammenhängender, nicht vollständiger Graph. Zeigen Sie, dass es drei
verschiedene Knoten a, b, c ∈ V gibt mit {a, b} ∈ E und {b, c} ∈ E, aber {a, c} 6∈ E.
Lösungsvorschlag:
Idee: Man nehme zwei Knoten des Graphen, die nicht direkt durch eine Kante verbunden sind,
und betrachte einen Pfad zwischen diesen beiden Knoten. Hat dieser Pfad nur die Länge zwei,
so erfüllen die beiden gewählten Knoten und der Knoten auf dem Pfad die Bedingung. Ist der
Pfad länger, betrachte man nur die ersten beiden Kanten des Pfades. Entweder erfüllen die zu
diesen Kanten inzidenten Knoten die geforderte Bedingung, oder es gibt eine weitere Kante,
mit der die beiden Kanten einen Kreis der Länge 3 bilden. Dann kann man die ersten beiden
Kanten in dem Pfad durch die dritte Kreiskante ersetzen und den neuen Pfad betrachten,
bis man Knoten erhält, die die Bedingung erfüllen. Dies passiert spätestens dann, wenn der
Pfad auf die Länge 2 gekürzt worden ist.
Die Idee lässt sich wie folgt umsetzen:
Es ist G = (V, E) zusammenhängend, aber nicht vollständig. Also existieren zwei Knoten
u, v ∈ V mit {u, v} ∈
/ E. Wähle diese beiden nicht adjazenten Knoten. Da G zusammenhängend ist, existiert ein Pfad von u nach v. Sei P = (u1 , . . . , uk ) der kürzeste Pfad
von u1 = u nach uk = v. Dann gilt {u1 , u2 } ∈ E und {u2 , u3 } ∈ E, da beide Kanten Teil des
Pfades sind. Außerdem gilt {u1 , u3 } ∈
/ E. Denn wäre {u1 , u3 } ∈ E so wäre (u1 , u3 , . . . , uk )
ein kürzerer Pfad von u nach v als P , was einen Widerspruch zur Annahme bildet, dass P
kürzester Pfad ist. Also erfüllen a = u1 , b = u2 und c = u3 die geforderte Bedingung.
Herunterladen