52
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht ... ... Graphen. Köln 14. Januar 2016

Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Embed Size (px)

Citation preview

Page 1: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Einführung in die Informationsverarbeitung Teil Thaller

Stunde V: Wege und warum man sie geht ...

... Graphen.

Köln 14. Januar 2016

Page 2: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Das Problem

2

Page 3: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

A* Algorithmus: Schluß

3

Page 4: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Ausgangspunkt I

Möglichkeit möglichst vieler derartiger Probleme auf eine einzige Klasse von Vorgehensweisen zurück zu führen.

4

Page 5: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Ausgangspunkt II:

5

Page 6: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Abstraktion IV

6

Page 7: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

„Ein Graph“

Knoten(Vertex, Nodes)

Kanten(Edges)

7

Page 8: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definition des ProblemsEin Graph G heißt Eulerscher Graph, falls es einen geschlossenen einfachen Kantenzug gibt, der jede Kante von G enthält. Ein solcher Kantenzug heißt dann Eulerscher Kantenzug.

8

Page 9: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

„Lösung“ des Problems

Sei G ein zusammenhängender Graph. Genau dann ist G ein Eulerscher Graph, wenn jeder Knoten von G geraden Grad hat.

9

Page 10: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Ziele der Graphentheorie in der Informatik

(1) Erlaube Aussagen über auf Graphen zurückführbare inhaltliche Probleme.

10

Page 11: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Kopf: (2) Beschreibe direkt die Eigenschaften von Listen, die wir am Tag 2 als eine der grundlegenden Datenstrukturen kennengelernt haben.

Schwanz:

Ziele der Graphentheorie in der Informatik Atom 1

Atom 2

Atom 3

11

Page 12: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen I

Einfacher, ungerichteter Graph.

Auch „schlichter Graph“.

12

Page 13: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen …Ist G ein Graph, so sagt man allgemein v ist Knoten (bzw. Ecke) von G, wenn v zu V(G) gehört. Ferner sagt man, falls G• ungerichteter Graph ohne Mehrfachkanten ist und e zu

E(G) gehört, e ist eine ungerichtete Kante von G, • gerichteter Graph ohne Mehrfachkanten ist und e zu

E(G) gehört, e ist eine gerichtete Kante von G, • ungerichteter Graph mit Mehrfachkanten ist und E(G)(e)

> 0, e ist eine ungerichtete Kante von G, • gerichteter Graph mit Mehrfachkanten ist und E(G)(e) >

0, e ist eine gerichtete Kante von G. 13

Page 14: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen II

Einfacher, gerichteter Graph.

Kanten hier: „gerichtete Kanten“, Bögen oder Dikanten.

14

Page 15: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen III

Ungerichteter Graph mit Mehrfachkanten, auch „Multigraph“.

15

Page 16: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen IV

Knotengefärbter Graph.

16

Page 17: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen V

Kantengefärbter Graph.

17

Page 18: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen VI

Ein verbundener - oderzusammenhängender - Graph.

18

Page 19: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen VII

Ein unverbundener -oder unzusammenhängender- Graph.

19

Page 20: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen VIII

Ein Graph mit einerSchleife

20

Page 21: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen IX

Ein Graph mit einem Zyklus.

21

Page 22: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Definitionen IX

Ein Graph mit einem Zyklus.

22

Page 23: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Beziehung: Graphen und Matrizen

K2

K3

K4K1

23

Page 24: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Beziehung: Graphen und Matrizen

K2

K3

K4K1

1 1 1 0 1 0 2 11 2 0 10 1 1 0

24

Page 25: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Konzept Isomorphie I

25

Page 26: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Konzept Isomorphie II

26

Page 27: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Konzept Isomorphie III

27

Page 28: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Konzept Isomorphie IV

Zwei Graphen G1 und G2 sind isomorph, wenn es eine umkehrbar eindeutige Beziehung zwischen den Ecken von G2 gibt derart, dass die Anzahl der Verbindungskanten zweier Ecken von G1 gleich der Anzahl von Verbindungskanten der entsprechenden Ecken von G2 ist.

28

Page 29: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Anwendung Isomorphie

Nachteil: Überschneidungen, Diagramm daher potentiell verwirrend.

29

Page 30: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Anwendung Isomorphie

Vorteil: Keine Überschneidungen, Diagramm daher klarer.

30

Page 31: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Weitere Begriffe

Grade: Anzahl der Kanten von und zu einem Knoten / allen Knoten.

Eingangsgrade und Ausgangsgrade.

Maximale / Minimale Eingangsgrade / Ausgangsgrade.

31

Page 32: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Weitere Begriffe

Verbundenheit:

Ein Graph ist n-verbunden, wenn n Kanten entfernt werden können, ohne dass er unzusammenhängend wird.

32

Page 33: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Beispiel

33

Page 34: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Verbindungen

34

Page 35: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Verbindungen

35

Page 36: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Verbindungen

36

Page 37: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Verbindungen

37

Page 38: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Verbindungen

38

Page 39: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Travelling salesman

39

Besuche jede Stadt, aber keine zweimal – auf möglichst kurzem Weg.

Page 40: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Travelling salesman

40“Brute force” Anzahl der Permutationen: (7-1)!/2 = 360

Page 41: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Travelling salesman

41“Branch and Bound” Anzahl der Permutationen < “Brute Force”

Page 42: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Travelling salesman

42“Nearest Neighbour” Ergebnis abhängig vom Startknoten

Page 43: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Weitere Begriffe

Durchmesser:

Ein Graph hat den Durchmesser n, wenn der längste nicht-zyklische Kantenzug zwischen zwei Knoten n Knoten durchläuft.

43

Page 44: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Weitere Begriffe

44

Ein ungerichteter, zusammenhängender Graphohne Zyklen heisst Baum.

D.h., die schwarzen Pfeile im nebenstehenden Diagramm definieren Zeiger nach unserer früheren Definition.

Die roten Linien repräsentieren die Kanten im repräsentierten Graphen.

Page 45: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Anwendungen …

45Semantisches Netz

Page 46: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Anwendungen …

46P2P Netzwerk

Page 47: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Anwendungen …

47www.stanford.edu/group/toolingup/rplviz/

Page 48: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Anwendungen …

48www.stanford.edu/group/toolingup/rplviz/

Page 49: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Anwendungen …

49http://informationandvisualization.de/blog/graphbased-visualization-topic-shifts

Page 50: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Anwendungen …

50http://mappingmetaphor.arts.gla.ac.uk

Page 51: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Literatur

Im empfohlenen Lehrbuch (Gumm / Sommer, Einführung in die Informatik, Oldenbourg, 82008) Kapitel 4.

http://www.mathematik.uni-marburg.de/~gumm/Buch/Dazu gehörige Programme (Kapitel 4) zum Download.

51

Page 52: Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht...... Graphen. Köln 14. Januar 2016

Vielen Dank!