Uploaded by gagot98818

part03-graphs 1

advertisement
Modellierung
Teil III: Graphen
Henning Wachsmuth
Institut für Informatik, Universität Paderborn
https://cs.upb.de/css
(auf Basis der Veranstaltungen vergangener Jahre)
Modellierung III
Graphen
© Wachsmuth 2021/22
1
Gliederung
I. Einleitung
II. Grundlagen formaler Kalküle
III. Graphen
•
•
•
•
Ungerichtete Graphen
Gerichtete Graphen
Ungerichtete Bäume
Gerichtete Bäume
IV. Aussagenlogik
V. Prädikatenlogik
VI. Modellierung von Unsicherheit
VII. Reguläre Ausdrücke
VIII. Endliche Automaten
IX. Grammatiken
X. Petri-Netze
Modellierung III
Graphen
© Wachsmuth 2021/22
2
Übersicht
Graphen
• Graphen beschreiben Objekt-Beziehungen durch Knoten und Kanten.
• Knoten. Mengen gleichartiger Objekte
• Kanten. Beziehungen zwischen je zwei Objekten
• Graphen sind geeignet für die Modellierung verschiedener Aufgaben.
• Wir betrachten hier endliche ungerichtete und gerichtete Graphen.
Beispiele
Bielefeld
Kamen
Hannover
abheben
Paderborn
au
fle
Unna
Wünnenberg
Modellierung III
Graphen
Ziffer wählen
ge
Gespräch führen
n
Kassel
© Wachsmuth 2021/22
3
Ungerichtete Graphen
Ungerichtete Graphen
Definition 3.1 (Ungerichteter Graph)
• Ein (ungerichteter) Graph G ist ein Paar (V, E), wobei V eine endliche
nicht-leere Menge von Knoten (engl. vertices) ist. Die Menge E ist eine
Teilmenge der Menge der zweielementigen Teilmengen von V , also
E ✓ {{x, y} : x, y 2 V, x 6= y}.
• Die Elemente der Menge E bezeichnet man als Kanten (engl. edges).
Darstellungsbeispiele
• G = (V, E)
a
b
• V = {a, b, c, d}
• E = {{a, b}, {a, c},
{c, d}, {c, b}}
Modellierung III
Graphen
b
d
c
d
c
a
© Wachsmuth 2021/22
5
Ungerichtete Graphen
Definition 3.1 (Ungerichteter Graph)
• Ein (ungerichteter) Graph G ist ein Paar (V, E), wobei V eine endliche
nicht-leere Menge von Knoten (engl. vertices) ist. Die Menge E ist eine
Teilmenge der Menge der zweielementigen Teilmengen von V , also
E ✓ {{x, y} : x, y 2 V, x 6= y}.
• Die Elemente der Menge E bezeichnet man als Kanten (engl. edges).
Weitere Graphbeispiele
Modellierung III
Graphen
© Wachsmuth 2021/22
6
Ungerichtete Graphen
Einige Graphfamilien
Vollständiger Graph
• Ein vollständiger Graph Kn auf n Knoten besteht aus
n Knoten, die paarweise miteinander durch Kanten
verbunden sind.
K5
Kreis
• Ein (einfacher) Kreis Cn auf n 3 Knoten besteht aus
n Knoten, die zyklisch miteinander verbunden sind.
C5
Pfad
• Ein Pfad Pn besteht aus n + 1 Knoten und n Kanten, die aufeinander
folgende Knoten miteinander verbinden.
P4
Modellierung III
Graphen
© Wachsmuth 2021/22
7
Ungerichtete Graphen
Weitere Graphfamilien
Hyperwürfel
• Ein d-dimensionaler Hyperwürfel Qd hat als
Knotenmenge {0, 1}d.
• Zwei Knoten sind genau dann durch eine
Kante verbunden, wenn sich ihre Folgen an
genau einer Stelle unterscheiden.
Q3
Gittergraph
• Ein Gittergraph Gn⇥m besteht aus n · m Knoten,
die in einem n ⇥ m Gitter angeordnet sind.
• Zwei Knoten sind durch eine Kante verbunden,
wenn sie in einer Zeile nebeneinander oder in
einer Spalte untereinander stehen.
Modellierung III
Graphen
G4⇥5
© Wachsmuth 2021/22
8
Ungerichtete Graphen
Adjazenz und Indizenz
Definition 3.2 (Adjazenz, Inzidenz)
• Für eine Kante e = {u, v} 2 E heißen u, v Endknoten von e.
• Adjazenz. Zwei Knoten u, v 2 V heißen adjazent, wenn sie durch eine
Kante verbunden sind, d.h. {u, v} 2 E.
• Inzidenz. Ein Knoten v 2 V und eine Kante e 2 E heißen inzident, wenn
v einer der Endknoten von e ist.
Beispiel
a
b
c
d
• a und b sind die Endknoten von {a, b}.
• a und b sind adjazent.
• a ist inzident zu {a, b} und zu {a, c}.
• ...
Modellierung III
Graphen
© Wachsmuth 2021/22
9
Ungerichtete Graphen
Nachbarschaft und Knotengrad
Definition 3.3 (Nachbarschaft, Knotengrad)
• Nachbarschaft. Für einen Knoten v eines Graphen G = (V, E) ist die
Nachbarschaft (v) von v definiert durch
(v) := {u 2 V : {u, v} 2 E}.
• Knotengrad. Der Knotengrad (oder auch: Grad) von v bezeichnet die
Größe der Nachbarschaft von v:
deg(v) := | (v)|.
Beispiel
•
a
b
c
d
(a) = {b, c}
• deg(a) = 2
•
(d) = {c}
• deg(d) = 1
Modellierung III
Graphen
© Wachsmuth 2021/22
10
Knotengrade
Satz 3.1 (Knotengrad)
• Für jeden Graphen G = (V, E) gilt:
Beweis
P
v2V
deg(v) = 2 · |E|.
• Sei G = (V, E) ein Graph. Für v 2 V sei E(v) := {e 2 E : v 2 e}. Es gilt:
X
X
X
X X
deg(v) =
| (v)| =
|{u 2 V : {u, v} 2 E}| =
1
v2V
v2V
v2V
v2V e2E(v)
• Durch Vertauschen der Summationsreihenfolge erhalten wir:
X X
XX
1 =
1
v2V e2E(v)
e2E v2e
• Jede Kante enthält zwei Knoten, daher gilt für jede Kante e:
X
1=2
v2e
Fortsetzung auf nächster Folie.
Modellierung III
Graphen
© Wachsmuth 2021/22
11
Knotengrade
Satz 3.1 (Knotengrad)
• Für jeden Graphen G = (V, E) gilt:
P
v2V
deg(v) = 2 · |E|.
Fortsetzung des Beweises
• Jede Kante enthält zwei Knoten, daher gilt für jede Kante e:
X
1=2
v2e
• Somit gilt:
XX
e2E v2e
• Insgesamt erhalten wir:
X
v2V
Modellierung III
Graphen
1 = 2 · |E|
deg(v) = 2 · |E|
2
© Wachsmuth 2021/22
12
Knotengrade
Knoten mit ungeradem Grad
Korollar 3.1 (Knoten mit ungeradem Grad)
• Für jeden Graphen G = (V, E) gilt, dass die Anzahl der Knoten mit
ungeradem Grad gerade ist.
Beweis
• Sei Vg := {v 2 V : deg(v) gerade} und Vu := {v 2 V : deg(v) ungerade}.
• Sei V = Vg [ Vu.
• Es gilt:
X
v2V
•
•
P
P
v2V
deg(v) =
X
v2Vg
deg(v) +
X
deg(v)
v2Vu
deg(v) = 2 · |E| ist gerade (nach Satz 3.1).
deg(v) ist gerade, da jeder Summand gerade ist.
P
• Jeder Summand in v2Vu deg(v) ist ungerade. ) |Vu| ist gerade.
v2Vg
Modellierung III
Graphen
© Wachsmuth 2021/22
2
13
Wege
Definition 3.4 (Weg, Pfad)
• Weg. Ein Weg der Länge l, l 2 N, in einem Graphen G = (V, E) ist eine
Folge W = (v0, v1, . . . , vl ) von Knoten aus V , so dass je zwei aufeinander
folgende Knoten durch eine Kante miteinander verbunden sind, also
{vi, vi+1} 2 E
für alle i = 0, . . . , l
1.
• v0 wird Anfangsknoten und vl wird Endknoten des Weges W genannt.
Alle anderen Knoten werden innere Knoten genannt.
• Pfad. Ein Pfad ist ein Weg, in dem alle Knoten verschieden sind.
Beispiel
• (a, c, d, e, c, b) ist ein Weg, aber
kein Pfad in G.
• (a, b, c) ist ein Pfad in G.
Modellierung III
Graphen
a
d
c
G
b
e
© Wachsmuth 2021/22
14
Wege
Definition 3.4 (Weg, Pfad)
• Weg. Ein Weg der Länge l, l 2 N, in einem Graphen G = (V, E) ist eine
Folge W = (v0, v1, . . . , vl ) von Knoten aus V , so dass je zwei aufeinander
folgende Knoten durch eine Kante miteinander verbunden sind, also
{vi, vi+1} 2 E
für alle i = 0, . . . , l
1.
• v0 wird Anfangsknoten und vl wird Endknoten des Weges W genannt.
Alle anderen Knoten werden innere Knoten genannt.
• Pfad. Ein Pfad ist ein Weg, in dem alle Knoten verschieden sind.
g
Weiteres Beispiel
• (f, g, f, h) ist ein Weg, aber kein Pfad in G.
G
i
f
• (f, g, i) ist ein Pfad in G.
h
Modellierung III
Graphen
© Wachsmuth 2021/22
15
Wege
Kreise
Definition 3.5 (Kreis)
• Ein Kreis der Länge l, l 3, in einem Graphen G = (V, E) ist eine Folge
C = (v1, . . . , vl ) von l Knoten, so dass
{v1, vl } 2 E
und {vi, vi+1} 2 E
für alle i = 1, . . . , l
1,
und diese l Kanten paarweise verschieden sind.
Beispiele
• (a, c, b) ist ein Kreis in G.
• (d, e, c) ist ein Kreis in G.
a
c
G
b
• (a, b, c, d, e, c) ist ein Kreis in G.
• (f, g, i, h) ist ein Kreis in G.
d
G
e
g
i
f
• (f, g, h, i) ist kein Kreis in G.
h
Modellierung III
Graphen
© Wachsmuth 2021/22
16
Teilgraphen
Definition 3.6 (Teilgraphen)
• Teilgraph. Ein Graph H = (VH , EH ) heißt (schwacher) Teilgraph eines
Graphen G = (VG, EG), falls
VH ✓ VG
und
EH ✓ EG .
• Induzierter Teilgraph. Ein Teilgraph H heißt induzierter Teilgraph von G,
wenn EH alle Kanten aus EG, deren Endpunkte in VH liegen, enthält:
EH = EG \ {{v1, v2} : v1 2 VH , v2 2 VH }},
Beispiel
• H ist Teilgraph, aber nicht induzierter Teilgraph von G.
a
G
d
a
c
Modellierung III
Graphen
d
c
e
b
H
b
e
© Wachsmuth 2021/22
17
Teilgraphen
Definition 3.6 (Teilgraphen)
• Teilgraph. Ein Graph H = (VH , EH ) heißt (schwacher) Teilgraph eines
Graphen G = (VG, EG), falls
VH ✓ VG
und
EH ✓ EG .
• Induzierter Teilgraph. Ein Teilgraph H heißt induzierter Teilgraph von G,
wenn EH alle Kanten aus EG, deren Endpunkte in VH liegen, enthält:
EH = EG \ {{v1, v2} : v1 2 VH , v2 2 VH }},
Weiteres Beispiel
• H ist induzierter Teilgraph von G.
a
G
d
c
Modellierung III
Graphen
a
c
e
b
H
e
© Wachsmuth 2021/22
18
Teilgraphen
Zusammenhängende Graphen
Definition 3.7 (Zusammenhang)
• Ein u-v-Pfad im Graphen G = (V, E) ist ein Pfad in G mit Anfangsknoten
u und Endknoten v.
• Zusammenhängend. Ein Graph G = (V, E) heißt zusammenhängend,
wenn für jedes Paar von Knoten u, v 2 V, u 6= v, ein u-v-Pfad in G
existiert. Andernfalls heißt der Graph G unzusammenhängend.
Beispiel
• G1 ist zusammenhängend, G2 ist nicht zusammenhängend.
g
G1
i
f
h
Modellierung III
Graphen
g
G2
d
f
h
© Wachsmuth 2021/22
19
Teilgraphen
Zusammenhangskomponenten
Definition 3.8 (Zusammenhangskomponente)
• Ein Zusammenhangskomponente eines Graphen G = (VG, EG) ist ein
Teilgraph H = (VH , EH ), für den folgende Bedingungen gelten:
1. H ist zusammenhängend.
2. G besitzt keinen anderen Teilgraphen H 0, der zusammenhängend ist
und H als Teilgraphen enthält.
Beispiel
G
a
c
b
Modellierung III
Graphen
g
d
i
f
e
k
h
l
© Wachsmuth 2021/22
20
Teilgraphen
Anzahl an Zusammenhangskomponenten
Satz 3.2 (Zusammenhangskomponenten)
• Die Anzahl an Zusammenhangskomponenten in einem Graphen G =
(V, E) ist mindestens |V | |E|.
Beweis über Induktion nach m = |E|
• IA. m = 0:
– G besitzt keine Kanten.
– Jeder Knoten bildet also eine eigene Zusammenhangskomponente.
– Die Anzahl an Zusammenhangskomponenten ist |V | = |V |
0.
• IV. Der Satz ist korrekt für einen Graphen G = (V, E) mit m Kanten.
Fortsetzung auf nächster Folie.
Modellierung III
Graphen
© Wachsmuth 2021/22
21
Teilgraphen
Anzahl an Zusammenhangskomponenten
Satz 3.2 (Zusammenhangskomponenten)
• Die Anzahl an Zusammenhangskomponenten in einem Graphen G =
(V, E) ist mindestens |V | |E|.
Fortsetzung des Induktionsbeweises
• IV. Der Satz ist korrekt für einen Graphen G = (V, E) mit m Kanten.
• IS. m ! m + 1:
– G = (V, E) besitze m + 1 Kanten. Sei e 2 E eine beliebige Kante.
– Setze E 0 := E\{e} und G0 := (V, E 0). Dann ist |E 0| = m und nach IV
enthält G0 mindestens |V | m Zusammenhangskomponenten.
– Es gilt, dass das Hinzunehmen einer Kante die Anzahl an
Zusammenhangskomponenten höchstens um 1 verringern kann.
– Also besitzt G mindestens |V | m
Zusammenhangskomponenten.
Modellierung III
Graphen
1 = |V |
(m + 1) = |V |
|E|
© Wachsmuth 2021/22
2
22
Teilgraphen
Anzahl an Kanten in Zusammenhangskomponenten
Korollar 3.2 (Kanten in Zusammenhangskomponenten)
• Für jeden zusammenhängenden Graphen G = (V, E) gilt:
|E|
|V |
1.
Beweis
• Ein zusammenhängender Graph G besteht per Definition aus einer
Zusammenhangskomponente.
• Nach Satz 3.2 gilt also |V |
• Daraus folgt: |E|
Modellierung III
Graphen
|V |
|E|  1.
1
2
© Wachsmuth 2021/22
23
Modellierung mit Graphen
Leonhard Euler
• Schweizer Mathematiker, 1707 – 1783
Eulers Schaffen
• Euler ist unter Anderem bekannt für Arbeiten zur Graphentheorie.
• Er löste das so genannte Königsberger Brückenproblem.
Modellierung III
Graphen
© Wachsmuth 2021/22
24
Modellierung mit Graphen
Wegeprobleme
Königsberger Brückenproblem
1. Gibt es einen Weg, der jede der sieben Brücken genau einmal
überquert und zum Ausgangspunkt zurückkehrt?
2. Gibt es einen Weg, der jede der Brücken genau einmal überquert?
C
A
D
B
Modellierung III
Graphen
© Wachsmuth 2021/22
25
Modellierung mit Graphen
Wegeprobleme: Königsberger Brückenproblem
Lösungsansätze für Frage 1 (Kreis)
1. Alle Wege aufzählen und prüfen, ob sie die Bedingungen erfüllen.
2. Oder nachdenken:
• Rundweg. Jeder Knoten wird genauso oft betreten, wie verlassen.
• Keine Brücke doppelt. Jeder Knoten muss geraden Grad haben.
) Lösung. Kein Rundweg in Königsberg möglich (Antwort “nein”).
Lösungsansatz für Frage 2 (Weg)
• Unterschied zu Frage 1:
1. Ausgangspunkt ist einmal öfter zu verlassen als zu erreichen.
2. Endpunkt ist einmal öfter zu erreichen als zu verlassen.
• Also dürften zwei Knoten ungeraden Grad haben (oder keiner).
) Lösung. Kein solcher Weg in Königsberg möglich (Antwort “nein”).
Modellierung III
Graphen
© Wachsmuth 2021/22
26
Wege und Kreise
Definition 3.9 (Eulerweg, Eulerkreis)
• Sei G = (V, E) ein zusammenhängender Graph.
• Eulerweg. Ein Weg W in G heißt Eulerweg, falls er jede Kante des
Graphen genau einmal enthält.
• Eulerkreis. Ein Kreis C in G heißt Eulerkreis, falls er jede Kante des
Graphen genau einmal enthält.
Beispiele
• G1 hat Eulerwege, z.B. (a, b, d, a, c, d). G2 hat Eulerkreise, z.B. (a, b, d, c).
c
d
c
d
a
b
a
b
G1
Modellierung III
Graphen
G2
© Wachsmuth 2021/22
27
Wege und Kreise
Eigenschaften von Eulerwegen und -kreisen
Satz 3.3 (Knotengrad in Eulerkreisen)
• Sei der Graph G = (V, E) zusammenhängend. G besitzt einen Eulerkreis
genau dann, wenn der Grad aller Knoten gerade ist.
Satz 3.4 (Knotengrad in Eulerwegen)
• Sei der Graph G = (V, E) zusammenhängend. G besitzt einen Eulerweg
genau dann, wenn genau zwei Knoten ungeraden Grad haben oder alle
Knoten geraden Grad haben.
Beweise ausgelassen. Idee ist Grade zu zählen (“)”) bzw. Kreis/Weg zu konstruieren (“(”).
Konsequenz für Königsberger Brückenproblem
C
• G besitzt keinen Eulerkreis, da G Knoten mit
ungeradem Grad hat.
• G besitzt keinen Eulerweg, da G vier Knoten mit
ungeraden Grad hat.
Modellierung III
Graphen
A
D
B
© Wachsmuth 2021/22
28
Modellierung mit Graphen
Verbindungsprobleme: Schiffverbindungen
Problem: Schiffverbindungen
• Für n
3 Inseln sollen Schiffsverbindungen organisiert werden.
• Jede Insel soll mit jeder anderen Insel direkt verbunden sein.
• Es steht nur ein Schiff zur Verfügung.
• Frage. Gibt es eine Tour, auf der ein Schiff jede Verbindung zwischen
zwei Inseln genau einmal abfährt?
Modellierung
• Zu beantworten ist, ob der vollständige Graph Kn
auf n Knoten einen Eulerkreis hat.
K5
Lösung
• In Kn hat jeder Knoten Grad n
1.
• Kn hat einen Eulerkreis genau dann, wenn n ungerade ist.
Modellierung III
Graphen
© Wachsmuth 2021/22
29
Modellierung mit Graphen
Verbindungsprobleme: Haus vom Nikolaus
Problem: Haus vom Nikolaus
• Frage. Kann das „Haus vom Nikolaus” ohne Absetzen gemalt werden?
e
d
c
a
b
Lösung
• Genau zwei Knoten haben einen ungeraden Knotengrad.
• Also gibt es einen Eulerweg und damit ist die Frage zu bejahen.
Modellierung III
Graphen
© Wachsmuth 2021/22
30
Modellierung mit Graphen
Wegeprobleme: Planung eines Gruselkabinetts
Problem: Planung eines Gruselkabinetts
• Es soll ein Gruselkabinett mit n Räumen, einer Eingangs- und einer
Ausgangstür sowie beliebig vielen Innentüren geplant werden.
• Jede Tür schließt nach Durchgehen bis zum Verlassen des Kabinetts.
• Die Besucher gehen einzeln durch das Kabinett.
• Frage. Was ist zu beachten, damit niemand eingesperrt wird?
Lösung (am Beispiel)
2
3
E
5
A
1
4
• Der Graph des Kabinetts muss einen Eulerweg von E nach A haben,
d.h. E und A müssen als einzige Knoten ungeraden Grad besitzen.
Modellierung III
Graphen
© Wachsmuth 2021/22
31
Wege und Kreise
Hamiltonwege und -kreise
Definition 3.10 (Hamiltonweg, Hamiltonkreis)
• Hamiltonweg. Ein Weg W in einem beliebigen Graphen G = (V, E) heißt
Hamiltonweg, falls er jeden Knoten v 2 V genau einmal enthält.
• Hamiltonkreis. Ein Kreis C in G = (V, E) heißt Hamiltonkreis, falls er
jeden Knoten v 2 V genau einmal enthält.
Beispiel
• G1 besitzt Hamiltonkreis, G2 lediglich einen Hamiltonweg: (i, h, j, g, f )
g
f
j
G1
i
f
j
i
G2
h
Modellierung III
g
Graphen
h
© Wachsmuth 2021/22
32
Wege und Kreise
Markierung von Graphen
Definition 3.11 (Markierungen)
• Knotenmarkierung. Eine Knotenmarkierung eines Graphen G = (V, E)
ist eine Funktion l : V ! W , wobei W eine beliebige Menge ist.
• Kantenmarkierung. Eine Kantenmarkierung eines Graphen G = (V, E)
ist eine Funktion m : E ! U , wobei U eine beliebige Menge ist.
Bielefeld
300
Beispiel
• Knotenmarkierungen
sind rot.
• Kantenmarkierungen
sind grün.
9
Unna
67
Modellierung III
Graphen
77
Kamen
48
80
126
30
13
Hannover
518
Paderborn
140
163
68
Wünnenberg
12
Kassel
281
© Wachsmuth 2021/22
33
Modellierung mit Graphen
Verbindungsprobleme in markierten Graphen
Das Problem des Handlungsreisenden
• Ein Handelsvertreter möchte auf einer Rundreise n Städte besuchen.
• Die Städte sind mit Straßen einer gewissen Länge verbunden.
• Manche Städte lassen sich von anderen ggf. nicht direkt erreichen.
• Gesucht. Eine Rundtour minimaler Länge, die jede Stadt genau einmal
besucht.
Modellierung
• Sei G = (V, E) ein Graph mit Kantenmarkierung m : E ! N.
• V repräsentiert die Städte, E direkte Verbindungen zwischen Städten
und m die Längen der direkten Verbindungen.
• Gesucht ist ein möglichst kurzer Hamiltonkreis, d.h. die Summe der
Markierungen auf den Kanten des Kreises ist minimal.
Modellierung III
Graphen
© Wachsmuth 2021/22
34
Modellierung mit Graphen
Komplexität
Lösung des Problems des Handlungsreisenden am Beispiel
a
30
50
55
d
25
b
52
48
c
a
30
50
55
d
25
b
52
48
Kreis der
Länge 157
c
Beobachtung: Komplexität von Problemen
• Manche Probleme lassen sich durch „einfache” Verfahren lösen.
• Beispiel. Feststellen, ob ein Graph einen Eulerkreis besitzt.
Genauer: Die Probleme liegen in der Komplexitätsklasse P, siehe 3. Semester.
• Andere sind “schwer”, dort ist kein allgemeines Verfahren bekannt.
• Beispiel. Feststellen, ob ein Graph einen Hamiltonkreis besitzt.
Genauer: Sie liegen in der Komplexitätsklasse NP, bzw. sie sind NP-vollständig.
Modellierung III
Graphen
© Wachsmuth 2021/22
35
Modellierung mit Graphen
Weitere Verbindungsprobleme
Problem: Nachrichten in Parallelrechnern
• Ein Parallelrechner mit n2 Prozessoren ist als n ⇥ n Gitter verbunden.
• Eine Nachricht soll von einem Prozessor zum nächsten weitergegeben
werden, jeden genau 1x erreichen und zum Ursprung zurückkehren.
• Frage. Für welche n ist dies möglich?
Modellierung
• Betrachte Gittergraphen Gn⇥n.
G4⇥4
• Existiert in Gn⇥n ein Hamiltonkreis?
Lösung
• In Gn⇥n existiert ein Hamiltonkreis genau dann, wenn n gerade ist.
• Das lässt sich beweisen.
Unten wird das nur für eine Richtung skizziert.
Modellierung III
Graphen
© Wachsmuth 2021/22
36
Modellierung mit Graphen
Hamiltonkreis im Gittergraphen
Satz 3.5 (Hamiltonkreis im Gittergraphen)
• Ein Gittergraph Gn⇥n hat einen Hamiltonkreis gdw. n gerade ist.
Beweis für „Hamiltonkreis ) n gerade”
• Seien die n2 Knoten in Gn⇥n abwechselnd schwarz und weiß gefärbt, so
dass miteinander verbundene Knoten unterschiedliche Farben haben.
• Auf einem Kreis alternieren die Farben der Knoten des Kreises.
• Ein Kreis berührt die gleiche Anzahl schwarzer und weißer Knoten.
• Dann muss n2 gerade sein und damit muss auch n gerade sein.
2
Graphische Illustration
Modellierung III
Graphen
© Wachsmuth 2021/22
37
Gerichtete Graphen
Übersicht
Ungerichtete vs. gerichtete Graphen
Bielefeld
Hannover
Ungerichtete Graphen
• Modellierung symmetrischer
Beziehungen und Relationen
Kamen
Paderborn
• Beispiele. sind befreundet, sind
benachbart, sind verbunden
Unna
Wünnenberg
Kassel
Gerichtete Graphen
• Modellierung asymmetrischer
Beziehungen und Relationen
Speziell Abhängigkeiten und Abläufe.
• Beispiele. impliziert, ist besser
als, muss vorher ausgeführt
werden, ist abhängig von
Modellierung III
Graphen
abheben
au
fle
ge
n
Ziffer wählen
Gespräch führen
© Wachsmuth 2021/22
39
Gerichtete Graphen
Definition 3.12 (Gerichteter Graph)
• Ein gerichteter Graph (engl. directed graph) D ist ein Paar (V, A), auch
Digraph genannt.
• V ist eine endliche nicht-leere Menge von Knoten (engl. vertices).
• A ✓ V ⇥ V ist eine Menge von gerichteten Kanten (engl. arcs).
Beispiel
• D = (V, A)
b
d
a
c
• V = {a, b, c, d}
• A = {(a, a), (a, b), (b, a), (c, a),
(b, c), (b, d), (c, d)}
Sprechweise
• Eine Kante der Form (u, u) wird Schleife genannt.
Modellierung III
Graphen
© Wachsmuth 2021/22
40
Modellierung mit Graphen
Aufgabe zu gerichteten Graphen
Modellierungsaufgabe
• Modellieren Sie folgende Konstellation mit einem gerichteten Graphen:
Ein Javaprogramm habe die Klassen Energie, FossileEnergie,
RegenerativeEnergie, SolarEnergie und WindEnergie.
Die Klassen FossileEnergie und RegenerativeEnergie sind
Unterklassen von Energie, und SolarEnergie und WindEnergie
sind Unterklassen von RegenerativeEnergie.
Modellierung III
Graphen
© Wachsmuth 2021/22
41
Gerichtete Graphen
Eingangs- und Ausgangsgrade
Definition 3.13 (Eingangsgrad, Ausgangsgrad)
• Eingangsgrad. Der Eingangsgrad eines Knoten v eines gerichteten
Graphen D = (V, A) ist definiert als:
indeg(v) := |{u 2 V : (u, v) 2 A}|
• Ausgangsgrad. Der Ausgangsgrad von v ist definiert als:
outdeg(v) := |{u 2 V : (v, u) 2 A}|
Beispiel
b
d
• indeg(a) = 3
• outdeg(a) = 2
a
Modellierung III
Graphen
c
• indeg(b) = 1
• outdeg(b) = 3
© Wachsmuth 2021/22
42
Gerichtete Graphen
Eigenschaften von Graden
Satz 3.6 (Verhältnis von Eingangs- und Ausgangsgrad)
• Für jeden gerichteten Graphen D = (V, A) gilt:
X
X
indeg(v) =
outdeg(v).
v2V
v2V
Beweis
• Hier ausgelassen.
Der Satz lässt sich über Induktion nach der Anzahl |A| an Kanten in D beweisen.
Sprechweise
• Für einen Knoten v 2 V wird indeg(v) + outdeg(v) auch der Grad von v
genannt.
Modellierung III
Graphen
© Wachsmuth 2021/22
43
Gerichtete Graphen
Wege in gerichteten Graphen
Definition 3.14 (Weg, Pfad)
• Weg. In einem gerichteten Graphen D = (V, A) ist ein Weg der Länge
l, l 2 N, eine Folge W = (v0, v1, . . . , vl ) von Knoten aus V , so dass je zwei
aufeinander folgende Knoten durch eine Kante verbunden sind, also
(vi, vi+1) 2 A
für alle i = 0, . . . , l
1.
• v0 wird Anfangsknoten und vl wird Endknoten des Weges W genannt.
Alle anderen Knoten werden innere Knoten genannt.
• Pfad. Ein Pfad ist ein Weg, in dem alle Knoten verschieden sind.
Beispiel
b
d
a
c
• (c, a, b, d) ist ein Pfad im Graphen.
• (a, a, b, c, d) ist ein Weg, aber kein Pfad.
Modellierung III
Graphen
© Wachsmuth 2021/22
44
Gerichtete Graphen
Kreise in gerichteten Graphen
Definition 3.15 (Kreis)
• Ein Kreis der Länge l, l 2 N, in einem gerichteten Graphen D = (V, A)
ist eine Folge C = (v1, . . . , vl ) von l Knoten, so dass
(vl , v1) 2 A
und (vi, vi+1) 2 A
für alle i = 1, . . . , l
1,
und diese l Kanten paarweise verschieden sind.
D
Beispiel
• (b, c, d, f ) ist ein Kreis in D.
a
• (c, d) ist ein Kreis in D.
• (a, e, d, c) ist kein Kreis in D.
Modellierung III
Graphen
e
c
b
g
d
f
© Wachsmuth 2021/22
45
Gerichtete Graphen
Kreisfreie Graphen – DAGs
Definition 3.16 (DAG)
• Ein gerichteter Graph D = (V, A) heißt kreisfrei oder DAG (engl. directed
acyclic graph), falls D keine Kreise besitzt.
Beispiel
• Beide folgende Graphen sind DAGs:
Modellierung III
Graphen
© Wachsmuth 2021/22
46
Modellierung mit Graphen
Abhängigkeitsprobleme
Problem: Projektorganisation I
• Ein großes Projekt wird in fünf Teilprojekte a, b, c, d, e aufgeteilt, um die
Bearbeitung zu vereinfachen und zu beschleunigen.
• Es existieren folgende Abhängigkeiten zwischen den Teilprojekten:
1. Teilprojekte b und c benötigen die Ergebnisse von Teilprojekt a.
2. c muss abgeschlossen sein, bevor b und e starten können.
3. d kann erst starten, nachdem b und e abgeschlossen sind.
• Frage. Kann das Projekt mit der Aufteilung in die Teilprojekte a, . . . , e
bearbeitet werden?
c
e
Modellierung
• Graphische Darstellung der
Abhängigkeiten von Teilprojekten:
a
d
b
Modellierung III
Graphen
© Wachsmuth 2021/22
47
Topologische Sortierung
Definition 3.17 (Topologische Sortierung)
• Eine topologische Sortierung eines gerichteten Graphen D = (V, A) mit
|V | = n ist eine bijektive Funktion s : V ! {1, . . . , n}, so dass
s(u) < s(v)
für alle Kanten (u, v) 2 A.
Beispiel
• Gerichteter Graph, rechts mit topologischer Sortierung:
1
c
2
d
7g
1
c
i 3
7g
i 3
e5
e5
8 f
h4
a
9
Modellierung III
Graphen
2
d
b
6
8 f
h4
a
9
b
6
© Wachsmuth 2021/22
48
Topologische Sortierung
Beziehung zu Kreisen
Satz 3.7 (Topologische Sortierung von DAGs)
• Ein gerichteter Graph D = (V, A) besitzt genau dann eine topologische
Sortierung, wenn D kreisfrei ist.
• Das heißt, DAGs und nur DAGs besitzen eine topologische Sortierung.
Beweis für „)”
• Sei D = (V, A) ein beliebiger Graph mit topologischen Sortierung s.
• Annahme. D hat einen Kreis C = (v1, . . . , vl ), d.h. (vl , v1) 2 A.
• Wegen Sortierung gilt s(vi) < s(vi+1) für jedes i 2 {1, . . . , l
1}.
• Dann gilt jedoch s(vl ) > s(v1). Das ist ein Widerspruch.
• Dann muss die Annahme falsch gewesen sein.
2
Beweis für „(”
• Hier ausgelassen.
Es lässt sich zeigen, dass s für beliebige D konstruiert werden kann.
Modellierung III
Graphen
© Wachsmuth 2021/22
49
Topologische Sortierung
Graphische Darstellung
Topologische Sortierung als Numerierung
1
c
2
d
7g
i 3
e5
8 f
h4
a
9
b
6
Toplogische Sortierung als lineare Anordnung
c
Modellierung III
d
Graphen
i
h
e
b
g
f
a
© Wachsmuth 2021/22
50
Modellierung mit Graphen
Abhängigkeitsprobleme: Projektorganisation I
Lösung über topologische Sortierung
• D ist ein DAG, da D eine topologische Sortierung besitzt:
D
2
c
4
e
2
c
D
1 a
4
e
1 a
d 5
d 5
b
3
b
3
• Mögliche Reihenfolge der Teilprojekte:
a
Modellierung III
Graphen
c
b
e
d
© Wachsmuth 2021/22
51
Modellierung mit Graphen
Abhängigkeitsprobleme mit Kosten
Problem: Projektorganisation II
• Ein großes Projekt wird in fünf Teilprojekte a, b, c, d, e aufgeteilt, um die
Bearbeitung zu vereinfachen und zu beschleunigen.
• Dabei existieren folgende Abhängigkeiten zwischen den Teilprojekten:
1. Teilprojekte b und c benötigen die Ergebnisse von Teilprojekt a.
2. c muss abgeschlossen sein, bevor b und e starten können.
3. d kann erst starten, nachdem b und e abgeschlossen sind.
• Die Bearbeitung jedes Teilprojekts benötigt zwei Stunden.
• Um das Projekt zu beschleunigen, werden mehrere Teams gebildet.
Jedes der Teams kann jedes der Teilprojekte bearbeiten.
• Fragen. Wie viele Teams sollten gebildet werden? Wie lange dauert die
Bearbeitung des gesamten Projekts?
Modellierung III
Graphen
© Wachsmuth 2021/22
52
Gerichtete Graphen
Kritische Pfade in gerichteten Graphen
Definition 3.18 (Kritischer Pfad)
• Sei D = (V, A) ein gerichteter, kreisfreier Graph und sei W = (v0, . . . , vl )
ein Weg in D.
• Länge. Die Anzahl an Kanten l eines Wegs W heißt Länge von W .
• Kritischer Pfad. Ein Pfad maximaler Länge in D heißt kritischer Pfad.
Beispiel
• Weg der Länge 3 in D,
und ein Pfad in D:
c
• Pfad der Länge 5 in D,
und ein kritischer Pfad von D:
c
d
g
e
h
a
Graphen
i
e
D
f
Modellierung III
g
i
D
b
d
h
f
a
b
© Wachsmuth 2021/22
53
Modellierung mit Graphen
Abhängigkeitsprobleme mit Kosten: Projektorganisation II
Modellierung
• Berechne topologische Sortierung des Graphen der Abhängigkeiten.
• Bestimme kritischen Pfad.
D
2
c
4
e
1 a
d 5
b
3
Lösung
• Ein kritischer Pfad der Länge 3 existiert.
) Das Projekt benötigt mindestens (3 + 1) · 2 = 8 Stunden.
) Zwei Teams genügen, um das Projekt in 8 Stunden zu beenden.
Modellierung III
Graphen
© Wachsmuth 2021/22
54
Gerichtete und ungerichtete Graphen
Definition 3.19 (Zugrunde liegender Graph)
• Jedem gerichteten Graphen D = (V, A) kann ein ungerichteter Graph
G = (V, E) zugeordnet werden, indem
1. jede gerichtete Kante (u, v), u 6= v, durch die ungerichtete Kante
{u, v} ersetzt wird,
2. Schleifen entfernt werden, und danach
3. mehrfach auftretende Kanten durch eine Kante ersetzt werden.
• G heißt der D zugrunde liegende ungerichtete Graph.
Beispiel: Schritt 1
Schritt 2 hier nicht relevant, Schritt 3 siehe unten
D
a
c
f
Graphen
a
g
d
b
Modellierung III
e
G
c
b
e
g
d
f
© Wachsmuth 2021/22
55
Gerichtete und ungerichtete Graphen
Definition 3.19 (Zugrunde liegender Graph)
• Jedem gerichteten Graphen D = (V, A) kann ein ungerichteter Graph
G = (V, E) zugeordnet werden, indem
1. jede gerichtete Kante (u, v), u 6= v, durch die ungerichtete Kante
{u, v} ersetzt wird,
2. Schleifen entfernt werden, und danach
3. mehrfach auftretende Kanten durch eine Kante ersetzt werden.
• G heißt der D zugrunde liegende ungerichtete Graph.
Beispiel: Schritt 3
Schritt 1 siehe oben, Schritt 2 hier nicht relevant.
D
a
c
f
Graphen
a
g
d
b
Modellierung III
e
G
c
b
e
g
d
f
© Wachsmuth 2021/22
56
Teilgraphen
Zusammenhängende gerichtete Graphen
Definition 3.20 (Starker und schwacher Zusammenhang)
• Ein Pfad in einem gerichteten Graphen D = (V, A) mit Anfangsknoten u
und Endknoten v heißt gerichteter u-v-Pfad in D.
• Stark zusammenhängend. D heißt stark zusammenhängend, wenn für
jedes Paar an Knoten u, v 2 V, u 6= v, ein gerichteter u-v-Pfad in D
existiert.
• Schwach zusammenhängend. D heißt schwach zusammenhängend,
wenn der zugrunde liegende Graph G = (V, E) zusammenhängend ist.
Beispiel
• Der linke Graph ist stark zusammenhängend, der rechte schwach:
Modellierung III
Graphen
© Wachsmuth 2021/22
57
Teilgraphen
Induzierte Teilgraphen
Definition 3.21 (Teilgraphen)
• Teilgraph. Ein gerichteter Graph H = (VH , AH ) heißt (schwacher)
Teilgraph eines gerichteten Graphen D = (VD , AD ), falls
VH ✓ VD
und AH ✓ AD .
• Induzierter Teilgraph. Ein Teilgraph H heißt induzierter Teilgraph von D,
wenn AH alle Kanten aus AD , deren Endpunkte in VH liegen, enthält:
AH = AD \ (VH ⇥ VH ) ,
Beispiel
a
e
c
Modellierung III
g
d
b
f
Graphen
e
d
f
Durch d, e, f, g
g induzierter
Teilgraph
© Wachsmuth 2021/22
58
Modellierung mit Graphen
Programmablaufgraphen
Programmablaufgraph
• Modellierung von Abläufen durch ein verzweigtes Programm
• Einsatz in Compilern und Analysewerkzeugen der Softwareentwicklung
• Knoten. Entsprechen Zuweisungen oder Bedingungen
Bedingungen: Sowohl bedingte Anweisungen als auch in Schleifen.
• Kanten. Führen zu möglichen Nachfolgern im Programmablauf
Anwendungen von Programmablaufgraphen
• Testen von Software. Menge von Wegen, die alle Kanten überdecken
• Datenflussanalyse. Wege mit bestimmten Eigenschaften
Modellierung III
Graphen
© Wachsmuth 2021/22
59
Modellierung mit Graphen
Programmablaufgraphen: Beispiel
ug = 0;
// A
og = obereGrenze;
// B
while ug <= og do
mitte = (ug + og)/2;
// C
// D
A
B
if a[mitte] == x then
return mitte;
// E
// F
C
else if a[mitte] < x then
ug = mitte + 1;
// G
// H
D
else
og = mitte
// I
1;
Exit
E
end
F
G
end
return “nicht gefunden”;
Modellierung III
J
Graphen
// J
H
I
© Wachsmuth 2021/22
60
Modellierung mit Graphen
Aufrufgraphen
Aufrufgraphen
• Modellierung der Aufrufbeziehungen von Funktionen eines Programms
• Einsatz in Compilern und Analysewerkzeugen der Softwareentwicklung
• Knoten. Entsprechen Aufrufen im Programm
• Kanten. (a, b) bedeutet, dass Funktion a Funktion b aufrufen könnte
Anwendungen von Aufrufgraphen
• Analyse. Funktionen, die rekursiv sind
• Verifikation. Funktionen, die nicht (mehr) erreichbar sind
a
Beispiel
• Kreise entsprechen Funktionen, die sich
wechselweise rekursiv aufrufen.
• Fall (c, e). Funktion c ruft Funktion e auf,
die wiederum c aufruft.
Modellierung III
Graphen
c
b
d
© Wachsmuth 2021/22
e
61
Ungerichtete Bäume
Bäume und Wälder
Definition 3.22 (Baum, Wald)
• Baum. Ein Baum ist ein zusammenhängender, kreisfreier Graph.
• Wald. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten
Bäume sind.
• Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt Blatt.
• Andere Knoten heißen innere Knoten.
Beispiele für Bäume
Baum T1
Baum T2
5
1
3
c
4
6
2
7
Knoten 1, 2, 5, 7 sind die Blätter
des Baums T1.
Modellierung III
Graphen
e
b
a
d
Knoten a, b, d, e sind die Blätter
des Baums T2.
© Wachsmuth 2021/22
63
Bäume und Wälder
Definition 3.22 (Baum, Wald)
• Baum. Ein Baum ist ein zusammenhängender, kreisfreier Graph.
• Wald. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten
Bäume sind.
• Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt Blatt.
• Andere Knoten heißen innere Knoten.
Beispiel für einen Wald
c
b
a
d
h
f
e
g
k
l
i
j
Ein Wald mit vier Zusammenhangskomponenten. Welche?
Modellierung III
Graphen
© Wachsmuth 2021/22
64
Bäume und Wälder
Eigenschaften: Anzahl von Blättern
Lemma 3.1 (Anzahl von Blättern)
• Jeder Baum T = (V, E) mit |V |
Blätter.
2 Knoten enthält mindestens zwei
Beweis über Pfadkonstruktion
• Zeige, dass in jedem Baum T ein Pfad existiert, dessen Anfangs- und
Endknoten Blätter sind.
• Wähle eine beliebige Kante e 2 E, e = {u, v}.
• Durchlaufe von u und v unterschiedliche Pfade Pu, Pv in T , bis ein
Knoten erreicht wird, an dem der Pfad endet.
• Die Endknoten von Pu, Pv müssen unterschiedliche Blätter in T sein. 2
Modellierung III
Graphen
© Wachsmuth 2021/22
65
Bäume und Wälder
Eigenschaften: Anzahl von Blättern
Lemma 3.1 (Anzahl von Blättern)
• Jeder Baum T = (V, E) mit |V |
Blätter.
2 Knoten enthält mindestens zwei
Beispiel der Beweiskonstruktion
Baum T
5
1
e
3
9
2
4
6
7
8
Modellierung III
Graphen
© Wachsmuth 2021/22
66
Bäume und Wälder
Eigenschaften: Teilgraphen
Lemma 3.2 (Teilgraphen von Bäumen)
• Ist T = (V, E) ein Baum mit |V |
2 Knoten und u 2 V ein Blatt, so ist
der durch V 0 = V \ {u} induzierte Teilgraph T 0 ebenfalls ein Baum.
Beweis
• Zu zeigen ist, dass T 0 (1) kreisfrei und (2) zusammenhängend ist.
Beweis der Kreisfreiheit
• Durch Entfernen von Kanten können niemals Kreise entstehen.
2
Beweis des Zusammenhangs
• Zeige für beliebige Knoten x, y 2 V \ {u}, dass x, y in T 0 durch einen
Pfad verbunden sind.
• In T gibt es einen Pfad Px,y der x und y verbindet.
• Da die inneren Knoten eines Pfades Grad 2 besitzen, aber deg(u) = 1,
ist u nicht in Px,y enthalten. Also ist Px,y ein Pfad in T 0.
2
Modellierung III
Graphen
© Wachsmuth 2021/22
67
Bäume und Wälder
Eigenschaften: Anzahl von Kanten
Satz 3.8 (Anzahl von Kanten)
• Ist T = (V, E) ein Baum, so gilt |E| = |V |
1.
Beweis über Widerspruch
• Annahme. Es gibt ein Beispiel, für das |E| =
6 |V |
1 gilt.
• Sei T0 = (V0, E0) das kleinste solche Gegenbeispiel. Also:
– T0 ist ein Baum mit |E0| =
6 |V0|
1
– Für jeden Baum T = (V, E) mit |V | < |V0| gilt |E| = |V |
• Für |V | = 1 gilt der Satz offensichtlich, also gilt: |V0|
1.
2
• Nach Lemma 3.1 enthält T0 mindestens zwei Blätter u, v.
• Sei u0 der Knoten, mit dem u in T0 durch eine Kante verbunden ist.
• Betrachte T 0 = (V 0, E 0) mit V 0 = V0 \ {u} und E 0 = E0 \ {{u, u0}}.
Fortsetzung auf nächster Folie.
Modellierung III
Graphen
© Wachsmuth 2021/22
68
Bäume und Wälder
Eigenschaften: Anzahl von Kanten
Satz 3.8 (Anzahl von Kanten)
• Ist T = (V, E) ein Baum, so gilt |E| = |V |
1.
Beweis über Widerspruch (Fortsetzung)
• Betrachte T 0 = (V 0, E 0) mit V 0 = V0 \ {u} und E 0 = E0 \ {{u, u0}}.
• Nach Konstruktion ist T 0 ein Baum.
• Da |V 0| < |V0| und T0 kleinstes Gegenbeispiel war, gilt |E 0| = |V 0|
1.
• Es gilt |V0| = |V 0| + 1 und |E0| = |E 0| + 1.
• Damit ist |E0| = |V0|
Modellierung III
Graphen
1, was im Widerspruch zur Annahme steht.
© Wachsmuth 2021/22
2
69
Modellierung mit Graphen
Modellierungsaufgabe zu ungerichteten Bäumen
Problem: Stammbaum
• Es sei folgendes Wissen über die Kinder von Zahra gegeben:
Zahra hat zwei Kinder, Milad und Maja. Milad hat eine Tochter namens
Roxanne; Maja hat zwei Söhne, Max und Timon.
• Modellieren Sie diese Konstellation mit einem Baum.
Modellierung in Vorlesung.
Fragen
1. Wäre ein „vollständiger” Stammbaum mit beiden Elternteilen auch noch
ein Baum?
2. Ist ein ungerichteter Graph hier der beste Modellierungsformalismus?
Antworten in Vorlesung.
Modellierung III
Graphen
© Wachsmuth 2021/22
70
Spannbäume
Definition 3.23 (Spannbaum)
• Sei G = (VG, EG) ein zusammenhängender Graph. Ein Teilgraph T =
(VT , ET ) heißt Spannbaum von G, falls T ein Baum ist, für den gilt:
VT = VG und ET ✓ EG
Beispiele für Spannbäume
Modellierung III
Graphen
© Wachsmuth 2021/22
71
Spannbäume
Eigenschaften: Existenz von Spannbäumen
Satz 3.9 (Existenz von Spannbäumen)
• Jeder zusammenhängende Graph G enthält einen Spannbaum.
Beweis über Baumkonstruktion (Skizze)
• Hier nur die Idee des Beweises graphisch
Es werden solange Kanten entfernt, wie noch Kreise vorhanden sind.
Modellierung III
Graphen
© Wachsmuth 2021/22
72
Spannbäume
Minimale Spannbäume
Definition 3.24 (Gewicht von Teilgraphen)
• Sei G = (V, E) ein Graph mit Kantenmarkierung m : E ! N und sei
H = (VH , EH ) ein Teilgraph von G.
• Dann ist das Gewicht w(H) von H:
w(H) :=
X
m(e)
e2EH
Definition 3.25 (Minimaler Spannbaum)
• Sei G = (V, E) zusammenhängend mit Kantenmarkierung m : E ! N.
• Ein Spannbaum T = (VT , ET ) heißt minimaler Spannbaum von G, wenn
er unter allen Spannbäumen von G minimales Gewicht besitzt, also:
w(T ) =
Modellierung III
Graphen
min
w(T 0)
T Spannbaum von G
0
© Wachsmuth 2021/22
73
Spannbäume
Minimale Spannbäume: Beispiel
Beispielgraph G
4
d
c
2
5
e
1
5
2
3
1
4
a
f
b
2
Minimaler Spannbaum von G
4
d
2
5
e
2
2
f
1
4
a
Graphen
1
5
3
Modellierung III
c
b
© Wachsmuth 2021/22
74
Modellierung mit Graphen
Weitere Verbindungsprobleme
Problem: Kommunikationsverbindungen
• Eine Menge von Stationen soll durch Kommunikationsverbindungen so
(direkt) verknüpft werden, dass je zwei Stationen (indirekt über weitere
Stationen) miteinander kommunizieren können.
• Die Verbindung zweier Stationen ist mit gewissen stationsabhängigen
Kosten verbunden.
• Manche Stationen können nicht direkt miteinander verbunden werden.
• Gesucht. Eine Menge von Verbindungen, die möglichst geringe Kosten
verursacht und Kommunikation zwischen allen Stationen ermöglicht.
Modellierung als minimales Spannbaumproblem
• Graph G = (V, E) mit Kantenmarkierung m : E ! N:
• Knoten. Stationen
• Kanten. Direkte Kommunikationsverbindungen zwischen Stationen
• Kantenmarkierungen. Kosten, welche diese Verbindung verursacht
Modellierung III
Graphen
© Wachsmuth 2021/22
75
Modellierung mit Graphen
Problem: Kommunikationsverbindungen
Beispielgraph G
16
d
19
21
e
33
a
c
6
11
5
14
f
10
b
18
Minimaler Spannbaum von G
d
16
e
a
Modellierung III
Graphen
18
c
6
11
5
f
b
© Wachsmuth 2021/22
76
Modellierung mit Graphen
Spannbaumprobleme in der Praxis
Spannbaumprobleme
• Konstruktion von Autobahnnetzen und Eisenbahnnetzen
• Verbindungen auf einem Halbleiter/Chip
• Telefonverbindungen
• Stromverbindungen zwischen Gebäuden
• Wasserrohre, Kanalisationsrohre
• Verbindungen für ein LAN (local area network)
• ...
Zu beachten
• In der Praxis wird nicht immer nur ein Spannbaum angestrebt.
• Ausfallsicherheit und/oder Effizienz können redundante Verbindungen
gewünscht machen.
Modellierung III
Graphen
© Wachsmuth 2021/22
77
Modellierung mit Graphen
Zuordnungsprobleme: Seminarthemen I
Problem: Seminarthemen I
• In einem Seminar bearbeiten Teams zu je 2 Studierenden ein Thema.
• Dabei sollen nur befreundete Studierende ein Team bilden.
• Frage. Gibt es eine solche Aufteilung? Wenn ja, wie sieht sie aus?
Modellierung
• Knoten. Repräsentieren Studierende
• Kanten. Repräsentieren Freundschaften
• Fette Kanten. Mögliche Zuordnung zu Teams von Freunden
Beispiel
c
d
e
a
Modellierung III
Graphen
e
f
b
c
d
a
f
b
© Wachsmuth 2021/22
78
Modellierung mit Graphen
Zuordnungsprobleme: Seminarthemen II
Problem: Seminarthemen II
• n Studierende eines Seminar bearbeiten in k Teams jeweils ein Thema.
• Studierende, die sich nicht mögen, sollen in verschiedenen Teams sein.
• Frage. Gibt es eine solche Aufteilung der n Studierenden in k Teams?
Modellierung
• Knoten. Repräsentieren Studierende
• Kanten. Repräsentieren Abneigungen
• Farben. Markieren eine mögliche Zuordnung von Themen
Beispiel (sei k = 3)
c
d
e
a
Modellierung III
Graphen
e
f
b
c
d
a
f
b
© Wachsmuth 2021/22
79
Modellierung mit Graphen
Zuordnungsprobleme: Zuordnung von Wartungsjobs
Problem: Zuordnung von Wartungsjobs
• Eine Gruppe unterschiedlich ausgebildeter Informatiker*innen soll zur
Wartung von Softwarepaketen eingesetzt werden.
• Dabei soll jede*r Informatiker*in nur für ein Softwarepaket eingesetzt
werden, für das er*sie auch ausgebildet ist.
• Frage. Gibt es eine entsprechende Zuteilung? Falls ja, welche?
Modellierung
• Knoten. Aufgaben (eckige Knoten) bzw. Informatiker*innen (runde)
• Kanten. „kann warten”-Beziehung
• Fette Kanten. Mögliche Zuordnung von Informatiker*innen zu Aufgaben
Beispiel
A1
I1
Modellierung III
A2
I2
Graphen
A3
I3
A4
I4
A1
I5
I1
A2
I2
A3
I3
A4
I4
I5
© Wachsmuth 2021/22
80
Modellierung mit Graphen
Zuordnungsprobleme: Zuteilung von Rechenaufgaben
Problem: Zuteilung von Rechenaufgaben
• Auf l Spezialrechnern sollen k verschiedene Aufgaben gelöst werden.
• Jedoch können nicht alle Aufgaben auf jedem Rechner gelöst werden.
• Außerdem soll jeder Rechner höchstens eine Aufgabe lösen müssen.
• Frage. Gibt es ein solche Zuordnung der Aufgaben? Falls ja, welche?
Modellierung
• Knoten. Aufgaben (eckige Knoten) bzw. Rechner (runde)
• Kanten. „kann lösen”-Beziehung
Beispiel
A1
A2
A3
A4
A5
C1
C2
C3
C4
C5
Modellierung III
Graphen
Korrekte Zuordnung nicht möglich, da die
drei Aufgaben A2, A4, A5 jeweils nur auf den
Rechnern C2, C5 gelöst werden können.
© Wachsmuth 2021/22
81
Matchings
Definition 3.26 (Matching, perfektes Matching)
• Matching. Eine Kantenmenge M ✓ E heißt Matching in einem Graphen
G = (V, E), falls kein Knoten des Graphen zu mehr als einer Kante aus
M inzident ist, also falls
e \ f = ; für alle e, f 2 M mit e 6= f .
• Man sagt, dass ein Knoten v von M überdeckt wird, falls es eine Kante
e 2 M gibt, die v enthält.
• Perfektes Matching. Ein Matching heißt perfekt, wenn jeder Knoten
durch genau eine Kante aus M überdeckt wird, also falls |M | = |V |/2.
Beispiele
• Drei Matchings, das zweite ist ein perfektes Matching.
Modellierung III
Graphen
© Wachsmuth 2021/22
82
Modellierung mit Graphen
Zuordnungsprobleme: Seminarthemen I (Fortsetzung)
Problem: Seminarthemen I
• In einem Seminar bearbeiten Teams zu je 2 Studierenden ein Thema.
• Dabei sollen nur befreundete Studierende ein Team bilden.
• Frage. Gibt es eine solche Aufteilung? Wenn ja, wie sieht sie aus?
Beispiel
c
d
e
a
e
f
b
c
d
a
f
b
Lösung für das Beispiel
• Eine Zuordnung ist möglich, da es ein perfektes Matching für den
Graphen gibt.
Modellierung III
Graphen
© Wachsmuth 2021/22
83
Bipartite Graphen
Definition 3.27 (Bipartiter Graph)
• Ein Graph G = (V, E) heißt bipartit, falls die Knotenmenge V die
Vereinigung zweier disjunkter Teilmengen A und B ist, und jede Kante
e 2 E eine Endknoten in A und einen Endknoten in B besitzt.
Beispiele
Schreibweisen
• A ] B bezeichnet die Vereinigung von disjunkten Mengen A und B.
• Für bipartite Graphen G schreiben wir auch G = (A ] B, E).
Modellierung III
Graphen
© Wachsmuth 2021/22
84
Bipartite Graphen
Existenz von Matchings
Definition 3.28 (Nachbarschaft)
• Sei G = (V, E) ein Graph und sei X ✓ V .
S
• Dann ist (X) := v2X (v) die Nachbarschaft der Knotenmenge X.
Satz 3.10 (Satz von Hall, Heiratssatz)
• Für einen bipartiten Graph G = (A ] B, E) gibt es genau dann ein
Matching M der Größe |M | = |A|, wenn gilt
| (X)|
|X|
für alle X ✓ A.
Zweigeteilter Beweis des Satzes
1. Matching der Größe |M | = |A|
2. Matching der Größe |M | = |A|
)
(
| (X)|
| (X)|
|X| für alle X ✓ A
|X| für alle X ✓ A
Beweis ausgelassen; relativ komplexe Pfadkonstruktion mit geringem Lernertrag.
Modellierung III
Graphen
© Wachsmuth 2021/22
85
Modellierung mit Graphen
Zuordnungsprobleme: Zuteilung von Rechenaufgaben
Modellierung
• Knoten. Aufgaben (eckige Knoten) bzw. Rechner (runde)
• Kanten. „kann lösen”-Beziehung
A1
A2
A3
A4
A5
C1
C2
C3
C4
C5
Lösung für das Beispiel
• Eine korrekte Zuordnung von Aufgaben zu Rechnern ist nach dem Satz
von Hall nicht möglich, denn es gilt:
| ({A2, A4, A5})| < |{A2, A4, A5}|.
Modellierung III
Graphen
© Wachsmuth 2021/22
86
Färbung von Graphen
Definition 3.29 (Knotenfärbung, chromatische Zahl)
• Knotenfärbung. Eine Knotenfärbung eines Graphen G = (V, E) mit k
Farben ist eine Abbildung c : V ! {1, . . . , k}, so dass gilt:
c(u) 6= c(v)
für alle Kanten {u, v} 2 E.
• Chromatische Zahl. Die chromatische Zahl (G) von G ist die minimale
Anzahl an Farben, die für eine Knotenfärbung von G benötigt werden.
• Ist (G)  k, so heißt G k-färbbar.
Beispiele für Färbungen
C5
C5 ist 3-färbbar, C5 ist nicht 2-färbbar.
Modellierung III
Graphen
Q3
Q3 ist 2-färbbar.
© Wachsmuth 2021/22
87
Modellierung mit Graphen
Zuordnungsprobleme: Seminarthemen II
Modellierung
• Knoten. Repräsentieren Studierende
• Kanten. Repräsentieren Abneigungen
• Farben. Markieren eine mögliche Zuordnung von Themen
Beispiel (sei k = 3)
c
d
e
a
e
f
b
c
d
a
f
b
Lösung für das Beispiel
• Eine Zuordnung der Themen zu 3 Teams ist möglich, da der Graph
3-färbbar ist.
Modellierung III
Graphen
© Wachsmuth 2021/22
88
Färbung von Graphen
Eigenschaften von bipartiten Graphen
Satz 3.11 (2-Färbbarkeit)
• Ein Graph G = (V, E) ist genau dann bipartit, wenn er 2-färbbar ist.
Beweis
• Hier ausgelassen.
Beide Richtungen über einfache Konstruktionen zeigbar.
Satz 3.12 (Kreisfreiheit)
• Ein Graph G = (V, E) ist genau dann bipartit, wenn er keinen Kreis
ungerader Länge als Teilgraphen enthält.
Beweis
• Hier ebenfalls ausgelassen.
Etwas komplexere Konstruktionen nötig.
Modellierung III
Graphen
© Wachsmuth 2021/22
89
Gerichtete Bäume
Wurzelbäume
Definition 3.30 (Wurzelbaum)
• Ein Wurzelbaum (auch: gerichteter Baum) ist ein gerichteter azyklischer
Graph, in dem genau ein Knoten w Eingangsgrad 0 besitzt und alle
anderen Knoten Eingangsgrad 1 besitzen.
• Der Knoten w heißt die Wurzel des Graphen.
• Knoten mit Ausgangsgrad 0 heißen Blätter.
Beispiel
c
b
a
d
e
f
Wurzelbaum mit Wurzel c
Modellierung III
Graphen
© Wachsmuth 2021/22
91
Wurzelbäume
Von ungerichtet zu gerichtet
Alternative Definition
• Ein Wurzelbaum ist ein Paar (T, w), wobei T = (V, E) ein ungerichteter
Baum ist und w 2 V ein Knoten ist. w heißt die Wurzel des Graphen.
Von ungerichtet zu gerichtet
• In T gibt es für jeden Knoten v 2 V einen eindeutigen Pfad von w zu v.
• Durch Orientierung der Kanten von oben nach unten lässt sich für
jeden Knoten v 2 V ein gerichteter Pfad von w zu v ableiten.
Beispiel (Der eckige Knoten bezeichnet hier die Wurzel.)
a
c
c
b
d
b
e
a
f
Modellierung III
c
Graphen
d
b
e
a
f
d
e
f
© Wachsmuth 2021/22
92
Wurzelbäume
Grundlegende Begriffe
Definition 3.31 (Vorgänger, Nachfolger)
• Sei (T, w) mit T = (V, E), ein Wurzelbaum und v 2 V .
• Vorgänger. Jeder Knoten u, u 6= v, auf dem Pfad P von w zu v heißt
Vorgänger von v.
• Unmittelbarer Vorgänger. Der zu v benachbarte Knoten auf P heißt
unmittelbarer Vorgänger (auch: Elternknoten) von v.
• Nachfolger. Ein Knoten u, u 6= v, für den v auf dem Pfad von w zu u liegt,
heißt Nachfolger von v.
• Unmittelbarer Nachfolger. Ein mit v durch eine Kante verbundener
Nachfolger heißt unmittelbarer Nachfolger (auch: Kindnoten) von v.
Beispiel
• v ist Vorgänger von z.
• v ist unmittelbarer Vorgänger von y.
• u ist Nachfolger der Wurzel.
• y ist unmittelbarer Nachfolger von v.
Modellierung III
Graphen
Wurzel
u
v
y
z
© Wachsmuth 2021/22
93
Wurzelbäume
Höhe von Bäumen
Definition 3.32 (Höhe)
• Sei (T, w) mit T = (V, E), ein Wurzelbaum und v 2 V .
• Die Höhe eines beliebigen Knotens v 2 V ist die maximale Länge eines
(gerichteten) Pfades in T mit Anfangsknoten v.
• Die Höhe von T ist die Höhe der Wurzel von T .
Beispiel
• v hat Höhe 2.
• u hat Höhe 3.
v
u
• Der Baum hat Höhe 4.
Modellierung III
Graphen
© Wachsmuth 2021/22
94
Binärbäume
Definition 3.33 (Binärbaum)
• Binärbaum. Ein Binärbaum ist ein Wurzelbaum, in dem jeder Knoten
höchstens zwei unmittelbare Nachfolger hat.
• Vollständiger Binärbaum. Ein Binärbaum ist vollständig, wenn gilt:
1. Jeder Nicht-Blattknoten hat genau zwei unmittelbare Nachfolger.
2. Alle Pfade von der Wurzel zu Blättern haben die gleiche Länge.
• Ein Binärbaum heißt unvollständig, wenn er nicht vollständig ist.
Beispiele
c
unvollständiger Binärbaum
Modellierung III
Graphen
vollständiger Binärbaum der Höhe 2
© Wachsmuth 2021/22
95
Binärbäume
Höhe von Binärbäumen
Satz 3.13 (Höhe eines Binärbaumes)
• Jeder vollständige Binärbaum der Höhe h hat exakt 2h Blätter und exakt
2h+1 1 Knoten.
Beweis über Induktion nach h
• IA. Ein Baum der Höhe 0 besitzt 1 = 21
1 Knoten und 1 = 20 Blätter.
• IV. Der Satz ist korrekt für Bäume der Höhe  h.
• IS. h ! h + 1: Zu zeigen ist, dass ein vollständiger Binärbaum T der
Höhe h + 1 exakt 2h+1 Blätter und 2h+2 1 Knoten hat.
• Sei w die Wurzel von T seien w1 und w2 die direkten Nachfolger von w.
• Für i 2 {1, 2} gilt: wi und seine Nachfolger bilden einen vollständigen
Baum Ti der Höhe h.
• Nach IV besitzt jedes Ti exakt 2h Blätter und 2h+1
1 Knoten.
Fortsetzung auf nächster Folie.
Modellierung III
Graphen
© Wachsmuth 2021/22
96
Binärbäume
Höhe von Binärbäumen (Fortsetzung)
Satz 3.13 (Höhe eines Binärbaumes)
• Jeder vollständige Binärbaum der Höhe h hat exakt 2h Blätter und exakt
2h+1 1 Knoten.
Forsetzung des Induktionsbeweises
• Nach IV besitzt jedes Ti exakt 2h Blätter und 2h+1
1 Knoten.
• T hat die gleichen Blätter wie T1 und T2.
• Da die Mengen der Blätter von T1 und T2 disjunkt sind, ist die Anzahl
der Blätter von T : 2h + 2h = 2 · 2h = 2h+1
• T hat die gleichen Knoten wie T1 und T2 sowie zusätzlich die Wurzel w.
• Da die Mengen der Knoten von T1 und T2 disjunkt sind, ist die Anzahl
der Knoten von T : 2h+1 1 + 2h+1 1 + 1 = 2 · 2h+1 1 = 2h+2 1
2
Modellierung III
Graphen
© Wachsmuth 2021/22
97
Modellierung mit Graphen
Beschreibung von Strukturen
Dateisysteme
/
bin
home
etc
usr
lib
var
local
Programmkonstrukte
WhileStatement
Expression Statement
Statement
Assignment
Assignment
WhileStatement
Expression
Statement
Assignment
Variable Expression
Variable Expression
Modellierung III
Graphen
© Wachsmuth 2021/22
98
Modellierung mit Graphen
Problem des Handlungsreisenden: Lösung durch Ausprobieren
Das Problem des Handlungsreisenden (recap)
• Ein Handelsvertreter möchte auf einer Rundreise n Städte besuchen.
• Die Städte sind mit Straßen einer gewissen Länge verbunden.
• Gesucht. Eine Tour minimaler Länge, die jede Stadt genau 1x besucht.
Modellierung und Lösung durch Ausprobieren
• Knoten. Städte
• Kanten. Direkte Verbindungen zwischen Städten mit definierter Länge
• Gesucht. Möglichst kurzer Hamiltonkreis.
a
30
50
55
d
Modellierung III
25
Graphen
b
52
48
c
a
30
50
55
d
25
b
52
48
Kreis der
Länge 157
c
© Wachsmuth 2021/22
99
Entscheidungsbäume
Entscheidungsbaum
• Ein Entscheidungsbaum ist ein Wurzelbaum, der alle potentielle
Lösungen einer Aufgabe aufspannt.
• Die Lösungen werden durch die Blätter charakterisiert.
• Der Pfad zu einem Blatt beschreibt die Entscheidungen, die zu der
entsprechenden Lösung führen.
Modellierung und systematische Lösung
a
a
30
50
55
b
b
52
c
d b
48
d
d
Modellierung III
25
Graphen
c
c
c
d
c
d b
d
b
c
b
a
a a
a a
a
158 157 205 157 205 158
© Wachsmuth 2021/22
100
Modellierung mit Graphen
Modellierungsaufgabe zu Entscheidungsbäumen
Problem: Rentenbezug
• Ein Datensatz enthalte für eine Reihe von Personen jeweils das Alter,
das Geschlecht und ob die Person bereits in Rente ist.
• Ein maschinelles Lernverfahren leitet daraus die folgenden Regeln ab:
– Jede Person über 65 ist in Rente.
– Jede Person unter 60 ist nicht in Rente.
– Männer über 60 sind in Rente.
– Frauen zwischen 60 und 65 sind nicht in Rente.
• Beschreiben Sie diese Regeln durch einen Entscheidungsbaum.
Modellierung in Vorlesung.
Frage
• Sehen Sie eine Gefahr beim praktischen Einsatz solcher Verfahren?
Modellierung III
Graphen
© Wachsmuth 2021/22
101
Termbäume (bzw. Kantorowitsch-Bäume)
Termbaum
• Ein Wurzelbaum zur Beschreibung der Struktur von arithmetischen
Termen und Ausdrücken
• Knoten. Repräsentieren Variablen, Konstanten und Operatoren
• Kanten. Verbinden diese mit ihren Operanden
Beispiele
⇤
a
⇤
c
+
b
c
Modellierung III
Graphen
a
+
a
(a + b) ⇤ c
+
b
b
c ⇤ (a + b)
(a + b)
© Wachsmuth 2021/22
102
Termbäume (bzw. Kantorowitsch-Bäume)
Termnotation
Termnotation
• Die Anwendung eines (n-stelligen) Operators f auf Terme t1, . . . , tn als
Operanden kann unterschiedlich notiert werden:
• Funktionsform. f (t1, . . . , tn), wobei jedes ti auch in Funktionsform ist.
• Präfixform. (f t1 · · · tn), wobei jedes ti auch in Präfixform ist.
• Infixform. (t1 f t2) bzw. (f t1), wobei die ti auch in Infixform sind.
Die Infixform ist nur für maximal zweistellige Operatoren anwendbar.
• Postfixform. (t1 · · · tn f ), wobei jedes ti auch in Postfixform ist.
Beispiele
• Funktionsform. + (⇤ (x, 3),
• Präfixform. ( + ( ⇤ x 3) (
• Infixform. ( ( x ⇤ 3) + ( 2
• Postfixform. ( ( x 3 ⇤) ( 2 3
Modellierung III
Graphen
(2, 3))
2 3))
3))
) +)
© Wachsmuth 2021/22
103
Termbäume (bzw. Kantorowitsch-Bäume)
Bestimmung der Termformen
Von Termbaum zu Termform
• Frage. Wie lassen sich die möglichen Termformen am Baum ablesen?
• Antwort. Führe einen Tiefensuche-Durchlauf durch den Baum durch
und gebe zu definierten Zeitpunkten die Knotensymbole aus.
+
*
3
a
-
a
7
Modellierung III
Graphen
© Wachsmuth 2021/22
104
Termbäume (bzw. Kantorowitsch-Bäume)
Tiefensuche-Durchlauf
Tiefensuche-Durchlauf
• Der Baum wird gemäß dem Prinzip einer Tiefensuche traversiert.
• An den farbigen Punkten lassen sich die Knotensymbole ausgeben.
Verfahren für die verschiedenen Termformen auf den nächsten Folien.
-
Zu beachten
+
*
3
a
7
Modellierung III
• Innere Knoten. Vor dem ersten
und nach dem letzten Besuch
Ausgabe der Klammern
Graphen
a
• Knoten mit einem Nachfolger.
Besuch 1+2 fallen zusammen
• Blätter. Alle drei Besuche fallen
zusammen
© Wachsmuth 2021/22
105
Termbäume (bzw. Kantorowitsch-Bäume)
Bestimmung der Präfixform
Ausgabe in Präfixform
• Symbol beim ersten Besuch eines Knotens ausgeben
• Aufruf erfolgt mit Termausgabe(w), wobei w die Wurzel ist
Verfahren 3.1 (Präfixform)
Termausgabe(Knoten N )
1. L
linker Nachfolger von N
2. R
rechter Nachfolger von N
3. Falls L oder R vorhanden: Gebe linke Klammer aus
4. Gebe Symbol von N aus
5. Falls L vorhanden: Termausgabe(Knoten L)
6. Falls R vorhanden: Termausgabe(Knoten R)
7. Falls L oder R vorhanden: Gebe rechte Klammer aus
Modellierung III
Graphen
© Wachsmuth 2021/22
106
Termbäume (bzw. Kantorowitsch-Bäume)
Bestimmung der Infixform
Ausgabe in Infixform
• Symbol beim zweiten Besuch eines Knotens ausgeben
• Aufruf erfolgt mit Termausgabe(w), wobei w die Wurzel ist
Verfahren 3.2 (Infixform)
Termausgabe(Knoten N )
1. L
linker Nachfolger von N
2. R
rechter Nachfolger von N
3. Falls L oder R vorhanden: Gebe linke Klammer aus
4. Falls L vorhanden: Termausgabe(Knoten L)
5. Gebe Symbol von N aus
6. Falls R vorhanden: Termausgabe(Knoten R)
7. Falls L oder R vorhanden: Gebe rechte Klammer aus
Modellierung III
Graphen
© Wachsmuth 2021/22
107
Termbäume (bzw. Kantorowitsch-Bäume)
Bestimmung der Postfixform
Ausgabe in Postfixform
• Symbol beim letzten Besuch eines Knotens ausgeben
• Aufruf erfolgt mit Termausgabe(w), wobei w die Wurzel ist
Verfahren 3.3 (Postfixform)
Termausgabe(Knoten N )
1. L
linker Nachfolger von N
2. R
rechter Nachfolger von N
3. Falls L oder R vorhanden: Gebe linke Klammer aus
4. Falls L vorhanden: Termausgabe(Knoten L)
5. Falls R vorhanden: Termausgabe(Knoten R)
6. Gebe Symbol von N aus
7. Falls L oder R vorhanden: Gebe rechte Klammer aus
Modellierung III
Graphen
© Wachsmuth 2021/22
108
Suchbäume
Suchbaum
• Ein Suchbaum ist ein binärer Baum T = (V, E) mit V ⇢ N.
• Für alle Knoten v gilt:
1. Alle rechten Nachfolger von v sind größer als v.
2. Alle linken Nachfolger von v sind kleiner als v.
Beispiele
5
11
5
3
1
14
8
12
20
11
3
8
12
14
1
Einsatz von Suchbäumen
20
• Suchbäume eignen sich gut, um die Anfrage „x 2 V ?“ zu beantworten.
• Dafür sollten sie möglichst balanciert sein.
Modellierung III
Graphen
© Wachsmuth 2021/22
109
Zusammenfassung
Graphen in der Modellierung
Problemklassen
• Wegeprobleme und Verbindungsprobleme
• Zuordnungsprobleme und Abhängigkeitsprobleme
• Hierarchische Strukturen, verzweigte Abläufe und Anordnung in Folgen
Repräsentation durch Knoten und Kanten
• verbunden, benachbart, in Relation zu, (Un-)Verträglichkeit, ...
• Entscheidung, Alternative, Verzweigung
• Vorbedingung, Abhängigkeit, verzweigte Abläufe
• besteht aus, enthält, ist-ein
Repräsentation durch Markierungen
• Symbole einer Sprache
• Färbung für disjunkte Knotenmengen
• Entfernung, Kosten, Gewinn
Modellierung III
Graphen
© Wachsmuth 2021/22
111
Zusammenfassung
Ungerichteter Graph
a
• Tupel aus Knoten und Kanten, ggf. mit Markierungen
• Modelliert symmetrische Beziehungen von Konzepten
30
50
52 48
55
• Geeignet etwa für Wege- und Verbindungsprobleme
b
d
c
25
Gerichteter Graph
e
• Graph mit gerichteten Kanten
g
d
• Modelliert asymmetrische Beziehungen
• Geeignet etwa für Abhängigkeitsprobleme und Abläufe
f
Baum
• Zusammenhängender, kreisfreier Graph
• Ungerichtet geeignet etwa für Zuordnungsprobleme
• Gerichtet etwa für Strukturen und Abläufe
Modellierung III
Graphen
c
⇤
a
+
a
+
b
b
© Wachsmuth 2021/22
112
Download