Mathematische Basistechniken MBT ‐ Elementare Graphentheorie The trick in teaching mathematics is that I do the easy part and you do the hard part. Hahn Hiang‐Shin, Complex Numbers and Geometry MBT Mathematische Basistechniken Elementare Graphentheorie Christian Cenker CSLearn CSLearn‐Educational Technologies Data Analysis and Computing © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo Graphentheorie Euler: Königsberger Brückenproblem © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 1 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Straßenkarten U‐Bahn‐Netze Navigationssysteme Soziometrie Stammbäume Unternehmenshierarchien Schaltpläne Handymastennetze © CC, 2016 Graphentheorie Definitionen Graph , , Menge von Knoten (vertex, vertices) Menge von Kanten (edge, edges) : → Funktion, die jeder Kante ∈ ein Paar von Knoten aus zuordnet 1 Diagramm Notation 4 2 , , Knotenmenge , , Kantenmenge , , Funktion , 3 © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 2 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Definitionen , , Graph 1 Knotenmenge 1,2,3,4 Kantenmenge 4 Funktion , , 1,2 , 2,3 , 1,3 3 2 © CC, 2016 Graphentheorie Definitionen Diagramme 1 1 2 4 3 4 2 3 Zwei Diagramme des selben Graphen © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 3 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Kanten , ungerichtete Kante (ungeordnetes Paar , ) Endknoten und Die Kante ist inzident zu und ((hinein)fallen) Die Knoten und sind zur Kante inzident und sind adjazent (benachbart) , gerichtete Kante (geordnetes Paar , ) Anfangsknoten Endknoten , oder © CC, 2016 Graphentheorie Kanten , oder ist eine Schlinge ist Mehrfachkante, falls es zumindest ein ′ ∈ \ gibt, mit Zwei Kanten und ′ heißen benachbart, wenn sie zumindest einen gemeinsamen Knoten haben: ∩ ∅, e′ Notation ungerichtete Kanten: auch , gerichtete Kanten: auch , statt , statt , © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 4 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Graphen ungerichteter Graph: besteht nur aus ungerichteten Kanten gerichteter Graph : besteht nur aus gerichteten Kanten gemischter Graph: besteht aus gerichteten und ungerichteten Kanten gemischte Graphen werden meist in gerichtete umgewandelt jede ungerichtete Kante wird durch zwei entgegengesetzt gerichtete Kanten ersetzt , → , , , endlicher Graph , , : und sind endliche Mengen unendlicher Graph: wenn er kein endlicher Graph ist leere Graph ∅, ∅, ∅ schlichter Graph: wenn er weder Schlingen noch Mehrfachkanten hat vollständiger Graph: ein schlichter Graph, in dem je zwei Knoten durch eine Kante verbunden sind , , , , , | , ∈ , © CC, 2016 Graphentheorie Graphen schlichter Graph: wenn er weder Schlingen noch Mehrfachkanten hat schlichter Graph: jede Kante kann mit dem Paar inzidenter Knoten eindeutig identifiziert werden gerichtet: in der Reihenfolge (Anfangsknoten, Endknoten) daher: mit identifizieren Schatten eines Graphen: entgegengesetzt gerichtete Kanten werden durch eine ungerichtete Kante ersetzt alle anderen verbleibenden gerichteten Kanten werden ebenfalls durch ungerichtete Kanten ersetzt © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 5 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Kantendichte vollständiger Graph: hat 2 Kanten | | Kantendichte dichter Graph (dense): hohe Kantendichte spärlicher Graph (sparse): geringe Kantendichte © CC, 2016 Graphentheorie Knotengrade ungerichteter Graph , , Anzahl der zu ∈ inzidenten Schlingen Anzahl der zu ∈ inzidenten Kanten 2· Knotengrad von gerichteter Graph , , ∈ |∃ ∈ : , Outdegree von ∈ ∈ |∃ ∈ : , Indegree von ∈ Grad von ∈ © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 6 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Knotengrade 0 ist isolierter Knoten des Graphen 1 ist Anfangs‐ oder Endknoten 0 ist Senke 0 ist Quelle 2·| | ∈ Die Anzahl der Knoten mit ungeradem Grad ist gerade. ∑ gerichteter Graph: ∑ ∈ ∈ © CC, 2016 Graphentheorie Teilgraphen und ′ ′, ′, ′ ′ heißt Teilgraph von , ⊆ falls Graphen , , ⊆ ′ heißt spannender Teilgraph von ,falls und ⊆ ⊆ und ′ heißt von ′ induzierter Teilgraph von , falls alle Kanten von zwischen den Knoten in enthält induzierter Teilgraph = aufgespannter Teilgraph = gesättigter Teilgraph © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 7 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Mengenoperationen , Graphen sei , , und ∩ ∩ ∩ , ∩ , ∩ ∪ ∪ , ∪ , ∪ , für ∈ ∈ ∈ ∪ \V entferne alle Knoten aus \ entferne alle Kanten aus \ ̅ \ , \ , , , ̅ , , ∩ und die inzidenten Kanten und deren Funktionswerte \ Komplement eines schlichten Graphen ̅ : Verbindung aller Knoten von , die in nicht verbunden sind: © CC, 2016 Graphentheorie Durchschnitt, Vereinigung 1 2 1 2 5 ∪ 4 3 1 2 3 ∩ 1 2 5 4 3 3 © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 8 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Isomorphie Diagramme 1 1 2 4 3 4 3 2 Zwei Diagramme des selben Graphen A Dazu isomorpher Graph B C D © CC, 2016 Graphentheorie Isomorphie , , ungerichtete Graphen und ′ ′, ′, ′ ≅ ′ isomorph, wenn es bijektive Funktionen → : : ∀ ∈ und : , gerichtete Graphen → ⟹ , , , und ′ → ∀ ∈ : und : , ⟹ → gibt: ′ ′, ′, ′ ≅ ′ isomorph, wenn es bijektive Funktionen : und und gibt: , ′ © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 9 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Graphen und Matrizen Diagramm 1 4 3 1 2 4 Adjazenzmatrix 2 0 1 0 1 0 1 01 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 02 0 0 0 0 3 © CC, 2016 Graphentheorie Graphen und Matrizen Adjazenzmatrix ungerichteter Graph gerichteter Graph , , , , © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 10 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Graphen und Matrizen Inzidenzmatrix , , ungerichteter Graph , , gerichteter Graph © CC, 2016 Graphentheorie Graphen und Matrizen Diagramm 1 Inzidenzmatrix 2 1 1 0 0 4 1 0 0 0 10 0 0 1 1 1 1 1 2 3 4 3 © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 11 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Graphen und Matrizen Adjazenz‐ und Inzidenzmatrizen sind bis auf Isomorphie eindeutig bestimmt ungerichteter Graph Die zugehörige Adjazenzmatrix ist symmetrisch Spalten‐ wie auch Zeilensumme der Adjazenzmatrix ergeben den Grad des Knoten Die Zeilensumme der Inzidenzmatrix B ist gleich dem Grad des Knoten Die Spaltensumme der Inzidenzmatrix ist stets 2 gerichteter Graph Die Zeilensumme der Adjazenzmatrix ist gleich dem Outdegree des Knoten Die Spaltensumme der Adjazenzmatrix ist gleich dem Indegree des Knoten © CC, 2016 Graphentheorie Graphen und Matrizen Graphen , , und , , © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 12 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Kanten … Kantenfolgen , , , , , , , Kantenzug – jede Kante maximal 1x , , , Weg – Kantenzug ohne Kreis , , , Kreis – eine geschlossene Kantenfolge , , Nullweg – © CC, 2016 Graphentheorie Kanten … © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 13 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Kantenfolge, Weg, Kreis, Zyklus Ein Kantenzug ist eine Kantenfolge, in der jede Kante nur einmal vorkommt. Ein Weg ist eine Kantenfolge ohne Kreis. Jeder Knoten tritt genau einmal auf. Ein gerichteter Weg heißt auch Bahn (Orbit). Ein gerichteter Kreis heißt auch Zyklus. Es darf nur der Start‐ und Endknoten doppelt auftreten. © CC, 2016 Graphentheorie Kantenfolge, Weg, Kreis, Zyklus © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 14 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Weg © CC, 2016 Graphentheorie Weg © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 15 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Wege, Erreichbarkeit Ein Knoten heißt von einem Knoten aus erreichbar, wenn es einen Weg von nach gibt. Wie kann bestimmt werden, ob ein Weg zwischen zwei Knoten existiert? Wie kann dessen Länge berechnet werden? Diagramm 1 2 1 4 3 4 2 3 © CC, 2016 Graphentheorie Wege, Kantenfolgen, Länge Diagramm 1 2 3 4 1 0 0 0 0 1 0 0 0 0 00 1 0 0 1 Adjazenzmatrix 0 1 0 1 1 0 0 1 0 1 01 0 1 1 0 2 1 1 1 1 2 1 1 1 1 11 1 0 0 3 2 3 1 4 3 2 1 4 1 4 14 0 3 3 2 © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 16 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Wege, Kantenfolgen, Länge Wie kann bestimmt werden, ob ein Weg zwischen zwei Knoten existiert? Wie kann dessen Länge berechnet werden? Das Produkt ist die Anzahl der Kantenfolgen der Länge zwei von nach , die über den Zwischenknoten verlaufen. ist die Anzahl der Kanten zwischen dem Knoten Gibt es keine Kante dazwischen, ist 0. Eine analoge Überlegung gilt für . und dem Knoten Wird über alle möglichen Zwischenknoten summiert, , die Anzahl aller Kantenfolgen der Länge 2 von so enthalten wir . nach . © CC, 2016 Graphentheorie Wege, Kantenfolgen, Länge Diagramm Adjazenzmatrix 1 2 3 4 0 0 0 0 0 4 0 0 0 4 00 0 4 0 4 0 0 0 0 1 0 1 1 0 0 02 0 0 0 0 0 0 0 0 0 2 0 0 0 2 00 0 2 0 2 0 0 0 0 2 0 2 2 0 0 04 0 0 0 0 © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 17 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Wege, Länge Allgemein gilt: Die Anzahl der Kantenfolgen der Länge vom Knoten zum Knoten ist der Eintrag der Matrix . © CC, 2016 Graphentheorie Wege, Erreichbarkeit Erreichbarkeit Ist ein Knoten vom Knoten aus erreichbar? Ein Weg darf einen Knoten nur einmal enthalten. Es gibt also bei Knoten maximal einen Weg der Länge 1 1. Es gilt also: Ist max , ,…, 0, so gibt es zumindestens einen Weg von nach Erreichbarkeitsmatrix © CC, 2016 Es kommt nicht auf die Länge des Weges an, sondern nur auf die Erreichbarkeit! http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 18 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Erreichbarkeit, Zusammenhang Ein ungerichteter Graph G heißt zusammenhängend, wenn jeder Knoten des Graphen von jedem anderen Knoten erreichbar ist Ein gerichteter Graph G heißt stark zusammenhängend, wenn es für je zwei beliebige Knoten , eine Kantenfolge von nach gibt. Ein gerichteter Graph G heißt schwach zusammenhängend, wenn der Schatten des Graphen zusammenhängend ist. Zwei Knoten eines Graphen heißen zusammenhängend, wenn es eine Kantenfolge zwischen den beiden Knoten gibt. Zwei Knoten eines Graphen heißen stark zusammenhängend, wenn es eine gerichtete Kantenfolge zwischen den beiden Knoten gibt. © CC, 2016 Graphentheorie Erreichbarkeit, Zusammenhang stark zusammenhängend schwach zusammenhängend © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 19 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Erreichbarkeit, Zusammenhang Zusammenhangskomponenten Erreichbarkeitsrelation , wenn von aus erreichbar reflexiv und transitiv, daher Äquivalenzrelation. Die Äquivalenzklassen sind die Zusammenhangskomponenten. © CC, 2016 Graphentheorie Zusammenhang, Distanz , , Graph , Distanz , , ∈ von und , ∞, und in verschiedenen Zusammenhangskomponenten. , Länge des kürzesten Weges von nach . , 0 , 0 ⇔ Es gilt , , , , Symmetrie , Mit diesen Eigenschaften ist Dreiecksungleichung eine Metrik. © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 20 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Distanzen, weiter Maßzahlen , , Graph , Distanz , , ∈ von und Exzentrizität Durchmesser Radius Zentrum © CC, 2016 Graphentheorie Distanzen, gewichtete Graphen , , Graph Gewichtsfunktion : → gewichteter Graph , Länge einer Kantenfolge in einem gewichteten Graphen ∑ wobei , ,…, ‐Distanz zweier Knoten , , ist die Länge des kürzesten Weges zwischen und © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 21 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Euler‘sche Linie, Hamilton‘sche Linie Eine Kantenfolge, die jede Kante des Graphen genau einmal enthält und durch jeden Knoten des Graphen geht, heißt Euler‘sche Linie. Ist diese Kantenfolge geschlossen, so heißt diese geschlossene Euler‘sche Linie. Eine Kantenfolge, die jeden Knoten des Graphen genau einmal enthält, heißt Hamilton‘sche Linie. Ist diese Kantenfolge geschlossen, so heißt diese geschlossene Hamilton‘sche Linie. Die Kantenfolge enthält den Anfangs‐ und Endknoten genau zweimal, alle anderen Knoten genau einmal. Euler‘sche Linie Hamilton‘sche Linie © CC, 2016 Graphentheorie Euler‘sche Linie Gerichteter Graph G Es gibt genau dann eine geschlossene Euler‘sche Linie, wenn gilt: für alle Knoten ∈ (1) (2) ist schwach zusammenhängend Ungerichteter Graph G Es gibt genau dann eine geschlossene Euler‘sche Linie, wenn gilt: ist gerade für alle Knoten ∈ (1) (2) ist zusammenhängend Probleme: Automatisches Testen von Programmübergängen Königsberger Brückenproblem Chinesisches Briefträgerproblem (CPP), route inspection problem Verfahren zur Bestimmung einer Eulerlinie: Hierholzer, Fleury, et a.l. © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 22 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Hamilton‘sche Linie Es gibt leider kein Kriterium festzustellen, ob ein Graph eine (geschlossene) Hamilton‘sche Line besitzt. Problem: TSP – Travelling Salesman Problem (gewichteter Graph) Das TSP ist ein NP‐hard © CC, 2016 Graphentheorie Azyklische Graphen, Wälder, Bäume, Gerüste Zyklischer Graph Azyklischer Graph Ein gerichteter Graph ohne Kreise heißt azyklisch. In einem azyklischen Graphen gibt es mindestens einen Knoten ∈ V mit Outdegree und mindestens einen Knoten mit Indegree 0 0 © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 23 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Azyklische Graphen, Wälder, Bäume, Gerüste Ein ungerichteter Graph, der keinen Kreis enthält, heißt Wald. Ein zusammenhängender Wald heißt Baum. Ein Knoten eines Baumes mit Grad 1 heißt Blatt. Ein Wald mit drei Bäumen © CC, 2016 Graphentheorie Azyklische Graphen, Wälder, Bäume, Gerüste Wurzelbaum Ein Baum mit einem ausgezeichnetem Knoten: Der Wurzel Pointer Wurzel Konvention bei gerichteten Graphen: Pfeile von oben nach unten! © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 24 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Azyklische Graphen, Wälder, Bäume, Gerüste Binärbaum Von jedem Knoten führen entweder zwei Kanten oder keine Kante weg. Blatt = ein Endknoten heißt Blatt. Innerer Knoten = ein Knoten, von dem zwei Kanten wegführen Binärbaum, falls Binärbaume sind Binärbaum © CC, 2016 Graphentheorie Bäume, Wälder Zwischen je zwei Knoten eines Baumes gibt es genau einen Weg. Jeder Baum mit mindestens zwei Knoten enthält mindestens zwei Blätter. Extremale Bäume mit n Knoten: Der Weg der Länge mit genau zwei Endknoten Der Stern mit 1 Endknoten 1 gilt für Baum gilt für jeden Wald mit Bäumen © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 25 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Bäume, Wälder gilt für jeden Wald mit Bäumen Wird aus einem Baum eine Kante entfernt, so entsteht ein Wald mit genau zwei Zusammenhangskomponenten (die Knoten‐Kanten‐Differenz wurde durch Entfernen dieser Kante auf 2 erhöht) © CC, 2016 Graphentheorie Bäume, Wälder Wird einem Wald mit Komponenten eine Kante hinzugefügt, so entsteht entweder ein Wald mit 1 Komponenten falls die verbundenen Knoten in verschiedenen Zusammenhangs‐ komponenten des ursprünglichen Waldes lagen oder ein Graph mit genau einem Kreis falls die Knoten in derselben Zusammenhangskomponente lagen Eine Kante, die zwei Bäume verbindet, heißt Brücke. © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 26 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Baum, Gerüst Ein Teilgraph eines ungerichteten, zusammenhängenden Graphen G heißt Gerüst oder spannender Baum, wenn ein Baum ist und . Ein Gerüst muss alle Knoten des Graphen enthalten. Jeder ungerichtete Graph, der zusammenhängend ist, besitzt ein Gerüst. © CC, 2016 Graphentheorie Minimale Gerüste verschiedene Gerüste. Ein vollständiger Graph besitzt verschiedene Bäume mit der Knotenmenge Es gibt 1,2, … , Gesucht werden minimale Gerüste, dh Gerüste mit minimaler Länge im Sinne gewichteter Graphen Die Länge oder das Gewicht eines Teilgraphen ⊆ ist die Summe der Gewichte all seiner Kanten ∑ , . . ∈ Ein Teilgraph heißt dann Minimalgerüst eines Graphen, wenn alle anderen Gerüste des Graphen das gleiche oder ein größeres Gewicht haben. Algorithmus von Kruskal: Bestimmung minimaler Gerüste. © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 27 Mathematische Basistechniken MBT ‐ Elementare Graphentheorie Graphentheorie Anwendungen Planare Graphen: Graphen, deren Diagramm so gezeichnet werden kann, dass sich Kanten nur in den Knoten schneiden Beim Platinenlayout versucht man Leiterbahnen so zu entflechten, dass eine Schaltung mit möglichst wenigen (planaren) Layern realisiert werden kann. Färbeprobleme: Kanten‐ oder Knotenfärbungen. Das berühmte Vierfarbenproblem (Einfärben von Landkarten) kann mit Hilfe der Graphentheorie gelöst werden. Weiters Matching‐Probleme in der Informatik, Routing‐Probleme, Darstellung von Flüssen in Netzwerken Netzwerkauslastungen und Optimierungen von Netzwerken © CC, 2016 MBT (fast) überlebt © CC, 2016 http://cewebs.cs.univie.ac.at/inf‐mbt/_vo 28