Einführung in die Informationsverarbeitung Stunde IX: Wege und warum man sie geht ... ... Graphen. Manfred Thaller, Universität zu Köln Köln 12. Dezember 2007
Einführung in die Informationsverarbeitung
Stunde IX: Wege und warum man sie geht ...
... Graphen.
Manfred Thaller, Universität zu Köln
Köln 12. Dezember 2007
I. Einführung
2
Anknüpfungspunkte aus früheren Stunden.
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
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
Ausgangspunkt I
Möglichkeit möglichst vieler derartiger Probleme auf eine 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
B
A
C
D
12
Abstraktion IV
13
„Ein Graph“
Knoten(Vertex, Nodes)
Kanten(Edges)
14
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
„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
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
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 - oderzusammenhängender - Graph.
25
Definitionen VI
Ein verbundener - oderzusammenhängender - Graph.
26
Definitionen VII
Ein unverbundener -oder unzusammenhängender- Graph.
27
Definitionen VIII
Ein Graph mit einerSchleife
28
Definitionen IX
Ein Graph mit einem Zyklus.
29
Definitionen IX
Ein Graph mit einem Zyklus.
30
Beziehung: Graphen und Matrizen
K1
K3
K4K1
31
Beziehung: Graphen und Matrizen
K2
K3
K4K1
1 1 1 0 1 0 2 11 2 0 10 1 1 0
32
Konzept Isomorphie I
33
Konzept Isomorphie II
34
Konzept Isomorphie III
35
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.
36
Anwendung Isomorphie
Nachteil: Überschneidungen, Diagramm daher potentiell verwirrend.
37
Anwendung Isomorphie
Vorteil: Keine Überschneidungen, Diagramm daher klarer.
38
Weitere Begriffe
Grade: Anzahl der Kanten von und zu einem Knoten / allen Knoten.
Eingangsgrade und Ausgangsgrade.
Maximale / Minimale Eingangsgrade / Ausgangsgrade.
39
Weitere Begriffe
Verbundenheit:
Ein Graph ist n-verbunden, wenn n Kanten entfernt werden können, ohne dass er unzusammenhängend wird.
40
Weitere Begriffe
Durchmesser:
Ein Graph hat den Durchmesser n, wenn der längste nicht-zyklische Kantenzug zwischen zwei Knoten n Knoten durchläuft.
41
Weitere Begriffe
42
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.
Literatur
Im empfohlenen Lehrbuch (Gumm / Sommer, Einführung in die Informatik, Oldenbourg, 72006) 376 – 395.
http://www.mathematik.uni-marburg.de/~gumm/Buch/Dazu gehörige Programme (Kapitel 4) zum Download.
43