Computer Graphics

Werbung
WS 2008/09
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/ws0809
Kapitel IV – Graphentheorie
• Graphentheorie
– Grundlagen
– Bäume
– Eigenschaften von Graphen
– Graphen-Algorithmen
– Matchings
2
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
Kapitel IV – Graphen; Bäume
• Graph oder Baum?
4
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
Kapitel IV – Graphen; Bäume
• Bäume
Die Bäume mit höchstens 5 Knoten sind
5
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
l
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 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
Kapitel IV – Graphen; Bäume
• Eigenschaften von Bäumen
Definition:
Ein Teilgraph T = (V´,E´) von G = (V,E) heißt Spannbaum
von G, falls T ein Baum und V´= V.
10
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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.
11
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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.
□
12
Vorlesung Diskrete Strukturen WS 08/09
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) 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.
13
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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.
14
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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.
15
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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.
□
16
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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:
n
i 1
di
2E
2V
2
2n 2
17
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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!)
18
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
Kapitel IV – Graphen; Bäume
• Spannbäume des K2 und K3
n=2
n=3
19
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
Kapitel IV – Graphen; Bäume
• Spannbäume des K4
n=4
20
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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.
21
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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.
22
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 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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.
23
Vorlesung Diskrete Strukturen WS 08/09
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
24
Vorlesung Diskrete Strukturen WS 08/09
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
25
Vorlesung Diskrete Strukturen WS 08/09
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 (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.
26
Vorlesung Diskrete Strukturen WS 08/09
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
27
p
j
k
Vorlesung Diskrete Strukturen WS 08/09
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.
28
– Wurzelbäume dienen zur
graphischen Darstellung
hierarchischer Strukturen,
z.B. Vererbungen, Stammbäume,
grammatikalische Strukturen usw.
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
A
1
B
1
C
2
E
2
D
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.
29
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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.
30
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
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
31
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
Kapitel IV – Graphen; Bäume
• Binärbäume
32
Vorlesung Diskrete Strukturen WS 08/09
Prof. Dr. J. Esparza – Institut für Informatik, TU München
Herunterladen