1 Pfade in azyklischen Graphen

Ähnliche Dokumente
durch Einfügen von Knoten konstruiert werden kann.

Knotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E.

4 Färbungen Begriffe Komplexität Greedy-Algorithmus Knotenreihenfolgen Das 4-Farben-Problem...

3-Färbbarkeit. Korollar: Zu Entscheiden, ob ein Graph k-färbbar ist mit k 3, ist NP-vollständig.

Lernmodul 7 Algorithmus von Dijkstra

Definition : Diechromatische Zahl eines Graphen G ist die kleinste Anzahl chromatische Zahl von Farben für eine zulässige Färbung.

1 Kürzeste Pfade in Graphen

Diskrete Strukturen. wissen leben WWU Münster

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Planare Graphen, Färbung)

Algorithmische Graphentheorie

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Alexandra Kuhls Proseminar Das Buch der Beweise

Färbungen auf Graphen

Planare Graphen und Färbungen. Kapitel 7. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

Der Fünf-Farben-Satz. Lukas Schweighofer. Feb.2014

Vorlesung Datenstrukturen

Fünf-Farben-Satz. Seminar aus reiner Mathematik, WS 13/14. Schweighofer Lukas, November Seite 1

Berechnung von Abständen

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen

Datenstrukturen und Algorithmen (SS 2013)

WS 2009/10. Diskrete Strukturen

Das Heiratsproblem. Definition Matching

Diskrete Mathematik Graphentheorie (Übersicht)

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich

Achilles und die Schildkröte Sommersemester 2008

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Übung zur Vorlesung Diskrete Strukturen I

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens

Theoretische Informatik 1

Von den Kanten von Gewicht 4 wird nur noch eine ausgewählt, die zu dem letzten nicht ausgewählten Knoten führt: 1. Juni

Aufgaben zur Klausurvorbereitung

Kürzeste-Wege-Algorithmen und Datenstrukturen

Graphentheorie. Färbungen. Knoten- und Kantenfärbungen. Knoten- und Kantenfärbungen. Rainer Schrader. 28. Januar 2008

Kombinatorische Optimierung

Algorithmen II Vorlesung am

5. Bäume und Minimalgerüste

Übung zur Vorlesung Diskrete Strukturen I

Färbungen von Graphen: Die chromatische Zahl und der Satz von Brooks

Der Fünffarbensatz Proseminar: Graphentheorie Sommersemester 2006 Isa Topac, Markus Kunder, Tim Hahn

Vier-Farben-Vermutung (1)

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Algorithmen & Komplexität

Theoretische Informatik 1

Effiziente Algorithmen I

Zählen perfekter Matchings in planaren Graphen

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

OR für Wirtschaftsingenieure. Übungsserie 7: Färbungen von Graphen

Effizienter Planaritätstest Vorlesung am

Algorithmen II Vorlesung am

Kapitel IV Minimale Spannbäume

2. Repräsentationen von Graphen in Computern

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale.

Einheit 11 - Graphen

Lösungen zu Kapitel 5

A B = {(a,b) a A, b B}

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

Algorithmische Graphentheorie

Algorithmen für schwierige Probleme

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

Algorithmische Graphentheorie

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Listenfärbung von Graphen

12. Graphen. Königsberg Zyklen. [Multi]Graph

Graphalgorithmen I. Katharina Reif Hallo Welt -Seminar - LS 2

Algorithmen und Datenstrukturen 2

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

Kapitel IV Minimale Spannbäume

Vorlesung Datenstrukturen

Algorithmen und Datenstrukturen

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Graphalgorithmen 1. Tillmann Zipperer Tillmann Zipperer Graphalgorithmen / 40

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

William Rowan Hamilton,

Übungsaufgaben Graphentheorie, Wintersemester 2011/12

4. Kreis- und Wegeprobleme Abstände in Graphen

Kapitel 3. Kapitel 3 Graphentheorie

Teil 2: Graphenalgorithmen

Das Art Gallery Problem

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Breitensuche BFS (Breadth First Search)

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

Algorithmen und Datenstrukturen 2-1. Seminar -

