WS 2007/08 Diskrete Strukturen Prof. Dr. R. Westermann Lehrstuhl für Computer Grafik und Visualisierung Fakultät für Informatik Technische Universität München http://wwwcg.in.tum.de/Teaching/WS2007/DiskreteStrukturen 4/7.12.2007 Kapitel IV – Graphentheorie • Graphentheorie – Grundlagen – Bäume – Eigenschaften von Graphen – Graphen-Algorithmen – Matchings und Netzwerke 2 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Bäume Definition: Ein (ungerichteter) Graph G = (V,E) heißt Baum, falls G zusammenhängend und kreisfrei ist. Ein Knoten v mit deg(v) = 1 heißt Blatt (leaf). Alle anderen Knoten heißen innere Knoten. 3 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Graph oder Baum? 4 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Bäume Die Bäume mit höchstens 5 Knoten sind 5 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Ein Baum o n h d r m b a e c g q i f 6 p j k Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München l computer graphics & visualization Kapitel III – Graphen; Bäume • Wälder Definition: Ein Graph, dessen (Zusammenhangs-) Komponenten jeweils Bäume sind, heißen Wälder. 7 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Eigenschaften von Bäumen Satz: Jeder Baum T = (V,E) mit |V| 2 enthält mindestens zwei Blätter. Beweis (verifiziere anhand der vorletzten Folie): Nehme eine beliebige Kante und laufe nach „links“ und “rechts“ solange du kannst. Da man nicht in einen Zyklus geraten kann endet man irgendwann in einem Blatt. □ 8 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Eigenschaften von Bäumen Satz: Ist T = (V,E) ein Baum mit |V| 2 Knoten und v V ein Blatt, so ist der Graph T´ := T[V \ {v}] ebenfalls ein Baum. Beweis: Durch Wegnahme eines Blattes bleibt der Baum kreisfrei. Da Pfade zwischen beliebigen Knoten u und w erhalten bleiben, ist der Graph T´ auch zusammenhängend. □ 9 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Die folgenden Aussagen sind äquivalent: 1) G = (V,E) ist ein Baum. 2) Je zwei Knoten u,v V mit u v sind durch genau einen Pfad verbunden. 3) G ist zusammenhängend und |V| = |E| + 1. Beweis in der nächsten Stunde 10 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel III – Graphen; Bäume 1) 2) Wären u,v V , u v durch zwei Pfade verbunden, so ergäbe dies einen Kreis. Dies wäre ein Widerspruch zur Annahme. 2) 1) 11 Ist C ein Kreis in G, so sind je zwei Knoten aus G durch zwei verschiedene Pfade verbunden. Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel III – Graphen; Bäume 1) 3) Beweis durch Induktion: Für |E| = 0 gilt |V| = 1 (Induktionsanfang). G muss einen Knoten mit Grad 1 enthalten: Wähle u V beliebig. Wähle einen Nachbarn u1 von u. Falls deg(u1) > 1, wähle einen Nachbarn u2 u von u1 usw. Da V endlich und G zusammenhängend und kreisfrei ist (sonst gäbe es ein Knotenpaar mit zwei verschiedenen einfachen Pfaden dazwischen), kommt man schließlich zu einem Blatt. 12 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel III – Graphen; Bäume 1) 3) Beweis durch Induktion: … Entfernt man dieses Blatt (und die inzidente Kante) und wendet auf den entstehenden Graphen die Induktionsvoraussetzung an, erhält man: (|V| − 1) = (|E| − 1) + 1 Damit ist bewiesen, dass |V | = |E| + 1. □ 13 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel III – Graphen; Bäume 3) 1) Sei T = (VC,EC) ein aufspannender Baum von G. Nach dem eben Bewiesenen ergibt dies: 1 = |V| - |E| |VC| - |EC| = 1, also E = EC, d.h. G = T. □ 14 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Grade und Kanten in Bäumen Korollar: Seien T = (V,E) ein Baum mit |V| = n und (d1, d2,…, dn) die Gradfolge von T, dann gilt: n d i 1 i 2 E 2n 2 15 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Spannbäume Definition: Ein Teilgraph T = (V´,E´) von G = (V,E) heißt Spannbaum von G, falls T ein Baum und V´= V. 16 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Spannbäume Satz: Jeder zusammenhängende Graph G enthält mindestens einen Spannbaum. Beweis: 17 – Entweder G ist bereits ein Spannbaum oder G besitzt einen Kreis C (sei k eine bel. Kante in C). – Dann ist G1 = G(V, E \ {k}) zusammenhängend. – Entweder ist G1 ein Spannbaum oder G1 besitzt einen Kreis C1. (sei k1 eine bel. Kante in C1). usf. – Nach endlich vielen Schritten erhält man einen Spannbaum. □ Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Spannbäume Frage: Wieviele aufspannende Bäume hat ein Graph? Satz: Für vollständige Graphen auf {1,2,…,n} gilt: Die Anzahl aufspannender Bäume ist t(n) = nn-2 18 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Spannbäume des K2 und K3 n=2 n=3 19 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Spannbäume des K4 n=4 20 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Spannbäume v5 v1 v6 v3 v2 v7 v4 21 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Spannbäume v5 v1 v6 v3 v2 v7 v4 22 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Spannbäume v5 v1 v6 v3 v2 v7 v4 23 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Spannbäume Ein Spannbaum T = (V´,E´) von G = (V,E) ist durch die Teilmenge E´ E der Kanten von G definiert. Sei t(G) die Menge aller Spannbäume von G. Man kann t(G) als eine Teilmenge von P(E) (Potenzmenge von E) auffassen. Mit |P(E)| = 2|E| gilt dann |t(G) | < 2|E| 24 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Satz von Cayley: Es gibt nn−2 markierte Bäume mit n Knoten. Beweis: Wir zeigen, dass eine Bijektion zwischen der Menge der markierten Bäume mit n Knoten und der Menge der Folgen der Länge n−2 mit Elementen aus {1, ... ,n} existiert. 25 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Prüfer-Codes Gegeben sei ein markierter Baum T(V,E) mit Knotenmenge V = {1, 2, ..., n}, n 2. Wiederhole bis |V| = 2: Sei v V das Blatt mit der kleinsten Markierung in V. Sei u V der einzige Nachbar von v in V. Entferne v aus V und {u,v} aus E gebe die Markierung von u aus. 26 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Prüfer-Codes Die Ausgabe des Algorithmus auf der letzten Seite wird der Prüfer-Code des Baumes genannt (Heinz Prüfer 1896-1934). Der Prüfer-Code eines Baums ist eine eindeutige Folge der Länge n−2 mit Elementen aus {1, ..., n}. Zu einem gegebenen Prüfer-Code der Länge n−2 mit Elementen aus {1, ..., n} gibt es einen eindeutigen markierten Baum. 27 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Prüfer-Codes Beispiel: http://mathworld.wolfram.com/PrueferCode.html 28 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Prüfer-Codes Beispiel: http://mathworld.wolfram.com/PrueferCode.html 29 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Satz von Cayley: Es gibt nn−2 markierte Bäume mit n Knoten. Beweis: Prüfer-Codes geben eine Bijektion zwischen der Menge der markierten Bäume mit n Knoten und der Menge der Folgen der Länge n−2 mit Elementen aus {1, ... ,n} an. Da es nn−2 solche Folgen gibt, ist der Satz bewiesen. □ 30 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Wurzelbäume Definition: Ein Wurzelbaum (rooted tree) ist ein Tupel (T,v) wobei T = (V,E) ein Baum ist und v V 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. 31 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization 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. 32 – Wurzelbäume dienen zur graphischen Darstellung hierarchischer Strukturen, z.B. Vererbungen, Stammbäume, grammatikalische Strukturen usw. Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München A 1 B 1 C 2 E 2 D computer graphics & visualization Kapitel IV – Graphen; Bäume • Wurzelbäume – Die Knoten entlang eines Pfades von v V zur Wurzel heißen Vorgänger von v. – Der zu v benachbarte Vorgänger heißt unmittelbarer Nachbar oder auch Vater- bzw. Mutter-Knoten. – Alle Knoten u V , von denen der Pfad zur Wurzel den Knoten v V enthält, werden Nachfolger von v genannt. – Die unmittelbaren Nachfolger werden auch Sohnoder Kind-Knoten genannt. 33 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Wurzelbäume – Finde die Vorgänger, Nachfolger, Vater, Sohn des Knotens f o n h r d m b root a e c g q i f 34 p j k Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München l computer graphics & visualization Kapitel IV – Graphen; Bäume • 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. – Ein Suchbaum ist ein Binärbaum, bei dem die (direkten) Nachfolger eines Knoten geordnet sind. • Die Knotenmenge ist eine linear geordnete Menge • Für alle inneren Knoten v gilt: – Für alle Knoten u im linken Unterbaum von v gilt: u < v – Für alle Knoten u im rechten Unterbaum von v gilt: u v 35 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Bäume • Binärbäume 36 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization