ws 2009/10 diskrete strukturen - tum - chair vii ... diskrete strukturen ws 09/10 prof. dr. j....
Post on 02-Apr-2018
219 Views
Preview:
TRANSCRIPT
Prof. Dr. J. Esparza
Lehrstuhl für Grundlagen derSoftwarezuverlässigkeit und theoretische
InformatikFakultät für Informatik
Technische Universität München
http://www7.in.tum.de/um/courses/ds/ws0910
WS 2009/10
Diskrete Strukturen
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
2
Kapitel IV – Graphentheorie• Graphentheorie
– Grundlagen
– Bäume
– Eigenschaften von Graphen
– Graphen-Algorithmen
– Matchings
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
3
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.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
4
Kapitel IV – Graphen; Bäume• Graph oder Baum?
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
5
Kapitel IV – Graphen; Bäume• Bäume
Die Bäume mit höchstens 5 Knoten sind
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
6
Kapitel IV – Graphen; Bäume• Ein Baum
a
b
c
d
e
f
g
h
i
j k l
m
no
p
q
r
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
7
Kapitel III – Graphen; Bäume• Wälder
Definition:
Ein Graph, dessen (Zusammenhangs-) Komponenten jeweils Bäume sind, heißen Wälder.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
8
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. □
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
9
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. □
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
10
Kapitel IV – Graphen; Bäume• Eigenschaften von Bäumen
Definition:Ein Teilgraph T = (V´,E´) von G = (V,E) heißt Spannbaumvon G, falls T ein Baum und V´= V.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
11
Kapitel IV – Graphen; Bäume• Eigenschaften von Bäumen
Satz: Jeder zusammenhängende Graph G =(V, E) enthält mindestens einen Spannbaum.
Beweis: Durch Induktion über |E|.
Basis: |E|=0. Dann ist G ein Baum und auch ein Spannbaum.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
12
Kapitel IV – Graphen; Bäume• Eigenschaften von Bäumen
Schritt: |E| ¸ 1. Wir betrachten zwei Fälle.
Fall 1. G ist ein Baum. Dann ist G auch Spannbaum.
Fall 2. G ist kein Baum. Dann enthält G einen Kreis. Entferne eine beliebige Kante des Kreises. Das Ergebnis G´ ist noch zusammenhängend und enthält einen Spannbaum T (Induktionsannahme). T ist auch Spannbaum von G. □
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
13
Kapitel IV – Graphen; Bäume• Eigenschaften von Bäumen
Satz:
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.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
14
Kapitel III – Graphen; Bäume(1) , (2)
Kein Kreis , keine zwei Knoten sind durch zwei verschiedene Pfade verbunden.
Zusammenhängend , jede zwei Knoten sind durch mindestens einen Pfad verbunden.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
15
Kapitel III – Graphen; Bäume(1) (3)
Sei G=(V,E) ein Baum. Wir zeigen |V|=|E|+1 durch Induktion über |V|:
Basis: |V|= 1. Dann gilt |E|= 0 und wir sind fertig.
Schritt: |V|¸ 2. Sei u ein Blatt von G (G hat mindestens zwei Blätter). Entferne u sowie die Kante, die u mit dem Rest von G verbindet. Sei G´=(V´,E´) der resultierender Graph. G´ ist wieder ein Baum. Mit |V´| < |V| gilt |V´| = |E´| + 1 (Induktionsannahme). Mit |V| = |V´|+1 und |E| = |E´|+ 1 gilt |V| = |E| + 1.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
16
Kapitel III – Graphen; Bäume(3) (1)
Sei G=(V,E) zusammenhängend mit |V|=|E|+1.
G enthält einen Spannbaum T = (V, E´) . Nach dem eben Bewiesenen gilt |V| =|E´| + 1. Aus |V|=|E|+1 und |V| =|E´| + 1 folgt |E|=|E´|.
Da E´ eine Teilmenge von E ist gilt E = E´.
Es folgt G = T. □
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
17
Kapitel IV – Graphen; Bäume• Eigenschaften von Bäumen
Korollar:Seien T = (V,E) ein Baum mit |V| = n und (d1, d2,…, dn) die Gradfolge von T, dann gilt:
1
2 2 2 2 2n
ii
d E V n
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
18
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
(Achtung: die Knoten sind unterscheidbar!)
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
19
Kapitel IV – Graphen; Bäume• Spannbäume des K2 und K3
n = 2
n = 3
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
20
Kapitel IV – Graphen; Bäume• Spannbäume des K4
n = 4
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
21
Kapitel IV – Graphen; Bäume• Satz von Cayley:
Es gibt nn−2 markierte Bäume mit n Knoten.
Beweis:
Wir definieren eine Abbildung von der Menge der markierten Bäume mit n Knoten in die Menge der Folgen der Länge n−2 mit Elementen aus {1, ... ,n}
(siehe die nächsten Folien).
Diese Abbildung ist eine Bijektion (ohne Beweis).
Da es nn−2 solche Folgen gibt, ist der Satz bewiesen.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
22
Kapitel IV – Graphen; Bäume• Die Abbildung: 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 und
gebe die Markierung von u aus.
(Achtung!: die Markierung von u, nicht die von v)
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
23
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.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
24
Kapitel IV – Graphen; Bäume• Prüfer-Codes
Beispiel:
http://mathworld.wolfram.com/PrueferCode.html
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
25
Kapitel IV – Graphen; Bäume• Prüfer-Codes
Beispiel:
http://mathworld.wolfram.com/PrueferCode.html
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
26
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.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
27
Kapitel IV – Graphen; Bäume• Wurzelbäume: Beispiel
a
b
c
d
e
f
g
h
i
j k l
m
no
p
q
r
root
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
28
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 E
C D
21
1 2
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
29
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 Sohn-oder Kind-Knoten genannt.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
30
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.
Vorlesung Diskrete Strukturen WS 09/10Prof. Dr. J. Esparza – Institut für Informatik, TU München
31
Kapitel IV – Graphen; Bäume• Wurzelbäume
– 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
top related