© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und...

22
© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt

Transcript of © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und...

Page 1: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

1

Mathematische GrundlagenGraphen und Operationen auf Graphen

Karin Haenelt

Page 2: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

2

Graphen

• Definitionen• Operationen auf Graphen• Graph-Repräsentationen

Page 3: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

3

Vorbemerkung

• „Wenn hier von Knoten und Kanten gesprochen wird, so ist dies nur eine Veranschaulichung, die sich an einen gezeichneten Graphen anlehnt.Die Definitionen sind davon unabhängig.“

(Kunze, 2001, 32)

• Graphen sind Mengen, in denen die Elemente in bestimmten Beziehungen zueinander stehen

Page 4: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

4

Definition: Graph

• Ein Graph G = (V,E) besteht aus– einer Menge V von Knoten (vertices)– einer Menge E von Kanten (edges)

• wobei die Kanten– zwei Knoten miteinander verbinden

• ungerichteter Graph– jede Kante e = {v1,v2} ist ein ungeordnetes Paar

• gerichteter Graph (directed graph)– jede Kante e = (v1,v2) ist ein geordnetes Paar, d.h.– jede Kante hat eine Orientierung, einen Anfangspunkt und

einen Endpunkt

Page 5: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

5

Definitionen:benachbart, indiziert, Grad

benachbart (bnb) (adjacent)

zwei Knoten, die durch eine Kante verbunden sind

indiziert (labeled)

die Kanten werden voneinander durch Namen unterscheiden

Grad (degree) eines Knotens - d(V): Anzahl der Kanten, die von einem Knoten ausgehen

Page 6: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

6

Definitionen:Schlinge, Mehrfachkante

Schlinge (loop) Kante, die einen Knoten mit sich selbst verbindet

Mehrfachkante (multiple lines)

Mehrere Kanten zwischen zwei Knoten

Page 7: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

7

Definitionen:Weg, Zyklus, Masche

Weg (path)

eine Folge von Kanten e1, e2, ... , en in einem gerichteten Graphen, wobei n > 1 ist, so dass

Endpunkt von e1 = Anfangspunkt e2, Endpunkt von e2 = Anfangspunkt von e3, ... und Endpunkt von en-1 = Anfangspunkt von en.

n ist die Länge des Weges.

Zyklus (cycle)

ein Weg, für den gilt: Endpunkt von en = Anfangspunkt von e1 (bei n =1: Schlinge)

Masche Zwei verschiedene Wege e1, ... , en und f1, ... , fm, bei denen der Anfangspunkt von e1 und f1 sowie der Endpunkt von en und fm übereinstimmen, bilden eine Masche. (bei n = m = 1: Mehrfachkante)

Kunze, 2001

Page 8: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

8

Definitionen:Wurzel, terminaler Knoten

Wurzel (root) Knoten in einem gerichteten Graphen, von dem aus man jeden anderen Knoten auf einem passenden Weg erreichen kann

terminaler Knoten (terminal node)

Knoten, von dem keine Kante ausgeht

Kunze, 2001

Page 9: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

9

Operationen auf Graphen

• Grundoperationen: Einfügen, Löschen• Traversion von Graphen

– Relation „benachbart“

– Traversionsmethoden

• Mengenoperationen– Komplement (complement)

– Vereinigung (union)

– Durchschnitt (intersection)

– Verbindung (join)

– Kartesisches Produkt (Cartesian product)

– Komposition (composition)

– Differenz (difference)

Page 10: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

10

Operationen: Komplement

G

2+Beispiel Harary, 1974, 25

