EinfIV-1415-06 - Universität zu Köln

Werbung
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 11. Dezemberr 2014
I. Einführung
Anknüpfungspunkte aus früheren Stunden.
2
Das Problem
3
A* Algorithmus: Schluß
4
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
URL Server
Crawler
URL Server
Startet mit Anfangs URL.
Liest weitere URLs aus einem
Dokumenten-Index.
Doc
Index
Schickt URLs an Crawler um Seiten zu
holen.
Wichtig: Art der Suche im
6
WWW (Tiefen v. Breitensuche).
Ausgangspunkt I
Möglichkeit möglichst vieler derartiger Probleme auf eine
einzige Klasse von Vorgehensweisen zurück zu führen.
7
Ausgangspunkt II:
8
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
Abstraktion I
10
Abstraktion II
11
Abstraktion III
A
B
D
C
12
Abstraktion IV
13
„Ein Graph“
Knoten
(Vertex, Nodes)
Kanten
(Edges)
14
Definition des Problems
Ein 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
„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
Ziele der Graphentheorie in der
Informatik
(1) Erlaube Aussagen
über auf Graphen
zurückführbare
inhaltliche Probleme.
17
Ziele der Graphentheorie in der
Informatik
Kopf:
Atom 1
(2) Beschreibe direkt die
Atom 2
Eigenschaften von Listen,
die wir am Tag 2 als eine
der grundlegenden
Datenstrukturen
kennengelernt haben.
Atom 3
Schwanz:
18
Definitionen I
Einfacher,
ungerichteter Graph.
Auch „schlichter
Graph“.
19
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
Definitionen II
Einfacher, gerichteter
Graph.
Kanten hier:
„gerichtete Kanten“,
Bögen oder Dikanten.
21
Definitionen III
Ungerichteter Graph
mit Mehrfachkanten,
auch „Multigraph“.
22
Definitionen IV
Knotengefärbter
Graph.
23
Definitionen V
Kantengefärbter
Graph.
24
Definitionen VI
Ein verbundener
- oder
zusammenhängender Graph.
25
Definitionen VII
Ein unverbundener oder
unzusammenhängender
- Graph.
26
Definitionen VIII
Ein Graph mit einer
Schleife
27
Definitionen IX
Ein Graph mit einem
Zyklus.
28
Definitionen IX
Ein Graph mit einem
Zyklus.
29
Beziehung: Graphen und
Matrizen
K2
K1
K4
K3
30
Beziehung: Graphen und
Matrizen
K2
K1
1
1
1
0
1
0
2
1
1
2
0
1
0
1
1
0
K4
K3
31
Konzept Isomorphie I
32
Konzept Isomorphie II
33
Konzept Isomorphie III
34
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
Anwendung Isomorphie
Nachteil: Überschneidungen, Diagramm daher
potentiell verwirrend.
36
Anwendung Isomorphie
Vorteil: Keine Überschneidungen, Diagramm
daher klarer.
37
Weitere Begriffe
Grade:
Anzahl der Kanten von und zu einem Knoten / allen
Knoten.
Eingangsgrade und Ausgangsgrade.
Maximale / Minimale Eingangsgrade / Ausgangsgrade.
38
Weitere Begriffe
Verbundenheit:
Ein Graph ist n-verbunden, wenn n Kanten entfernt
werden können, ohne dass er unzusammenhängend wird.
39
Beispiel
40
Verbindungen
41
Verbindungen
42
Verbindungen
43
Verbindungen
44
Verbindungen
45
Verbindungen
46
Travelling salesman
Besuche jede Stadt, aber keine zweimal – auf möglichst kurzem Weg.
47
Travelling salesman
“Brute force” Anzahl der Permutationen: (7-1)!/2 = 360
48
Travelling salesman
“Branch and Bound” Anzahl der Permutationen < “Brute Force”
49
Travelling salesman
“Nearest Neighbour” Ergebnis abhängig vom Startknoten
50
Weitere Begriffe
Durchmesser:
Ein Graph hat den Durchmesser n, wenn der längste nichtzyklische Kantenzug zwischen zwei Knoten n Knoten
durchläuft.
51
Weitere Begriffe
Ein ungerichteter,
zusammenhängender Graph
ohne 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.
52
Anwendungen …
Semantisches Netz
53
Anwendungen …
P2P Netzwerk
54
Anwendungen …
www.stanford.edu/group/toolingup/rplviz/
55
Anwendungen …
www.stanford.edu/group/toolingup/rplviz/
56
Anwendungen …
http://informationandvisualization.de/blog/graphbas
ed-visualization-topic-shifts
57
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.
58
Vielen Dank!
Herunterladen