WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314 Kapitel IV – Graphentheorie • Graphentheorie – Grundlagen – Bäume – Euler- und Hamiltonkreise – Planarität und Färbungen – Matchings 2 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Bäume Definition: Ein ungerichteter Graph heißt Baum, falls G zusammenhängend und kreisfrei ist. Die Knoten von mit Grad 1 heißen Blätter (leaves). Alle anderen Knoten heißen innere Knoten. 3 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Bäume mit höchstens 5 Knoten (bis auf Isomorphie) 4 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel III – Graphen; Bäume • Wälder Definition: Ein Graph, dessen (Zusammenhangs-) Komponenten jeweils Bäume sind, heißt Wald. 5 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Eigenschaften von Bäumen Satz: Jeder Baum = ( , ) mit ≥ 2enthält mindestens zwei Blätter. Beweis (informell): Nehme eine beliebige Kante und laufe nach „links“ und “rechts“ so lang wie möglich. Da man nicht in einen Kreis geraten kann endet man irgendwann in zwei verschiedenen Blättern. □ 6 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Eigenschaften von Bäumen Satz: Ist = ( , )ein Baum mit ≥ 2Knoten und ∈ ein Blatt, so ist der Graph [ ∖ { }] ebenfalls ein Baum. Beweis: Durch Wegnahme eines Blattes bleibt der Baum kreisfrei. Da Pfade zwischen beliebigen Knoten und mit ≠ ≠ erhalten bleiben, ist [ ∖ { }]auch zusammenhängend. □ 7 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Eigenschaften von Bäumen Definition: Ein Teilgraph = ( ′, ′)von = ( , ) heißt Spannbaum von , falls Baum ist und ′ = . 8 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München ein Kapitel IV – Graphen; Bäume • Eigenschaften von Bäumen Satz: Jeder zusammenhängende Graph = ( , ) enthält mindestens einen Spannbaum. Beweis: Durch Induktion über | |. Basis: | | = 0. Dann ist ein Baum und auch ein Spannbaum. 9 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Eigenschaften von Bäumen Schritt: ≥ 1. Wir betrachten zwei Fälle. Fall 1. ist ein Baum. Dann ist auch Spannbaum. Fall 2. ist kein Baum. Dann enthält einen Kreis. Entferne eine beliebige Kante des Kreises. Das Ergebnis ′ ist noch zusammenhängend und enthält einen Spannbaum (Induktionsannahme). ist auch Spannbaum von . □ 10 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Eigenschaften von Bäumen Satz: Die folgenden Aussagen sind äquivalent: (1) = ( , )ist ein Baum (2) Je zwei Knoten , ∈ sind durch genau einen Pfad verbunden (3) ist zusammenhängend und | | = | | + 1. 11 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel III – Graphen; Bäume • Eigenschaften von Bäumen (1) ⇔ (2). hat keinen Kreis gdw. keine zwei Knoten durch zwei verschiedene Pfade verbunden sind . ist zusammenhängend gdw. jede zwei Knoten durch mindestens einen Pfad verbunden sind. 12 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel III – Graphen; Bäume • Eigenschaften von Bäumen (1) ⇒ (3). Sei = ( , )ein Baum. Wir zeigen | | = | | + 1 durch Induktion über | |: Basis: | | = 1. Dann gilt | | = 0und wir sind fertig. Schritt: ≥ 2. Sei ein Blatt von ( hat mindestens zwei Blätter). Entferne sowie die Kante, die mit dem Rest von verbindet. Sei ′ = ( ′, ′) der resultierende Baum. Mit | ′| < | |gilt | | = | | + 1(Induktionsannahme). Mit | | = | ′| + 1 und | | = | ′| + 1gilt | | = | | + 1. 13 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel III – Graphen; Bäume • Eigenschaften von Bäumen (3) ⇒ (1). Sei = ( , )zusammenhängend mit | | = | | + 1. enthält einen Spannbaum = ( , ). Nach dem eben Bewiesenen gilt | | = | ′| + 1. Aus | | = | | + 1und = + 1folgt | | = | |. Da ′ eine Teilmenge von ist, gilt = ′. Es folgt = . □ 14 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Eigenschaften von Bäumen Korollar: Seien = ( , )ein Baum mit = und ( , , … , )die Gradfolge von . Es gilt: =2 =2 −2=2 −2 15 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Mehr zu Spannbäumen Satz: Die Anzahl aufspannender Bäume des vollständigen Graphen mit = {1, … , } beträgt = . (Achtung: die Knoten sind unterscheidbar!) 2 =1 5 = 625 8 = 262144 3 =3 6 = 1296 9 = 4782969 4 = 16 7 = 16807 10 = 10 16 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Die 16 Spannbäume des (Wikipedia) 17 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Spannbäume Satz (Cayley): Es gibt markierte Bäume mit n Knoten. Beweis: Wir definieren eine Abbildung (Prüfer-Codes) von der Menge der markierten Bäume mit Knoten in die Menge 1, … , (siehe die nächsten Folien). Wir zeigen, dass diese Abbildung eine Bijektion ist (siehe Lemma). Es folgt, dass die Anzahl der markierten Bäumen gleich | 1, … , |= ist. □ 18 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Prüfer-Codes (Heinz Prüfer 1896-1934). Eingabe: Baum = ( , ) mit = 1, 2, … , , ≥ 2. Wiederhole bis | | = 2: Sei ∈ das kleinste Blatt von . Sei ∈ der einzige Nachbar von in . Setze ≔ ∖ { } und ≔ ∖ , . Gebe aus. (Achtung: ,nicht !) Ausgabe: Folge ( , … , ), genannt Prüfer-Code von . 19 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Prüfer-Codes Beispiel: http://mathworld.wolfram.com/PrueferCode.html 1 6 4 3 2 5 7 8 20 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München (1,2,1,3,3,5) Kapitel IV – Graphen; Bäume • Prüfer-Codes Beispiel: http://mathworld.wolfram.com/PrueferCode.html 21 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Prüfer-Codes Lemma: Zu einem gegebenen Prüfer-Code = ( , … , ) mit Elementen aus [n] = {1, … , }gibt es einen eindeutigen markierten Baum mit Knotenmenge [ ]. Beweis: Durch Induktion über die Länge des Codes. Basis: = 2. Es gibt genau einen Baum mit Knotenmenge 1,2 . Schritt: > 2. Das erste Blatt , das gepflückt wurde, ist der kleinste Knoten in ∖ { ,…, }. Mit der Ind.Vor. gibt es einen eindeutigen Baum =( , ) für = ( , … , ). Es gilt = ∪ , ∪ , .□ 22 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Wurzelbäume Definition: Ein Wurzelbaum (rooted tree) ist ein Tupel ( , )wobei = ( , )ein Baum ist und ∈ ein Knoten, den man auch als Wurzel des Baumes bezeichnet. – Da es in einem Baum zwischen je zwei Knoten genau einen Pfad gibt, gibt es in einem Wurzelbaum von jedem Knoten genau einen Pfad zur Wurzel. 23 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Wurzelbäume Beispiel: o n h d r m b root a e c g q i f p j k 24 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München l Kapitel IV – Graphen; Bäume • Wurzelbäume Im Bild eines Wurzelbaumes wird die Wurzel in der Regel oben angeordnet, und die Wege werden von der Wurzel weggerichtet betrachtet. – Wurzelbäume dienen zur graphischen Darstellung hierarchischer Strukturen, z.B. Vererbungen, Stammbäume, grammatikalische Strukturen usw. A B C 25 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München E D Kapitel IV – Graphen; Bäume • Vorgänger, Nachfolger, Kind, Höhe – Die Knoten entlang eines Pfades von ∈ zur Wurzel heißen Vorgänger von . – Der zu benachbarte Vorgänger ist der Vater bzw. die Mutter von . – Die Knoten ∈ , von denen der Pfad zur Wurzel den Knoten ∈ enthält, heißen Nachfolger von . – Die zu benachbarten Nachfolger sind die Kinder von . – Die Höhe ℎ( ) eines Baumes ist die Länge des längsten Pfades von der Wurzel zu einem der Blätter (Beachte: Länge eine Pfades = Anzahl der Knoten). 26 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Binäre Wurzelbäume – Ein Binärbaum ist ein Wurzelbaum, in dem jeder Knoten höchstens 2 unmittelbare Nachfolger hat. – Ein vollständiger Binärbaum ist ein Binärbaum, in dem jeder innere Knoten genau zwei unmittelbare Nachfolger hat und alle Blätter denselben Abstand zur Wurzel haben. Satz: Ein binärer Wurzelbäum der Höhe hat höchstens 2 − 1 Knoten und höchstens 2 Blätter. Der vollständige Baum der Höhe hat genau 2 − 1 Knoten und 2 Blätter. 27 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Suchbäume • Ein Suchbaum ist ein Binärbaum mit den folgenden drei Eigenschaften: –Die Knotenmenge ist linear geordnet. –Die Kinder eines inneren Knoten sind beschriftet mit: linkes Kind, rechtes Kind. –Für alle inneren Knoten gilt: – Für alle Knoten im linken Unterbaum von gilt: < – Für alle Knoten u im rechten Unterbaum von v gilt: > 28 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Bäume • Suchbäume 29 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München