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!