Institut für Informatik Lehrstuhl f ¨ur Informatik 15

Werbung
Institut für Informatik
Lehrstuhl für Informatik 15
Computer Graphik & Visualisierung
Diskrete Strukturen I
Wintersemester 2006/2007
Übungsblatt 9
Seite 1 von 3
Prof. R. Westermann, J. Schneider, J. Georgii, S. Pott
TU München, 18.12.2006
Lösungen zu Diskrete Strukturen I (Blatt 9)
Aufgabe 38 [7 Punkte]
Graphfärbung
Wir stellen zunächst fest, dass wir mindestens k Farben für eine Kantenfärbung benötigen, da der
Graph k-regulär ist (also jeder Knoten Grad k hat). Das k Farben reichen, ist im Allgemeinen noch
nicht klar, wie das Beispiel eines Dreiecks zeigt. Jeder Knoten hat Grad 2, aber man braucht 3 Farben
für einen Kantenfärbung. Zusätzlich ist in der Aufgabe gegeben, dass der Graph bipartit ist (V =
V1 ⊎ V2 ). Also haben wir k · |V1 | Kanten, die aus der Knotenmenge V1 ausgehen und entsprechend
k · |V2 | Kanten, die aus der Knotenmenge V2 ausgehen. Damit muss |V1 | = |V2 | gelten.
Wir zeigen nun mit Induktion über k, dass man jeden k-regulären bipartiten Graphen mit k Farben
(Kanten-) färben kann.
Induktionsanfang:
Für k = 1 ist die Behauptung leicht einzusehen, denn jede Kante kann die gleich Farbe bekommen,
da keine zwei Kanten denselben Knoten inzident haben können.
Induktionsschritt k → k + 1:
Wir nehmen an, dass die Behauptung für k gilt (Induktionsannahme). Betrachten wir den (k + 1)regulären bipartiten Graphen. Jede Knotenteilmenge X ⊆ V1 hat (k + 1)|X | ausgehende Kanten.
Damit muss die Menge der Nachbarknoten von X, bezeichnet als Γ( X ) mindestens Kardinalität |X |
haben (folgt aus der (k + 1)-Regularität: Gäbe es weniger Knoten, dann folgert man mit Schubfachprinzip, dass mind. ein Knoten Grad (k + 2) haben muss!). Damit ist die Bedingung des ”Heiratssatzes” (Satz von Hall) gegeben, und wir wissen, dass der Graph ein perfektes Matching hat. Alle Kanten
des Matching können die gleiche Farbe k + 1 erhalten (Definiton eines Matchings). Da |V1 | = |V2 |,
überdeckt das Matching außerdem alle Knoten. Entfernen wir daher alle Matchingkanten, reduziert
sich der Grad jedes Knotens um 1, und wir erhalten einen k-regulären Graphen, der nach Induktionsannahme k-färbbar ist. Da wir nur eine weitere Farbe zum Färben der Matchingkanten brauchen, ist
der k + 1-reguläre Graph also mit k + 1 Farben kantenfärbbar.
Seite 2 von 3
Aufgabe 39 [4 Punkte]
Prüfercodes
Folgende Bäume erhält man zu den gegebenen Prüfercodes durch Anwendung des Algorithmus auf
Tutorblatt 8.
a)
b)
Aufgabe 40 [4 Punkte]
Stirling Formel
=2 2n ·( ne )
2n
z }| {
2n
√
2n
4π n
1 + o(1)
1 + o(1)
2n
1
(2n)!
4n
e
√
√
·
·
∈
=
=
·
√
2
2
2
n
n
(n!)
(1 + o(1))
π
n (1 + o(1))2
2π n ne
Jede Funktion f (n) ∈ o(1) geht asymptotisch gegen Null für große n, denn
∀c > 0 ∃k ∀n > k : | f (n)| < c
(c kann beliebig klein sein!). Damit gilt also für große n:
4n
2n
1
≈√ ·√
n
π
n
und damit also
Aufgabe 41 [4 Punkte]
2n
n
∈Θ
4n
√
n
Versorgungsproblem
Wir stellen fest, dass sich das Problem durch einen bipartiten Graphen beschreiben lässt. Die eine
Partition besteht aus den 3 Versorgerknoten, die andere aus allen n Wohnhäusern. Kanten verlaufen
nur zwischen den beiden Partition, und zwar insgesamt 3n. Jeder Hausknoten hat Grad 3, jeder Versorgerknoten Grad n. Gefragt ist nun, für welche n dieser Graph planar ist. Für n = 1 und n = 2
lassen sich planare Graphen leicht konstruieren. Für n = 3 ist der Graph der K3,3 , der nicht planar ist
(s. Vorlesung). Für alle größeren n enthält der Graph einen K3,3 als Teilgraph, und kann deshalb nicht
planar sein (Satz von Kuratowski).
Seite 3 von 3
Aufgabe 42 [2+4 Punkte]
Bäume
Wir wissen, dass der Prüfercode eine Bijektion aller Bäume mit n Knoten auf Zeichenketten der Länge
n − 2 ist. Aus dem Konstruktionsalgorithmus auf Tutorblatt 8 wissen wir, dass jeder innere Knoten v
deg(v) − 1 mal im Prüfercode vorkommt.
a) Wenn der Grad jedes Knoten höchstens 2 sein soll, dann kann also jeder Knoten höchstens einmal im Prüfercode vorkommen, es gibt also
nn −2 =
n!
2
verschiedene markierte Bäume mit dieser Eigenschaft.
b) Wenn der Grad jedes Knoten höchstens 3 sein soll, dann kann jeder Knoten höchstens zweimal
im Prüfercode vorkommen. Wir unterscheiden nach der Anzahl i an Knoten, die zweimal vorkommen. Kommt nur ein Knoten doppelt vor, so wählen wir zunächst einen der n Knoten aus,
bestimmen dann aus den n − 2 Stellen des Prüfercodes die beiden Plätze und verteilen auf die
verbleibenden n − 4 Stellen die verbleibenden n − 1 Knoten (jeder Knoten kommt nur maximal
einmal vor), also
n−2
n·
· (n − 1 )n −4
2
Möglichkeiten. Analog erhalten wir für den Fall, dass 2 Knoten zweimal vorkommen (Wir ziehen diese beiden Knoten ungeordnet)
n
n−2
n−4
·
· (n − 2 )n −6
2
2
2
Allgemein gilt also für i zweifach auftretende Knoten
i n
n − 2j
·∏
· (n − i )n −2 (i+1 )
i
2
j=1
2
Da die Fälle alle disjunkt sind, können wir einfach summieren (es kann maximal ⌊ n−
2 ⌋ zweifach
auftretende Knoten geben.
2 ⌊ n−
2 ⌋
∑
i=0
n
i
i
·∏
j=1
n − 2j
· (n − i )n −2 (i+1 )
2
Herunterladen