Einführung in die Informationsverarbeitung Teil Eide (auf Basis von

Werbung
Einführung in die Informationsverarbeitung
Teil Eide
(auf Basis von Thaller 2014–15)
Stunde V:
Wege und warum man sie geht ...
... Graphen.
Köln 22. Dezember 2016
Ausgangspunkt I
Möglichkeit möglichst vieler derartiger Probleme auf eine
einzige Klasse von Vorgehensweisen zurück zu führen.
2
Ausgangspunkt II:
3
Abstraktion IV
4
„Ein Graph“
Knoten
(Vertex, Nodes)
Kanten
(Edges)
5
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.
6
„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.
7
Ziele der Graphentheorie in der
Informatik
(1) Erlaube Aussagen
über auf Graphen
zurückführbare
inhaltliche Probleme.
8
Ziele der Graphentheorie in der
Informatik
Kopf:
Atom 1
Atom 2
Atom 3
(2) Beschreibe direkt die
Eigenschaften von Listen,
die wir am Tag 2 als eine
der grundlegenden
Datenstrukturen
kennengelernt haben.
Schwanz:
9
Definitionen I
Einfacher,
ungerichteter Graph.
Auch „schlichter
Graph“.
10
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.
11
Definitionen II
Einfacher, gerichteter
Graph.
Kanten hier:
„gerichtete Kanten“,
Bögen oder Dikanten.
12
Definitionen III
Ungerichteter Graph
mit Mehrfachkanten,
auch „Multigraph“.
13
Definitionen IV
Knotengefärbter
Graph.
14
Definitionen V
Kantengefärbter
Graph.
15
Definitionen VI
Ein verbundener
-  oder
zusammenhängender Graph.
16
Definitionen VII
Ein unverbundener oder
unzusammenhängender
- Graph.
17
Definitionen VIII
Ein Graph mit einer
Schleife
18
Definitionen IX
Ein Graph mit einem
Zyklus.
19
Definitionen IX
Ein Graph mit einem
Zyklus.
20
Beziehung: Graphen und
Matrizen
K2
K1
K4
K3
21
Beziehung: Graphen und
Matrizen
K2
K1
1
1
1
0
1
0
2
1
1
2
0
1
0
1
1
0
K4
K3
22
Konzept Isomorphie I
23
Konzept Isomorphie II
24
Konzept Isomorphie III
25
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.
26
Anwendung Isomorphie
Nachteil: Überschneidungen, Diagramm daher
potentiell verwirrend.
27
Anwendung Isomorphie
Vorteil: Keine Überschneidungen, Diagramm
daher klarer.
28
Weitere Begriffe
Grade:
Anzahl der Kanten von und zu einem Knoten / allen
Knoten.
Eingangsgrade und Ausgangsgrade.
Maximale / Minimale Eingangsgrade / Ausgangsgrade.
29
Weitere Begriffe
Verbundenheit:
Ein Graph ist n-verbunden, wenn n Kanten entfernt
werden können, ohne dass er unzusammenhängend wird.
30
Beispiel
31
Verbindungen
32
Verbindungen
33
Verbindungen
34
Verbindungen
35
Verbindungen
36
Travelling salesman
Besuche jede Stadt, aber keine zweimal – auf möglichst kurzem Weg.
37
Travelling salesman
“Brute force” Anzahl der Permutationen: (7-1)!/2 = 360
38
Travelling salesman
“Branch and Bound” Anzahl der Permutationen < “Brute Force”
39
Travelling salesman
“Nearest Neighbour” Ergebnis abhängig vom Startknoten
40
Weitere Begriffe
Durchmesser:
Ein Graph hat den Durchmesser n, wenn der längste nichtzyklische Kantenzug zwischen zwei Knoten n Knoten
durchläuft.
41
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.
42
Anwendungen …
Semantisches Netz
43
Anwendungen …
P2P Netzwerk
44
Anwendungen …
www.stanford.edu/group/toolingup/rplviz/‎
45
Anwendungen …
www.stanford.edu/group/toolingup/rplviz/‎
46
Anwendungen …
http://informationandvisualization.de/blog/
graphbased-visualization-topic-shifts
47
Anwendungen …
http://mappingmetaphor.arts.gla.ac.uk
48
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.
49
Vielen Dank!
Herunterladen