Der Vier-Farben-Satz

Vorlesung 1: Graphentheorie. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich

ADS: Algorithmen und Datenstrukturen 2

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Programmierkurs Python II

Graphenalgorithmen I

Algorithmische Graphentheorie

Graphdurchmusterung, Breiten- und Tiefensuche

Transkript:

Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 1 1 Pfade in azyklischen Graphen Sei wieder ein gerichteter Graph mit Kantengewichten gegeben, der diesmal aber keine Kreise enthält, also azyklisch ist. Für solche Graphen lassen sich kürzeste Pfade einfacher berechnen als in beliebigen gerichteten Graphen. Wir wollen das single-source-problem für diesen Spezialfall effizient lösen. Wir nehmen an, dass der Startknoten v der einzige Knoten in G mit Eingangsgrad 0 (d.h. ohne eingehende Kante) ist und dass alle anderen Knoten von v aus erreichbar sind. (Sonst könnten wir einfach den Teilgraph aller von v aus erreichbaren Knoten betrachten.) Eine hilfreiche Tatsache über azyklische gerichtete Graphen G ist, dass man eine Nummerierung bzw. Reihenfolge v 1, v 2,..., v n der Knoten von G finden kann, so dass alle Kanten des Graphen von einem Knoten v i zu einem Knoten v j mit j > i laufen. Eine solche Reihenfolge nennt man auch topologische Sortierung. Sie lässt sich mit verschiedenen Methoden effizient in linearer Zeit bestimmen, etwa mit einer modifizierten Tiefensuche, bei der die Nummern in absteigender Reihenfolge am Ende der visit-funktion vergeben werden. In einer topologischen Sortierung unter den obigen Annahmen muss der Startknoten v die Nummer 1 erhalten, da er der einzige Knoten ohne eingehende Kanten ist. Die folgende Abbildung zeigt ein Beispiel eines azyklischen Graphen, bei dem die Nummern in den Knoten eine gültige topologische Sortierung darstellen: 1 7 6 2 9 8 4 3 10 Um die kürzesten Pfade in G zu berechnen, betrachten wir die Knoten von G in der Reihenfolge der topologischen Sortierung. Sei der aktuell bearbeitete Knoten v i und seien die Abstände und kürzesten Pfade für v 1,...,v i 1 bereits berechnet. Da alle in v i hineinlaufenden Kanten an einem der bereits erledigten Knoten beginnen, erfüllt der Abstand des aktuellen Knotens v i von v die folgende Gleichung: dist[v i ] = min j=1,...,i 1 (v j,v i ) E 5 {dist[v j ] + c(v j, v i )} Wenn der aktuelle Knoten v i also d eingehende Kanten hat, so kann unter Zuhilfenahme von d bereits berechneten Werten der Wert dist[v i ] bestimmt werden. Analog lassen sich nebenbei auch die from-werte berechnen.

Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 2 Mit diesen Hinweisen sollte es nicht schwer sein, ein Programm zu implementieren, das in Zeit O( V + E ) eine topologische Sortierung bestimmt und anschließend in Zeit O( V + E ) die kürzesten Pfade von v zu allen anderen Knoten. Ebenso ist nicht schwer zu sehen, dass auf dieselbe Art und Weise auch die längsten Pfade von v zu allen anderen Knoten berechnet werden können, wenn man in der obigen Formel das Maximum statt des Minimums bildet. Die Berechnung längster Pfade kann also in azyklischen Graphen in linearer Zeit erfolgen, obwohl dieses Problem in beliebigen Graphen N P-hart ist. Literatur [1] Volker Turau. Algorithmische Graphentheorie. Addison-Wesley, Bonn, 1996. S. 250 254. 2 Färbung planarer Graphen 2.1 Problemstellung und Ziel In diesem Abschnitt befassen wir uns mit dem Färben von planaren Graphen. Wir betrachten die folgenden zwei Probleme: Können die Länder eine Landkarte mit nur 4 Farben so gefärbt werden, dass benachbarte Länder unterschiedliche Farben erhalten? Wie müssen die Frequenzen in Mobilfunknetzen den Sendemasten zugeteilt werden, dass möglichst wenige Frequenzen benötigt werden? Eine Färbung eines ungerichteten Graphen G = (V, E) ordnet jedem Knoten v (Kante e, Fläche f) aus V (E, F) eine natürliche Zahl c(v) IN (c(e), c(f)) zu, die auch Farbe genannt wird. Eine Färbung heißt zulässig, falls je zwei benachbarten Knoten (Kanten, Flächen) eine unterschiedliche Farbe zugewiesen wird. Man unterscheidet zwischen Knoten-, Kanten- oder Flächen-Färbung. Eine Färbung, die k verschiedene Farben verwendet, heißt k-färbung. γ(g) = min{k G ist k-färbbar} heißt chromatische Zahl. Im Allgemeinen ist das Problem, ob ein Graph k-färbbar ist, NP-schwer. Definition 1 (Planarer Graph) Ein Graph G ist planar, wenn v V in der Ebene (R 2 ) eingebettet werden können so dass sich die Kanten e E nur in den Knoten kreuzen. Wir betrachten im Folgenden die Knoten-Färbung eines planaren Graphen G.

Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 3 Satz 2 (Satz von Euler) Seien n, e und f die Anzahl der Knoten, Kanten und Flächen eines planaren Graphen G. Dann gilt n e + f = 2 Beweis: Beweis durch Induktion über n. Für n = 1 besteht der Graph G nur aus einer Menge von Schlingen. Falls e = 0, so existiert genau eine Fläche. Für e > 0 teilt jede Schleife eine Fläche in zwei Flächen, und somit ist die Induktionsannahme für n = 1 und e 0 erfüllt. Sei n > 1. Falls G zusammenhängend ist, können wir eine Kante finden, die keine Schleife ist. Anschließend können wir diese Kante zusammenziehen und wir erhalten einen Graphen G mit n Knoten, e Kanten und f Flächen. Durch das Zusammenziehen ändert sich nicht die Anzahl der Flächen, die Anzahl der Knoten und Kanten verringert sich aber um 1. Eingesetzt in die Hypoythese: n e + f = n + 1 (e + 1) + f = 2 Der Satz von Euler ist nur gültig in zusammenhängenden Graphen. Die allgemeine Formel für einen planaren Graph G mit k Zusammenhangskomponenten lautet: n e + f = k + 1 Jeder Graph G mit maximalem Grad d kann mit d + 1 Farben gefärbt werden. Satz 3 (Heawood) Jeder planare Graph ist 5-färbbar. Beweis: V 5: trivial. Sei G = (V, E) ein minimaler nicht 5-färbbarer planarer Graph. Sei v V ein Knoten mit deg(v) 5. Durch die Wahl von G ist der Graph G v 5-färbbar. Sei f : V \{v} {1,...5} eine 5-Färbung von G v. Da G nicht 5-färbbar ist, ist jeder Nachbar N(v) mit einer anderen Farbe gefärbt. Wir färben die Nachbarn n 1,..., n 5 von v im Uhrzeigersinn mit den Farben c 1,..., c 5. Sei G i,j der Teilgraph von G, der alle Knoten mit den Farben c i und c j enthält. In diesem Graphen können wir die beiden Farben jeder Komponente austauschen, und

Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 4 wir erhalten eine neue 5-Färbung von G v. Die Komponente, die Knoten v i enthält, muss auch Knoten v j enthalten, ansonsten können wir die Komponente, die v j enthält so umfärben, dass v j N(v) Farbe c[v i ] erhält und der Graph G somit 5-färbbar ist. Sei P i,j der Pfad in G i,j von Knoten v i nach v j. Betrachte nun den Kreis C, der durch den Pfad P 1,3 und Konten v definiert ist. Dieser Kreis trennt die Knoten v 2 und v 4. Aus diesem Grund muss der Pfad P 2,4 den Pfad P 1,3 kreuzen. Da G ein planarer Graph ist, ist eine Kreuzung nur in einem Knoten v V zulässig. Da die Knoten aus P 1,3 die Farben 1 oder 3 und P 2,4 die Farben 2 oder 4 besitzen, kann eine Kreuzung der Kanten an einem Knoten nicht erfolgen. Satz 4 (4-Farben-Satz) Jeder planare Graph ist 4-färbbar. Anmerkung: Erst 1977 konnten Ken Appel und Wolfgang Haken einen Beweis finden. Der Beweis reduzierte die Anzahl der problematischen Fälle von Unendlich auf 1936 (eine spätere Version sogar 1476), die durch einen Computer einzeln geprüft wurden. 1996 konnten Neil Robertson, Daniel Sanders, Paul Seymour und Robin Thomas einen modifizierten Beweis finden, der die Fälle auf 633 reduzierte. Auch diese mussten per Computer geprüft werden. 2.2 Schema des Algorithmus Betrachten wir den in Abb. 1 angegebenen Greedy-Ansatz: func Greedy-Färbung((V, E)) v V do färbe v mit der nächsten freien Farbe od Abbildung 1: Greedy-Färbung 1 Klar ist, dass dieser Algorithmus eine gültige Färbung des Graphen G bestimmt, mit einer Laufzeit von O( V + E ). Diese Färbung kann aber beliebig schlecht werden. Siehe dazu Abb. 2. Obwohl nur 2 Farben nötig sind, verwendet der Algorithmus 6 Farben. 1 2 3 4 5 6 Abbildung 2: Beispiel

Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 5 Der Algorithmus in Abb. 1 kann durch eine einfache Modifizierung verbessert werden. Betrachte dazu den Algorithmus in Abb. 3 func Greedy-Färbung((V, E)) v V do c[v] = min{k IN k c[w] e = {v, w} od Abbildung 3: Greedy-Färbung 2 Der Algorithmus in Abb. 3 benötigt im Allgemeinen weniger Farben als der Algorithmus in Abb. 1, bei gleicher Laufzeit O( V + E ). Für das Beispiel in Abb. 2 benötigt dieser Algorithmus nur 2 Farben. Aber auch hier kann die Färbung beliebig schlecht werden. Für jeden Graphen G = (V, E) gibt es eine Anordnung σ der Knoten v V, so dass der Greedy-Algorithmus in Abb. 3 eine optimale Färbung bestimmt. Beweis: Seien c 1,..., c γ(g) die Farben des optimal gefärbten Graphen G. Sei L ci die Liste der Knoten mit Farbe c i Wähle σ wie folgt: σ = L c1... L cγ(g). Auf dieser Anordnung der Knoten liefert der Greedy-Algorithmus 3 eine optimale Färbung. Leider können wir eine optimale Anordung der Knoten aus V nicht im Voraus bestimmen. In vielen Fällen reicht es aus, eine gute Färbung des Graphen G zu bestimmen. Dafür ist es ausreichend, eine gute Anordnung der Knoten zu finden. Betrachtet man einen zu färbenden Knoten v V, so sind alle Farben c[n i ] der Nachbarknoten N(v) verboten. Das bedeutet, dass für Knoten mit hohem Grad viele Farben verboten sind. Daraus lässt sich der Algorithmus 4 ableiten: Dieser Algorithmus bestimmt im Allgemeinen eine gute Färbung eines Graphen G in Laufzeit O( V log V + E ) func Greedy-Färbung((V, E)) Ordne die Knoten v V absteigend nach deg(v) σ[.] for i = 1 to σ do c[σ[i]] = min{k IN k c[n] e = {σ[i], n} od Abbildung 4: Greedy-Färbung 3

Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 6 Literatur [1] K. Appel and W. Haken, Every Planar Map is Four Colorable, Part I: Discharging. Illinois J. Math., 21, 429-490, 1977. [2] L. Euler, Demonstratio Nonullarum Insignium Proprietatum Quibus Solida Hedris Planis Inculsa Sunt Praedita. Novi Comm. Acad. Sci. Imp. Petrol, 4, 140-160, 1758. [3] P.J. Heawood, Map-Color Theorem. Q. J. Math., 24, 332-339, 1890.