G

)}( und |{)(

)(

von

GEuvvuuvGE

GV)GV(

G:GKomplement

G

GDas Komplement eines Graphen G

• hat V(G) als Kantenmenge

• zwei Kanten sind in dann und nur dann benachbart,wenn sie in G nicht benachbart sind

1 White, 1984, 9

Definition1 Erläuterung2

Page 11: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

11

Operationen: Vereinigung

)V(G)V(G)V(G)V(G

21

21

von zwei disjunkten oder nicht disjunkten Graphen,Annahmen:

)()()()()(

21

21

21

GEGEGEGVGVV(G)

hat:GGGgVereinigun

Definition1

21 GGG 2G1G

bzw.

Beispiel Harary, 1974, 251 White, 1984, 9

Page 12: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

12

Operationen: Vereinigung

Beispiel: nicht-disjunkte, gerichtete und etikettierte Graphen

c:3

1G

a:1 b:2

d:4 e:5

i:9

2G

a:1 b:2

h:8 c:3

21 GGG a:1 b:2

d:4 e:5

h:8i:9

)()()()()(

21

21

21

GEGEGEGVGVV(G)

:GGG

Page 13: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

13

Operationen: Durchschnitt

)V(G)V(G)V(G)V(G

21

21

von zwei disjunkten oder nicht disjunkten Graphen,Annahmen:

)()()()()(

21

21

21

GEGEGEGVGVV(G)

hat:GGGttDurchschni

Definition

21 GGG

2G1G

bzw.

1 Wagner, 1970, 23

Die Graphen heißen disjunkt,wenn der Durchschnitt von je zweiGraphen leer ist.Sie heißen kantendisjunkt,wenn der Durchschnitt von je zwei

Kantenmengen leer ist.1

)( IiGi

)(, jiGG ji

)(, jiKK ji

Page 14: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

14

Operationen: Durchschnitt

Beispiel: nicht-disjunkte, gerichtete und etikettierte Graphen

c:3

1G

a:1 b:2

d:4 e:5

i:9

2G

a:1 b:2

h:8

21 GGG a:1 b:2

)()()()()(

21

21

21

GEGEGEGVGVV(G)

:GGG

Page 15: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

15

Operationen: Verbindung

)V(G)V(G 21

von zwei disjunkten Graphen,Annahme:

}2,1),(|{)()()()()(

)(

2121

21

21

iGVvvvGEGEGEGVGVV(G)

hat:GGGjoinVerbindung

ii

Definition1

21 GGG 2G1G

Beispiel Harary, 1974, 311 White, 1984, 10

Page 16: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

16

Operationen:Kartesisches Produkt

)V(G)V(G 21

von zwei disjunkten Graphen,Annahme:

} )( |)],(),,{[()(

)()(

11122

222112121

21

21

)E(Gv und uvuoderGEvuundvuvvuuGE

GVGVV(G)hat:GGGProduktesKartesisch

Definition1

u 1

v 1

w2u2 v2

21 GGG 2G1G

Beispiel Harary, 1974, 321 White, 1984, 10

u1w2u1u2 u1v2

v1w2v1u2 v1v2

Page 17: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

17

Operationen:Kartesisches Produkt: Beispiel

} )(

|)],(),,{[()(

E(G)ggund hhoderHEhhundgg

hghgKE

yxyx

yxyx

yyxx

g 0

g 1

h2h0 h1

HGK HG

g0h2g0h0 g0h1

g1h2g1h0 g1h1

g1h2g1h1g1h0g0h2g0h1g0h0

g0h0

g0h1

g0h2

g1h0

g1h1

g1h2

gxhx

gyhy

Page 18: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

18

Operationen: Komposition

)V(G)V(G 21

von zwei disjunkten Graphen,Annahme:

)}( )( |)],(),,{[()(

)()( ][

22211

1112121

21

21

)E(Gv und uvuoderGEvuvvuuGE

GVGVV(G)hat:GGGnKompositio

Definition1

u 1

v 1

w2u2 v2

][ 21 GGG 2G1G

Beispiel Harary, 1974, 321 White, 1984, 10

u1w2u1u2 u1v2

v1w2v1u2 v1v2

w2v1

u2v1

v2v1

w2u1

u1u1

v2u1

][ 12 GGG

Page 19: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

19

Operationen:Komposition: Beispiel

))}( (G |)],(),,{[(

)(

HEhhundggoder gg

hghgKE

yxyx

yx

yyxx

g 1

h2h0 h1

][HGK HG

g0h2g0h0 g0h1

g1h2g1h0 g1h1

g1h2g1h1g1h0g0h2g0h1g0h0

g0h0

g0h1

g0h2

g1h0

g1h1

g1h2

gxhx

gyhy

g 0

Page 20: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

20

Graph-Repräsentationen I: Adjazenz-Matrix

1 2 3 4 1 0 1 0 0 2 0 0 1 1 3 1 0 0 1 4 1 0 0 0

1

3

2

4

Standish, 1997, 306

Page 21: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

21

Graph-Repräsentationen II:Adjazenz-Liste

2

1 3

45

Knoten V

Grad Nachbar- Liste

1 2 2 3 2 3 3 4 5 3 1 4 4 0 5 1 1

12345

234

1

34 5

V Link V Link V Link V Link

Graph G Sequentielle Adjazenzliste für G

Verkettete Adjazenzliste für G

Standish, 1997, 308

Page 22: © Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004 1 Mathematische Grundlagen Graphen und Operationen auf Graphen Karin Haenelt.

© Karin Haenelt 2004, Math.Grundlagen: Graphen, 20.03.2004

22

Literatur

• Harary, Frank (1969). Graph Theory. Reading, Mass.: Addison-Wesley Publishing Company.(deutsche Übersetzung: Graphentheorie. München: Oldenbourg Verlag, 1974)

• Kunze, Jürgen (2001). Computerlinguistik. Voraussetzungen, Grundlagen, Werkzeuge. Vorlesungsskript. Humboldt Universität zu Berlin. http://www2.rz.hu-berlin.de/compling/Lehrstuhl/Skripte/Computerlinguistik_1/index.html

• Standish, Thomas A. (1997). Data Structures in Java. Reading, Mass.: Addison-Wesley Longman Inc.

• Wagner, Klaus (1970). Graphentheorie. Mannheim: Bibliographisches Institut A.G.

• White, Arthur T. (1984). Graphs, Groups and Surfaces. Amsterdam: Elsevier Science Publishers B.V.