YZ X W V U T SRQPON
M
L
KJIH GFEDCB78A9
6 5 4 23 01 4C T S P V
6O0EKJ5Z2I1HRD8QGY9U3F
A M 7 N WB L X
DISKRETE STRUKTUREN
Grundlagen der Graphentheorie
18. Januar 2018
Prof. Dr. Steffen Reith
Theoretische Informatik
Studienbereich Angewandte Informatik Hochschule RheinMain
GRAPHEN
Definition
Ein (einfacher)gerichteter GraphG = (V, E)ist ein Paar, das aus einer Menge vonKnotenV und einer MengeE⊆V ×V von Kanten(Kantenrelation) besteht.
Eine Kantek = (u, v) ∈ E kann als Verbindung zwischen den Knotenu, v ∈ V aufgefasst werden. Aus diesem Grund nennt manuauchStartknotenundvEndknoten.
Zwei Knoten, die durch eine Kante verbunden sind, heißen auch benachbartoderadjazent.
Ein Graph(V, E)heißtendlichgenau dann, wenn die Menge der KnotenV endlich ist.
Wir beschäftigen uns hier nur mit endlichen Graphen
Notizen Notizen
EINIGE BEISPIELE UND DEFINITION
Beispiele für gerichtete Graphen undV eine beliebige Knotenmenge
→ GV0 = (V,∅)(
”Nullgraph“)
→ GVG= (V, V ×V)(
”vollständiger Graph“)
→ SeienGN = (VN, EN),VN ={1,2,3,4,5}und
EN ={(1,2),(2,4),(4,3),(3,5),(5,4),(4,1),(1,3),(3,2)} (”Nikolausgraph“)
1 2
3 4
5 Definition
SeiG= (V, E)ein gerichteter Graph. Ist die KantenrelationEsymmetrisch, dann istG einungerichteter Graph.
Bei einem ungerichteten Graph schreibt man für eine Kante(a, b)oft{a, b}, da die Richtung keine Rolle spielt.
3
DIE GRAPHISCHE DARSTELLUNG VON GRAPHEN
Eine Kante(u, v)kann als Verbindung zwischen den Knotenuund vinterpretieren werden.⇒stelle Graphen durch Diagramme dar
1
2
3 4
5
(a)Ein gerichteter Graph mit5Knoten
1
2
3 4
5
(b)Ein planarer gerichteter Graph mit5Knoten
0
1
2
3
4
5
6
7
8
(c)Ein gerichteter bipartiter Graph
Es kannmehrere(gleichwertige)graphische Darstellungen eines Graphens geben.
Notizen Notizen
PLANARE GRAPHEN
Definition
Ein GraphGheißtplanar, wenn er ohneÜberkreuzungvon Kan- ten gezeichnet werdenkann.
Alle folgenden Graphen sind planar.
1
2
3 4
5
1
2
3 4
5
0
1
2
3
4
5
6
7
8
Anwendung: z.B. Platinenentwicklung
5
TEILGRAPHEN
Definition (Teilgraph)
SeienG = (VG, EG) und H = (VH, EH)Graphen. Gilt VH ⊆ VG und EH ⊆ EG, dann heißtH Teilgraph, Untergraphoder Subgraph(vonG).
Definition (induzierter Teilgraph)
SeienG= (V, E)undV′ ⊆V eine Teilmenge von Knoten. Dann heißtGV′ = (V′, E′)mit
E′ ={(u, v)∈V′×V′ |(u, v)∈E)} der vonV′induzierte Teilgraph.
Notizen Notizen
BEISPIEL: INDUZIERTE TEILGRAPH
Ein Graph
1 2
3 4
und der von{2,3,4}induzierte Teilgraph:
2
3 4
7
BOOLESCHE OPERATIONEN AUF GRAPHEN
Mit Hilfe der Mengenoperationen kann man sehr leicht Boolesche Operationen auf Graphen definieren:
Definition
SeienG= (V, E)undG′ = (V′, E′)Graphen, dann heißt
→ G∪G′ = (V ∪V′, E∪E′)
”Vereinigungsgraph“,
→ G∩G′ = (V ∩V′, E∩E′)
”Schnittgraph“ und
→ ¬G= (V,(V ×V)\E)
”Komplementgraph“.
Ganz ähnlich können weitere Boolesche Operationen auf Graphen mit Hilfe von anderen Mengenoperationen definiert werden.
Notizen Notizen
DER GRAD EINES KNOTENS
Definition (Grad)
SeiG= (V, E)ein Graph. DieAnzahl von Kanten, wobeivStart- knotenist, heißtAusgrad vonv(engl. outdegree). Als Schreib- weise wirdoutdegG(v)verwendet.
DieAnzahl von Kanten, wobeiv Endknotenist, heißtEingrad vonv(engl. indegree). Als Schreibweise wirdindegG(v)verwen- det.
Da sich der Ein- und Ausgrad inungerichteten Graphennicht unterscheidet, spricht man hier kurz vonGrad(degG(v)).
Ein KnotenvmitindegG(v) = outdegG(v) = 0heißtisoliert.
9
DER GRAD EINES KNOTENS (II)
Definition (regulär)
Ein ungerichteter GraphG = (V, E)heißtk-regulär, wenn alle Knotenv ∈V den Gradkhaben.
Ein3-regulärer Graph:
Notizen Notizen
WEGE UND KREISE
Definition (Weg)
SeiG = ({v1, . . . , vn},{e1, . . . , em}) einungerichteterGraph, dann heißt eine Folgeei1, ei2, . . . , eik ∈ {e1, . . . , em}heißtPfad / Weg(der Längek) vonunachv, wenn für alleeij = (uij, vij) gilt:
1. ei1 = (u, vi2)undeik = (uik, v) 2. für1≤j < kistvij =uij+1
Ein GraphGheißtzusammenhängend, wenn füralle Knotenu undvvonGein Pfadvonunachvexistiert.
Ein Pfad vonu nach v heißt geschlossen, Zyklusoder Kreis, wennu=vgilt.
11
KREISFREIE GRAPHEN
Definition (kreisfrei)
Ein Graph heißtkreisfrei / zyklenfrei, wenn er keinen Zyklus der Länge≥1hat. Ist ein kreisfreier Graph gerichtet, so heißt erDAG (directed acyclic graph).
Ein zyklenfreier Graph heißtWald. Ein Wald heißtBaum, wenn er zusammenhängend ist.
Theorem
IstGein zusammenhängender Graph mitnKnoten undn−1Kan- ten, dann istGein Baum.
Ein Beweis findet sich z.B. in Meinel, Mundhenk,
”Mathematische Grundlagen der Informatik“
Notizen Notizen
DATENSTRUKTUREN FÜR GRAPHEN
Man kann Graphen indynamischen Datenstrukturenspeichern.
Alle Knoten sind in einer Liste gespeichert. Jeder Eintrag enthält wieder eine Liste, die alle Knoten enthält dieadjazentsind.
⇒AdjazenzlistendarstellungAber: Relativ ineffizienter Zugriff auf Kanten, aber speichereffizient bei wenigen Kanten. Es geht schneller:
Definition
SeiG= ({v1, . . . , vn}, E)ein gerichteter Graph undAGeinen×n MatrixAG= (ai,j)1≤i,j,≤nmit
ai,j =
{ 1, falls(vi, vj)∈E 0, sonst
Diese Matrix heißtAdjazenzmatrix.
13
DATENSTRUKTUREN FÜR GRAPHEN (II)
Beispiel
Für den gerichteten Graphen (g) der vorletzten Folie ergibt sich die Adjazenzmatrix:
AG5 =
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0
Ungerichtete Graphen haben Adjazenzmatrizen, die symmetrisch zur Diagonale von links oben nach rechts unten sind.
Notizen Notizen
EDSGER WYBE DIJKSTRA
In der Vorlesung”Algorithmen und Datenstrukturen“ werden Algorithmen für Graphen vorgestellt und untersucht. Viele grundlegende Verfahren (z.B. ein Algorithmus zur Suche von kürzesten Wegen) wurden von Dijkstra entdeckt.
Quelle: Wikimedia Commons
11. May 1930, Rotterdam, Holland - 6. August 2002, Nuenen, Holland
Testing shows the presence, not the absence of bugs.
15
Notizen Notizen