Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie...

43
Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht ... ... Graphen. Manfred Thaller, Universität zu Köln Köln 22. Januar 2009

Transcript of Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie...

Page 1: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Einführung in die Informationsverarbeitung Teil Thaller

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

... Graphen.

Manfred Thaller, Universität zu Köln

Köln 22. Januar 2009

Page 2: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

I. Einführung

2

Anknüpfungspunkte aus früheren Stunden.

Page 3: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Das Problem

3

Page 4: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

A* Algorithmus: Schluß

4

Page 5: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

A* formell

A = Stapel verwendbarer Felder; B Stapel geprüfter Felder

(1) Füge den Startknoten in A ein (2) Wiederhole: (2.1) Wähle den Knoten n mit den niedrigsten Kosten F (n) aus A aus und verschiebe ihn in B (2.2) Für jeden an n direkt angrenzenden Knoten m: (2.2.1)Wenn m nicht betretbar (Hindernis, Wasser, etc.) oder bereits in B ist, ignoriere ihn (2.2.2) Füge m in A ein, wenn er noch nicht enthalten ist (2.2.3) Trage die Kosten F (m) und G(m) ein und vermerke als Vorgänger n bzw. aktualisiere sie wenn m schon enthalten war und ein Weg über n mit kleinerem G(m) gefunden wurde (3) Wenn der Zielknoten in A eingefügt wurde, ist ein Weg gefunden worden. Wenn A leer geworden ist, ohne den Zielknoten zu finden, existiert kein Weg

5

Page 6: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

URL Server

CrawlerURL Server

Doc Index

Startet mit Anfangs URL.

Liest weitere URLs aus einem Dokumenten-Index.

Schickt URLs an Crawler um Seiten zu holen.

Wichtig: Art der Suche im WWW (Tiefen v. Breitensuche).6

Page 7: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Ausgangspunkt I

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

7

Page 8: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Ausgangspunkt II:

8

Page 9: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Königsberger Brückenproblem

Frage: Möglichkeit, alle 7 Brücken hintereinander so zu überqueren, dass jede genau einmal – also nicht mehrmals – überquert wird.

Leonhard Euler (1707 bis 1783).

9

Page 10: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Abstraktion I

10

Page 11: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Abstraktion II

11

Page 12: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Abstraktion III

B

A

C

D

12

Page 13: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Abstraktion IV

13

Page 14: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

„Ein Graph“

Knoten(Vertex, Nodes)

Kanten(Edges)

14

Page 15: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

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.

15

Page 16: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

„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.

16

Page 17: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Ziele der Graphentheorie in der Informatik

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

17

Page 18: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

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

18

Page 19: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen I

Einfacher, ungerichteter Graph.

Auch „schlichter Graph“.

19

Page 20: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

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.

20

Page 21: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen II

Einfacher, gerichteter Graph.

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

21

Page 22: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen III

Ungerichteter Graph mit Mehrfachkanten, auch „Multigraph“.

22

Page 23: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen IV

Knotengefärbter Graph.

23

Page 24: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen V

Kantengefärbter Graph.

24

Page 25: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen VI

Ein verbundener - oderzusammenhängender - Graph.

25

Page 26: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen VII

Ein unverbundener -oder unzusammenhängender- Graph.

26

Page 27: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen VIII

Ein Graph mit einerSchleife

27

Page 28: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen IX

Ein Graph mit einem Zyklus.

28

Page 29: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Definitionen IX

Ein Graph mit einem Zyklus.

29

Page 30: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Beziehung: Graphen und Matrizen

K1

K3

K4K1

30

Page 31: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Beziehung: Graphen und Matrizen

K2

K3

K4K1

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

31

Page 32: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Konzept Isomorphie I

32

Page 33: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Konzept Isomorphie II

33

Page 34: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Konzept Isomorphie III

34

Page 35: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

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.

35

Page 36: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Anwendung Isomorphie

Nachteil: Überschneidungen, Diagramm daher potentiell verwirrend.

36

Page 37: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Anwendung Isomorphie

Vorteil: Keine Überschneidungen, Diagramm daher klarer.

37

Page 38: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Weitere Begriffe

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

Eingangsgrade und Ausgangsgrade.

Maximale / Minimale Eingangsgrade / Ausgangsgrade.

38

Page 39: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Weitere Begriffe

Verbundenheit:

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

39

Page 40: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Weitere Begriffe

Durchmesser:

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

40

Page 41: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Weitere Begriffe

41

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 42: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

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.

42

Page 43: Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht...... Graphen. Manfred Thaller, Universität zu Köln Köln.

Danke für heute!