Diskrete Strukturen

Werbung
Technische Universität München
Fakultät für Informatik
Lehrstuhl für Effiziente Algorithmen
Prof. Dr. Ernst W. Mayr
Dr. Werner Meixner
Wintersemester 2005
Lösungsblatt 12
2. Februar 2006
Diskrete Strukturen
Aufgabe 1
Beweisen oder widerlegen Sie mit Hilfe des Satzes von Kuratowski die folgenden Aussagen.
1. Es ist möglich, drei Häuser mit Strom, Gas und Wasser zu versorgen, wenn die
Leitungen alle ebenerdig verlaufen müssen und sich nicht schneiden dürfen.
2. Wenn man zu einem beliebigen Baum G = (V, E) einen neuen Knoten v hinzufügt
und v mit allen Knoten in V verbindet, so ist der entstehende Graph planar.
3. Entfernt man aus dem K3,3 eine beliebige Kante, dann ist der entstehende Graph
planar.
Lösungsvorschlag
1. Die abstrakte Darstellung der Aufgaben modelliert die 3 Häuser bzw. die 3 Versorgungsanschlüsse je mit einem Knoten eines vollständigen bipartiten Graphen zwischen einerseits den Häusern und andererseits de Versorgungsanschlüssen. Dies ist
ein vollständiger bipartiter Graph K3,3 . Der Graph ist trivialerweise eine Unterteilung des K3,3 und ist deshalb nach dem Satz von Kuratowski nicht planar.
Die Bedingungen können also nicht erfüllt werden.
2. Anschaulich ist der Sachverhalt klar, wenn man den Baum in der Ebene zeichnet
und so orientiert, dass die Wurzel oben ist und die Kantenverzweigungen sich nach
unten als Geradenstücke erstrecken. Nun kann man die Ebene in zwei Halbebenen
teilen, so dass sich der Baum vollständig in der oberen Hälfte befindet.
Einen zusätzlichen Knoten v plaziert man in der unteren Halbebene und sieht, dass
man von unten her mit geeigneten stetigen Kurven alle Knoten kreuzungsfrei erreichen kann.
Der entstehende Graph ist also planar.
3. Entfernt man aus dem K3,3 eine Kante, dann kann der resultierende Graph R natürlich keine Unterteilung des K3,3 mehr enthalten, weil die Anzahl der Kanten dann
zu gering ist.
Aber auch eine Unterteilung des K5 kann nicht mehr in R enthalten sein, weil der K5
ja 10 Kanten enthält und jede Unterteilung von K5 ebenfalls mindestens 10 Kanten
enthalten müsste.
R ist also nach dem Satz von Kuratowski planar.
Aufgabe 2
1. Gegeben seien die Bäume
B1 = ([9], {{1, 9}, {2, 7}, {4, 7}, {5, 6}, {8, 3}, {6, 7}, {7, 9}, {3, 9}}) ,
B2 = ([9], {{2, 1}, {1, 7}, {5, 7}, {4, 1}, {7, 3}, {9, 3}, {6, 4}, {8, 4}}) .
Bestimmen Sie zu B1 und B2 jeweils den Prüfer-Code.
2. Bestimmen Sie zu den folgenden Prüfer-Codes die zugehörigen Bäume.
i)
77777777,
ii)
1212121,
iii)
9876543,
iv)
82267222.
3. Man zeige: Wenn man den vollständigen Graphen Kn mit beliebigem n ∈ N ausgehend von einem beliebigen Knoten mit Tiefensuche (Algorithmus DFS) durchsucht,
dann ist der resultierende Spannbaum immer ein einfacher Pfad.
Lösungsvorschlag
1. Den Prüfer-Code von Bäumen B1 , B2 erhält man, indem man, ausgehend von einer
lückenlosen und eindeutigen Knotennummerierung von 1 ab, stets das Blatt mit
der kleinsten Knotennummer bestimmt und denjenigen Knoten notiert, an dem das
Blatt hängt. Anschließend wird das Blatt aus dem Baum gestrichen und der Schritt
so lange wiederholt bis nur noch 2 Knoten übrig sind.
Für B1 erhalten wir den Prüfer-Code 9776793.
Für B2 erhalten wir den Prüfer-Code 1744173.
Bemerkung: Falls der Baum mehr als 9 Knoten hat, dann muß man die Knotennummern im Code klammern.
2. Die Anzahl der Knoten des dargestellten Baumes ist um 2 größer als die Länge l
des Codes. Die Knotennummern sind also [l + 2].
Diejenigen Knotennummern, die im Code nicht vorkommen, bilden die Blätter des
Baumes. Zur Rekonstruktion des Baumes nimmt man dasjenige Blatt mit der kleinsten Nummer und verbindet es mit dem Knoten, dessen Knotennummer im Code als
erste steht. Man streicht dann die verarbeitete Blattnummer aus der Liste der noch
nicht verarbeiteten Blätter. Nun wiederholt man den Schritt mit dem noch nocht
verarbeiteten Abschnitt des Codes (erstes Element wird gestrichen), so lange bis alle
Codziffern verarbeitet sind. Die beiden Knoten in der verbliebenen Liste der noch
nicht verarbeiteten Blätter verbindet man. Wir erhalten
Bi = ([10], {{1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {8, 7}, {9, 7}, {10, 7}}) ,
Bii = ([9], {{2, 8}, {2, 6}, {2, 4}, {1, 3}, {1, 5}, {1, 7}, {1, 9}, {2, 1}}) ,
Biii = ([9], {{1, 9}, {9, 3}, {3, 4}, {4, 5}, {5, 6}, {6, 7}, {7, 8}, {8, 2}}) ,
Biv = ([10], {{1, 8}, {8, 2}, {3, 2}, {4, 2}, {7, 2}, {9, 2}, {10, 2}, {6, 7}, {6, 5}}) .
3. Für den ersten Knoten wir zufällig einer von n−1 Knoten als Nachfolger ausgewählt.
Für den zweiten Knoten stehen n − 2 Nachbarn zur Wahl. Da im Kn jeder Knoten
mit jedem verbunden ist, findet man bis zum n.ten Knoten immer einen ”tieferen”
Nachfolger. Man kann mit der Tiefensuche in keine Sackgasse geraten. Jeder so
gefundene Spannbaum ist also ein Pfad.
2
Aufgabe 3
Man zeige:
1. Jeder Graph mit Gradfolge 5,4,4,4,3,2,2 ist zusammenhängend.
2. Jeder zusammenhängende Graph enthält einen Knoten, den man entfernen kann,
ohne dass der Graph in mehrere Zusammenhangskomponenten zerfällt.
3. Jeder Baum ist bipartit.
2
4. b n4 c ist die größte Anzahl von Kanten, die ein bipartiter Graph mit n Knoten
besitzen kann.
5. Jeder k-reguläre Graph mit k ≥ 2 enthält einen Kreis.
Lösungsvorschlag
1. Von den 7 Knoten sind bereits 6 zusammenhängend, weil ein Knoten x vom Grad 5
existiert. Wäre der Graph nicht zusammenhängend, dann müsste er einen isolierten
Knoten enthalten, d. h. es müsste der Grad 0 in der Gradfolge vorkommen. Dies
aber ist nicht der Fall.
2. Ein besonders einfacher Weg, einen Knoten w mit den gewünschten Eigenschaften
zu finden, ist eine Tiefensuche mit Erzeugung eines zugehörigen Spannbaums. Wir
behaupten, dass jedes Blatt eines solchen Baums als w geeignet ist.
Werde w mit all seinen adjazenten Kanten aus dem Graphen (bzw. dem Spannbaum) entfernt. Da w ein Blatt eines Spannbaums des (zusammenhängenden) Graphen ist, bedeutet dies, dass nur eine einzige Kante des Spannbaums entfernt wird.
Alle übrigen mit w adjazenten Kanten können nicht ebenfalls Kanten des gleichen
Spannbaums sein. In dem restlichen Spannbaum bleiben also alle Knoten bis auf w
erreichbar.
3. Für bipartite Graphen G = (V, E) haben wir in der Vorlesung eine genauere Schreibweise eingeführt. Danach schreiben wir G = (A, B, E), wobei A ∪ B = V und
A ∩ B = ∅ gilt und weder innerhalb A noch innerhalb B Kanten aus E verlaufen
können. Alle Kanten verbinden stets Elemente aus A mit Elementen aus B.
Wir bauen, ausgehend von einem Baum G = (V, E), induktiv zwei derartige Knotenmengen A und B auf, so dass alle Kanten nicht innerhalb von A und nicht innerhalb
von B verlaufen.
Wir wählen einen beliebigen Startknoten s und setzen {s} = A, sowie B = ∅. Alle
Nachfolger von s werden in die Menge B aufgenommen. Der damit konstruierte
induzierte Teilgraph ist offenbar bipartit.
Falls es einen Knoten x ∈ B gibt, der einen Nachbarn hat, der noch nicht in A ∪ B
enthalten ist, wird x ausgewählt und sämtliche Nachbarn von x werden in A aufgenommen. Der damit konstruierte induzierte Teilgraph ist wiederum bipartit.
Der letzte Schritt wird mit jeweils vertauschten Rollen von A und B wiederholt bis
alle Knoten entweder in A oder in B enthalten sind.
3
4. Die meisten Kanten in einem bipartiten Graphen G = (A ∪ B, E) erhält man, wenn
man die disjunkten Mengen A und B mit möglichst gleich groß wählt, und dann
jeden Knoten in A mit allen Knoten in B verbindet.
Für gerades n = |V | gilt dann, dass |A| =
2
Kanten, insgesamt also n4 .
n
2
= |B| und jeder Knoten in A besitzt
n
2
Für ungerades n gilt analog
n2 − 1
n−1 n+1
·
=
.
2
2
4
2
Allgemein gilt für die Zahl der Kanten damit b n4 c.
5. Ein kreisfreier Graph ist ein Wald, d. h. eine disjunkte und nicht zusammenhängende
Summe von Bäumen. Da jeder Baum mindestens zwei Blätter enthält, gibt es einen
Knoten vom Grad 1. Der Graph kann also nicht k-regülär sein für k ≥ 2, denn das
würde bedeuten, dass jeder Knoten den Grad k besitzt.
Aufgabe 4
Gegeben sei der Digraph
G = ({a, b, c, d, e, f, g, h}, {(a, b), (a, d), (a, e), (b, d), (c, h), (d, e), (d, f ), (g, h)}) .
1. Zeichnen Sie eine graphische Darstellung von G.
2. Stellen Sie für G die Inzidenzmatrix und die Adjazenzmatrix auf. Berechnen Sie die
Laplacesche Matrix von G.
3. Welche Zusammenhangskomponenten hat G? Welche starken Zusammenhangskomponenten hat G?
4. Fasst man G als Relation auf, dann ist die transitive Hülle von G definiert. Bestimmen Sie die Adjazenzmatrix der transitiven Hülle von G.
5. Zeigen Sie, dass G ein dag ist.
Geben Sie eine topologische Nummerierung der Knoten von G an.
Lösungsvorschlag
1. Klar (mit Knoten und Pfeilen)!
2. Wir nummerieren mit 1 beginnend jeweils Knoten und Kanten alphabetisch bzw.
nach der obigen Aufschreibung in G. Diese Nummern entsprechen den Zeilen- bzw.
Spaltennummern der Matrizen.
4
Inzidenzmatrix:














a
b
c
d
e
f
g
h
(a, b) (a, d) (a, e) (b, d) (c, h) (d, e) (d, f ) (g, h)
−1
−1
−1
0
0
0
0
0
1
0
0
−1
0
0
0
0
0
0
0
0
−1
0
0
0
0
1
0
1
0
−1
−1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
−1
0
0
0
0
1
0
0
1














Die obige Ränderung mit Knoten- und Kantenbezeichnungen ist für Matrizen nicht
üblich. Sie dient hier ausschließlich zur Verdeutlichung der Nummerierungen.
Adjazenzmatrix:












0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0












Aufgrund der topologischen Nummerierung ist die Adjazenzmatrix eine obere Dreiecksmatrix mit Nullen in der Diagonalen, und umgekehrt.
Laplacesche Matrix:












3 −1 0 −1 −1 0 0 0
0 2 0 −1 0
0 0 0
0 0 1 0
0
0 0 −1
0 0 0 4 −1 −1 0 0
0 0 0 0
2
0 0 0
0 0 0 0
0
1 0 0
0 0 0 0
0
0 1 −1
0 0 0 0
0
0 0 1












3. Die Zusammenhangskomponenten von G sind gegeben durch die disjunkten Knotenmengen {a, b, d, e, f, } und {c, g, h}. Da G azyklisch ist (dies wird in Teilaufgabe
5 gezeigt), gibt es nur die trivialen, einelementigen Zusammenhangskomponenten,
die aus jeweils einem Knoten bestehen.
4. Es gibt genau folgende Knotenpaare, die durch einen gerichteten Pfad verbunden
werden können, ohne dass sie schon durch einen einzige Kante verbunden sind. Es
sind dies:
(a, f ), (b, f ), (b, e) .
Durch Hinzunahme dieser Paare erreicht man einen transitiven Abschluss von G als
Relation. Die entsprechende Adjazenzmatrix lautet dann wie folgt.
5
Adjazenzmatrix der transitiven

0
 0

 0

 0

 0

 0

 0
0
Hülle von G:
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0












5. In G gibt es keinen Teilgraph, der ein gerichteter Kreis ist. Dies folgt aus der oben
schon definierten topologischen Sortierung (Nummerierung) der Knoten bzw. der
speziellen Dreiecksform der Adjazenzmatrix. Auch die transitive Hülle eines dag ist
wieder ein dag.
6
Herunterladen