Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken und Anwendungen 8. Bipartite Graphen /1, Folie 1 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
Gliederung des Kapitels a) b) Ein generischer Lösungsansatz c) Das Verfahren von Kruskal d) Das Verfahren von Prim e) Ein anderer Ansatz... im Mittelpunkt stehen (ungerichtete) kantengewichtete Graphen /1, Folie 2 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beispiel 1 es sei G = (V,E) der folgende zusammenhängende Graph 1 2 3... das Ziel besteht darin, eine Teilmenge E E auszuzeichnen, so dass gilt: der Teilgraph G = (V,E ) ist zusammenhängend E hat möglichst wenige Kanten /1, Folie 3 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beispiel 1 1 2 3 1 2 3 1 2 3 /1, Folie 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beispiel 2 es sei G = (V,E) der folgende zusammenhängende Graph, wobei jeder Kante eine reelle Zahl (ihr Gewicht) zugeordnet wird 1 2 2 1 2 3 3 1 1 2 1 1 3 1... das Ziel besteht darin, eine Teilmenge E E auszuzeichnen, so dass gilt: der Teilgraph G = (V,E ) ist zusammenhängend E hat möglichst wenige Kanten die Summe der Gewichte der Kanten in E ist minimal /1, Folie 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beispiel 2 1 2 2 1 2 3 3 1 1 2 1 1 3 1 1 2 2 1 2 3 1 2 2 1 2 3 3 1 1 2 1 1 3 1 1 2 1 1 3 1 3 1 Summe... : Summe... : 11 /1, Folie 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Warum ist diese Frage interessant? 1 2 2 1 2 3 3 1 1 2 1 1 3 1... die Knoten entsprechen Städten... die Kanten geben an, welche Städte mit Stromleitungen verbunden werden können (/* aufgrund von geographischen Besonderheiten ist es nicht möglich, zwischen allen Städten Stromleitungen zu legen */)... die Gewichte geben an, wie teuer der Bau der Stromleitungen ist... es geht darum, ein kostengünstigstes Stromleitungsnetz zu finden, dass es erlaubt, alle Städte zu versorgen und dass möglichst wenig Kanten hat /1, Folie 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Anmerkungen im Folgenden werden alle relevanten Begriffe zusammengetragen, um die uns interessierenden algorithmischen Probleme zu präzisieren darüber hinaus werden einige relevante Zusammenhänge diskutiert /1, Folie 8 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Begriff: kantengewichteter Graph und Gewicht eines Graphen es sei G = (V,E) ein Graph es sei w(.) eine Funktion, die jeder Kante in E eine reelle Zahl zuordnet dann nennt man w(.) Gewichtsfunktion für G und das Paar (G,w(.)) einen kantengewichteten Graphen das Gewicht w(g) eines kantengewichteten Graphen (G,w(.)) wird wie folgt definiert: w(g) = w(e) e E /1, Folie 9 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Begriff: Wald und Baum es sei G = (V,E) ein Graph der Graph G ist ein Wald, wenn er kreisfrei ist ein Wald G ist ein Baum, wenn er zusammenhängend ist... diese Begriffe unterscheiden sich ein wenig von den entsprechenden Begriffen im ungerichteten Fall /1, Folie 10 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beispiele... ein Wald:... ein Baum: 1 2 3 1 2 3... weder Wald noch Baum: 1 2 3 1 2 3 /1, Folie 11 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u zurück zu den algorithmischen Problemen es sei G = (V,E) ein zusammenhängender Graph es geht uns darum, eine Teilmenge E E auszuzeichnen, so dass gilt: der Teilgraph G = (V,E ) ist zusammenhängend G hat möglichst wenige Kanten (/* und ein möglichst kleines Gewicht */) /1, Folie 12 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Ein wichtiges Lemma es sei G = (V,E) ein zusammenhängender Graph es sei G = (V,E ) ein zusammenhängender Teilgraph von G, d.h. G entsteht aus G, indem bestimmte Kanten aus E gestrichen werden Dann gilt: Wenn E möglichst wenige Kanten hat, so ist der Teilgraph G kreisfrei.... Begründung: wenn es in G ein Kreis gäbe, so könnte man eine Kante aus diesem Kreis streichen und würde wieder einen zusammenhängenden Teilgraphen von G erhalten, der weniger Kanten hat /1, Folie 13 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Ein äquivalente Formulierung es sei G = (V,E) ein zusammenhängender Graph es sei G = (V,E ) ein zusammenhängender Teilgraph von G, d.h. G entsteht aus G, indem bestimmte Kanten aus E gestrichen werden Dann gilt: Wenn E möglichst wenige Kanten hat, so ist der Teilgraph G ein Baum.... Begründung: G ist nach Voraussetzung zusammenhängend und nach dem letzten Lemma auch kreisfrei /1, Folie 1 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Der zentrale Begriff: spannender Baum es sei G = (V,E) ein zusammenhängender Graph es sei G = (V,E ) ein Baum G = (V,E ) ist ein spannender Baum für G, falls gilt: V = V E E... unter Benutzung dieses Begriffs kann man jetzt die uns interessierenden algorithmischen Probleme formulieren /1, Folie 1 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
Begriffe und Lösungsansatz u Zugehörige algorithmische Fragestellungen (/* Vorabversion */) gegeben: gesucht: ein zusammenhängender Graph G = (V,E) (/* und eine Gewichtsfunktion g(.) */) eine Kantenmenge E E, so dass G = (V,E ) ein spannender Baum für G ist, der möglichst wenige Kanten (/* und ein möglichst kleines Gewicht */) hat /1, Folie 1 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Diskussion wir wollen uns überlegen, dass wir das Problem ein wenig einfacher formulieren können... das liegt daran, dass alle spannenden Bäume dieselbe Kantenzahl haben /1, Folie 1 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Wichtige Eigenschaften von spannenden Bäumen (Teil 1) es sei G = (V,E) ein zusammenhängender Graph mit n Knoten, d.h. es gilt V = n Dann gilt: Es gibt einen spannenden Baum G = (V,E ) für G, der n - 1 Kanten hat, d.h. es gilt E = V - 1.... auf den nächsten Folien steht, warum das so stimmt /1, Folie 18 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Hilfsbegriffe: Schnitt und kreuzende Kante es sei G = (V,E) ein Graph es seien S,S nichtleere Teilmengen der Knotenmenge V von G es sei e = {u,v} E das Paar (S,S ) ist ein Schnitt für G, falls gilt: S S = V S S =... offenbar muss S = V \ S gelten die Kante e kreuzt den Schnitt (S,S ), falls u S und v S gilt /1, Folie 19 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beispiel 1 2 3 S = { 1,, } S = { 2,3,, } kreuzende Kanten: {2,}, {3,}, {,} /1, Folie 20 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Eine zentrale Eigenschaft von zusammenhängenden Graphen es sei G = (V,E) ein Graph es sei (S,S ) ein Schnitt für G Dann gilt: Es gibt mindestens eine Kante, die den Schnitt (S,S ) kreuzt.... falls es eine solche Kante nicht gibt, kann es keinen Pfad von irgendeinem Knoten in S zu irgendeinem Knoten in S geben, und folglich wäre G nicht zusammenhängend /1, Folie 21 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Konsequenz die letzte Eigenschaft kann man ausnutzen, um nachzuweisen, dass es für jeden zusammenhängenden Graphen G = (V,E) mit n Knoten einen spannenden Baum mit n - 1 Kanten gibt... siehe die nächsten Folien /1, Folie 22 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Zugrunde liegende Idee es sei G = (V,E) ein zusammenhängender Graph mit n Knoten konstruiere die Kantenmenge E wie folgt: Schritt 0: wähle irgendeine Kante {a,b} E setze E = { {a,b} } sowie V = { a,b } Schritt i+1 für ein i mit 0 i < n - 2: setze S = V und S = V \ V da G zusammenhängend ist, gibt es eine Kante {u,v} E, die den Schnitt (S,S ) kreuzt, d.h. es gilt u S und v S setze E = E { {u,v} }, V = V { v } und gehe zu Schritt i+2... das so ein zusammenhängender, kreisfreier Teilgraph G = (V,E ) mit genau n-1 vielen Kanten entsteht, sollte offensichtlich sein /1, Folie 23 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beispiel 1 3 1 3 2 2 1 3 1 3 2 2 /1, Folie 2 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Wichtige Eigenschaften von spannenden Bäumen (Teil 2) es sei G = (V,E) ein zusammenhängender Graph mit n Knoten, d.h. es gilt V = n es sei G = (V,E ) ein spannender Baum für G Dann gilt: G hat genau n - 1 Kanten hat, d.h. es gilt E = V - 1.... auf den nächsten Folien steht, warum das so stimmt /1, Folie 2 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Zugrunde liegende Überlegungen es sei G = (V,E) ein Graph mit n Knoten und m Kanten Dann gilt: Wenn G zusammenhängend ist, muss m n - 1 gelten. Dann gilt: Wenn G kreisfrei ist, muss m n - 1 gelten.... daraus folgt sofort: Wenn G ein Baum ist, so muss m = n - 1 gelten. /1, Folie 2 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Anmerkungen die beiden letzten Aussagen beweist man am besten induktiv wir schauen uns exemplarisch an, wie man das für die erste Aussage hinbekommt; es geht also um folgende Aussage: Wenn ein Graph G = (V,E) mit n Knoten und m Kanten zusammenhängend ist, so muss m n - 1 gelten. /1, Folie 2 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beweisidee das folgende Lemma bildet dann die Grundlage unseres induktiven Beweises: Es sei n > 2: Wenn es einen zusammenhängenden Graphen G mit n + 1 Knoten und echt weniger als n Kanten gibt, so gibt es auch einen zusammenhängenden Graphen G mit n Knoten und echt weniger als n - 1 Kanten.... dass es keinen zusammenhängenden Graphen mit zwei Knoten und echt weniger als einer Kante gibt, ist klar /1, Folie 28 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beweisidee für den Fall, dass G einen Knoten mit Grad 1 hat... G: 1 2 3... G : 2 3 /1, Folie 29 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Beweisidee für den Fall, dass G keinen Knoten mit Grad 1 hat... G: 1 2 3... G : 2 3 /1, Folie 30 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
Begriffe und Lösungsansatz u Zugehörige algorithmische Fragestellungen (/* Endversion */) gegeben: gesucht: ein zusammenhängender Graph G = (V,E) eine Gewichtsfunktion w(.) für G eine Kantenmenge E E, so dass G = (V,E ) ein spannender Baum für G ist, der ein möglichst kleines Gewicht hat... G soll unter allen spannenden Bäumen für G einer mit minimalem Gewicht sein /1, Folie 31 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung
u Zwischenfazit wir kennen schon eine algorithmische Idee, wie man irgendeinen spannenden Baum finden kann wir werden uns anschauen, wie man diese Idee adaptieren kann, um einen minimalen spannenden Baum zu finden... mit dem Problem, irgendeinen spannenden Baum zu finden, beschäftigen wir uns nicht mehr, weil... /1, Folie 32 201 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung