V - Fakultät für Informatik

Werbung
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
Herunterladen