Grundlagen

Werbung
Graphen
Graphentheorie
• Graphentheorie
– Grundlagen
– Bäume
– Eigenschaften von Graphen
– Graphen-Algorithmen
– Matchings und Netzwerke
2
Graphen; Grundlagen
• Was ist ein Graph?
Ein Graph ist in der Graphentheorie eine abstrakte Struktur, die
eine Menge von Objekten zusammen mit den zwischen diesen
Objekten bestehenden Verbindungen repräsentiert. Die
mathematischen Abstraktionen der Objekte werden dabei
Knoten (auch Ecken) des Graphen genannt. Die paarweisen
Verbindungen zwischen Knoten heißen Kanten (manchmal
auch Bögen). Die Kanten können gerichtet oder ungerichtet
sein. Häufig werden Graphen anschaulich gezeichnet, indem
die Knoten durch Punkte und die Kanten durch Linien
dargestellt werden.
3
Graphen; Grundlagen
• Was sind also Graphen?
– Strukturen, gebildet aus einer endlichen Anzahl
von Knoten (verteces), die durch Kanten (edges)
verbunden sein können.
4
Graphen; Grundlagen
• Anwendung von Graphen
– Viele reale Probleme lassen sich durch Graphen
darstellen und somit auf graphentheoretische
Fragestellungen zurückführen
Georg Cantor, 1867: „In der Mathematik ist die
Kunst des Fragestellens öfter gebräuchlich als die
des Lösens!“
• Verkehrswege zwischen Städten – kürzeste Wege
• Transportwege mit Kapazitäten – maximale Flüsse
• Zugmöglichkeiten in Spielen – Gewinnstrategien
5
Graphen; Grundlagen
• Anwendung von Graphen
– In der Graphentheorie interessieren uns
ausschließlich die Beziehungen zwischen den
Knoten (deren Topologie).
– Topologie (topos „Ort, Platz“, logos „Lehre, Wissen)
Die Lehre von den Eigenschaften von Räumen, die
bei Abbildungen, die die Lagebeziehungen zwischen
den Elementen des Raumes erhalten, unverändert
bleiben (Verzerrungen, die nicht zum Zerreißen
führen).
6
Graphen; Grundlagen
• Einschub Topologie
Beispiel U-Bahn Karte
7
Graphen; Grundlagen
• Einschub Topologie
Eine Kaffeetasse und ein Donut haben die gleiche
Topologie.
8
http://en.wikipedia.org/wiki/Topology
Graphen; Grundlagen
• Einschub Topologie
– In der (mengentheoretischen) Topologie untersucht
man für jedes Element die Teilmengen, die man als
die Umgebungen dieses Elements definiert hat.
– Hierbei spielt der Abstand der Elemente keine Rolle,
ganz generell interessieren hierbei metrische
Eigenschaften (wie Streckenlängen, Winkellängen,
Krümmungen) in der Regel nicht.
9
Graphen; Grundlagen
• Einschub Topologie
– Zwei topologisch äquivalente Graphen
Man kann zum Beispiel die Knoten im rechten Graphen so bewegen, dass er genauso wie der linke aussieht.
10
Graphen; Grundlagen
• Einschub Topologie
– Topologische Grundbegriffe:
„auf dem Rand“, „innen“, „außen“, „sich
schneidend“, „geschlossen“
– keine topologischen Grundbegriffe:
„eckig“, „rund“, „links“, „rechts“, „oben“, „unten“ ,
da sie z.B. bei Achsenspiegelungen nicht
unverändert bleiben.
11
Graphen; Grundlagen
• Anwendung von Graphen
– In der Graphentheorie interessiert uns:
12
• Welcher Knoten ist mit welchen anderen verbunden?
• Komme ich über gegebene Verbindungen von einem
Knoten zu einem anderen?
• Wie viele Verbindungen muss ich überqueren, um
von einem Knoten zu einem anderen zu kommen?
• Welches ist der kürzeste Weg, um von einem Knoten zu
einem anderen zu gelangen?
• Gibt es einen Weg der alle Knoten/Kanten genau einmal
besucht?
Graphen; Grundlagen
• Anwendung von Graphen
– Königsberger Brückenproblem: Kann man einen
Spaziergang durch Königsberg machen und dabei
über jede Brücke genau einmal gehen und nach
dem Spaziergang wieder zum Ausgangspunkt
zurückkehren?
13
Graphen; Grundlagen
• Anwendung von Graphen
– Königsberger Brückenproblem – vom Problem zum
Graph und dem graphentheoretischen Problem.
14
Euler zeigte, dass ein Rundweg der gesuchten Art genau dann möglich ist, wenn sich an keinem der Ufer (Knoten) eine ungerade Zahl
von Brücken (Kanten) befindet. Da aber zu allen vier Gebieten von Königsberg eine ungerade Zahl von Brücken führten, war der
gesuchte Rundweg nicht möglich.
Graphen; Grundlagen
• Anwendung von Graphen
– Das Haus vom Nikolaus: Entscheide, ob man das
Haus zeichnen kann, ohne den Stift abzusetzen und
ohne eine Linie doppelt zu ziehen.
Lösung
15
Graphen; Grundlagen
• Anwendung von Graphen
– Städtetour: Entscheide, ob man beginnend in einem
Knoten (einer Stadt) alle Städte genau einmal
bereisen kann und wieder in der ersten Stadt
ankommt.
16
Lösung für den Dodekaeder
Graphen; Grundlagen
• Einige spezielle Graphen
– Graphen dürfen in manchen Fällen auch
Mehrfachkanten und Schleifen haben.
Schleifen
Parallele
Kanten
17
Graphen; Grundlagen
• Definition:
Eine Schleife (oder Schlinge) ist eine Kante der
Form {u, u}.
u
18
Graphen; Grundlagen
• Definition:
Ist E eine Multimenge (d. h. Kanten treten mit
Vielfachheit auf), dann sind die Kanten mit
Vielfachheit 2 oder größer Mehrfachkanten.
Ein Graph, der Mehrfachkanten enthält, heißt
auch Multigraph.
v
19
u
Graphen; Grundlagen
• Einige spezielle Graphen
– Ein Graph heißt einfach, falls er keine Schlingen
oder Mehrfachkanten enthält.
20
Graphen; Grundlagen
• Vollständige Graphen
– In vollständigen Graphen Kn sind alle n Knoten
miteinander verbunden.
K1 K2
K3
K4
K5
K6
– Frage:
Wieviele Kanten gibt es in einem vollständigen
Graphen mit n Knoten.
21
Graphen; Grundlagen
• Vollständige Graphen
K1 K2
K4
K3
K5
K6
– Für die Anzahl der Kanten in einem vollständigen
Graphen mit n Knoten (und damit für die maximale
Anzahl von Kanten in einem einfachen Graphen)
gilt:
n
n(n 1)
E
22
2
2
Graphen; Grundlagen
• Kreise
– In Kreisen Cn sind alle n (n
miteinander verbunden.
C3
23
C4
C5
3) Knoten zyklisch
C6
C7
C8
Graphen; Grundlagen
• Ein Gittergraph besteht aus einem Gitter
mit m Zeilen und n Spalten.
24
Graphen; Grundlagen (fakultativ)
• (Binärer) Hyperwürfel
Definition:
Ein Graph G = (V,E) heißt n-dimensionaler
binärer Hyperwürfel (Qn), falls V = Vn = {0, 1}n
mit
E = {{v,w} Vn2: Hamming-Abstand(v,w) = 1}.
– Hamming-Distanz: Maß für die Unterschiedlichkeit
von Zeichenketten - an wie vielen Stellen
unterscheiden sich zwei Zeichenketten.
25
Graphen; Grundlagen (fakultativ)
• (Binäre) Hyperwürfel
26
Graphen; Grundlagen (fakultativ)
• Q4: 4-dimensionaler Hyperwürfel
27
Graphen; Grundlagen (fakultativ)
• Q8: 8-dimensionaler Hyperwürfel
28
Graphen; Grundlagen (fakultativ)
• Hyperwürfel
Für die Anzahl der Knoten in Qn gilt: |V| = 2n
Für die Anzahl der Kanten in Qn gilt:
E
2n
n
2
n 2n
animierter Hyperwürfel
29
1
Graphen; Grundlagen
• Bipartite Graphen
Der Graph kann in zwei Teile
zerlegt werden, so dass alle
Kanten zwischen diesen
Teilen verlaufen.
30
V1
V2
Graphen; Grundlagen
• Wege, Pfade, Kreise
31
– Ein Weg der Länge k in einem Graphen G = (V,E) ist
eine nichtleere Folge w = (v0,…,vk) von Knoten aus V,
so dass {vi,vi+1} E für alle i = 0,…,k-1. (Beachte:
(v_0) ist ein Weg der Länge 0.)
– Ein Pfad in G ist ein Weg in G, in dem alle Knoten
paarweise verschieden sind.
– Ein Kreis der Länge k (k 3) in G ist ein Weg w =
(v0,…,vk) in dem v0, …, vk-1 paarweise verschieden
sind und v0 = vk.
Graphen; Grundlagen
• Pfade
Definition:
Der Graph Pn ist der Graph (V,E) mit V = {v1,…,vn}
und E = {vi, vi+1}; i = 1,…,n−1.
32
Graphen; Grundlagen
• Wege und Pfade
Beispiel: Ein Weg der Länge 7, der aber kein
Pfad ist.
33
Graphen; Grundlagen
• Wenn G = (V,E) ist, dann
– heißen u und v adjazent, wenn {u,v} E,
– heißen u und v Endknoten der Kante {u,v} E,
– heißen u V und e E inzident, wenn u Endknoten
der Kante e ist,
– ist u V erreichbar von v V, falls es einen Pfad P
mit Anfangsknoten v und Endknoten u gibt.
34
Graphen; Grundlagen
• Wenn G = (V,E) ist, dann
heißt G zusammenhängend, wenn er nur eine
Komponente hat.
35
Graphen; Grundlagen
• Darstellung von Graphen
– Neben der bisherigen Darstellung können Graphen
in Form von Adjazenzmatrizen und
Inzidenzmatrizen dargestellt werden.
– Bei Nummerierung der Ecken (u1,…,un) und Kanten
(e1,…,em) ist die Adjazenzmatrix die n x n-Matrix A
mit Einträgen
aij
36
1 falls ui u
0
K
sonst.
Graphen; Grundlagen
• Darstellung von Graphen
– Neben der bisherigen Darstellung können Graphen
in Form von Adjazenzmatrizen und
Inzidenzmatrizen dargestellt werden.
Adjazenz liegt dann vor, wenn zwei Knoten über eine Kante miteinander verbunden sind.
Somit bezeichnet Adjazenz die Beziehungen zwischen gleichartigen Elementen eines
Graphen. Ebenso ist Adjazenz bei in einem Knoten endenden Kanten gegeben.
Inzidenz ist die Eigenschaft, gemeinsame Punkte zu besitzen, sie ist die Beziehung zwischen
einer Geraden und einem auf ihr liegenden Punkt.
k
37
Graphen; Grundlagen
• Darstellung von Graphen
Ajazenzmatrix
38
Graphen; Grundlagen
• Darstellung von Graphen
Inzidenzmatrix
39
Graphen; Grundlagen
• Isomorphe Graphen sind in ihrer Struktur
gleich.
Graphen in den
Spalten sind
einander jeweils
isomorph.
40
Graphen; Grundlagen
• Isomorphe (strukturgleiche) Graphen
3
d
4
2
e
c
0
1
a
b
Die Abbildung ist:
01234
abcde
Die Graphen sind offensichtlich isomorph.
41
Graphen; Grundlagen
• Isomorphe Graphen
Sind die beiden folg. Graphen isomorph?
– Beachte die Gradfolgen (aufsteigend geordnete
Folge der Knotengrade) der beiden Graphen.
42
Graphen; Grundlagen
• Zusammenhängende Graphen
Definition:
Ein Graph G = (V,E) heißt zusammenhängend,
wenn für jedes Paar von Knoten u,v V ein Pfad
von u nach v in G existiert.
Ansonsten heißt der Graph unzusammenhängend.
43
Graphen; Grundlagen
• Zusammenhangskomponenten eines Graphen
Beispiel:
Ein Graph bestehend aus drei Zusammenhangskomponenten
44
Graphen; Grundlagen
• Graphkomponenten
Satz:
Jeder Graph G = (V,E) enthält mindestens
|V|-|E| viele Zusammenhangskomponenten.
Anzahl der Knoten - Anzahl der Kanten
Dies ist ein Graph mit 4 starken Zusammenhangskomponenten. In jeder solchen
Komponente ist jeder Knoten von jedem anderen aus erreichbar; wird die Komponente
verlassen, gibt es keinen Weg mehr zurück.
45
Graphen; Grundlagen
• Graphkomponenten
Satz:
Für jeden zusammenhängenden Graph G = (V,E)
gilt: |E| |V| - 1.
6 Kanten ≤ 7 Knoten -1
46
Beweis:
Da ein zusammenhängender
Graph aus genau einer
Komponente besteht, folgt aus dem
vorherigen Satz, dass |V| - |E| 1.
Graphen; Grundlagen
• Bisher haben wir ausschließlich ungerichtete
Graphen besprochen, d.h. die Kantenmenge
besteht aus ungeordneten Paaren {u, v}.
• Ein gerichteter Graph ist ein Paar (V,E),
bestehend aus einer Menge von Knoten und
einer Menge gerichteter Kanten.
47
Graphen; Grundlagen
• Gerichtete Graphen
Ein gerichteter Pfad ist eine Folge von
verschiedenen Knoten u1,…,un mit ui ui+1
(d.h. es existiert eine gerichtete Kante von ui
nach ui+1) für alle i.
Ein gerichteter Kreis wird analog definiert.
Ein Graph G, der keinen gerichteten
Kreis enthält, heißt azyklisch.
48
Graphen; Grundlagen
• Gerichtete Graphen
Anwendung Prozessabhängigkeiten:
Programm A benötigt Ergebnisse von B und C
Programm B benötigt Ergebnisse von D und E
Programm C benötigt Ergebnisse von B und D
Programm D benötigt keine Ergebnisse
Programm E benötigt Ergebnisse von A und C
Frage:
Funktioniert ein so konstruiertes Programm?
49
Graphen; Grundlagen
• Gerichtete Graphen
Anwendung Prozessabhängigkeiten
Bei Darstellung als Graph erkennen wir einen
Zyklus:
A wartet auf B
B wartet auf E
E wartet auf A!
50
Graphen; Grundlagen
• Gerichtete Graphen
Azyklische gerichtete Graphen G spielen eine
zentrale Rolle in Transportproblemen.
– G enthält immer spezielle Knoten, sog. Quellen, aus
denen Kanten nur ausgehen, und sog. Senken, in
die Kanten nur eingehen, da jeder azyklische Graph
mindestens einen Knoten v mit d+(v) = 0 und
mindestens einen Knoten w mit d−(w) = 0 besitzt.
– In Transportproblemen wollen wir möglichst viel
von den Quellen zu den Senken transportieren.
51
Graphen; Grundlagen
• Beispiel dag (directed acyclic graph)
52
Herunterladen