Algorithmen für schwierige Probleme

Ähnliche Dokumente
Algorithmen für schwierige Probleme

Seminar Logik, Komplexität, Spiele: Strukturkomplexität von Graphen und Graph Searching Games SS 2010

Fliegende Cops: Charakterisierung der Baumweite

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.

Algorithmen für schwierige Probleme

Skript: Parametrisierte Algorithmen

durch Einfügen von Knoten konstruiert werden kann.

15. Elementare Graphalgorithmen

Algorithmen II Vorlesung am

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Programmierpraktikum Algorithm Engineering (FPT-Algorithmen) Einführung

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen II Vorlesung am

Datenstrukturen und Algorithmen (SS 2013)

Informatik II, SS 2014

Algorithmen und Datenstrukturen (Informatik II) SS Klausur

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

1 Pfade in azyklischen Graphen

WS 2013/14. Diskrete Strukturen

Kombinatorische Optimierung

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Vorlesung Datenstrukturen

Informatik II: Algorithmen und Datenstrukturen SS 2013

Das Heiratsproblem. Definition Matching

Informatik II, SS 2018

Algorithmische Methoden zur Netzwerkanalyse

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

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.

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen

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

Seminar Parametrisierte Algorithmen für N P-schwere Probleme

Algorithmen II Vorlesung am

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Datenstrukturen & Algorithmen

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Zählen perfekter Matchings in planaren Graphen

Graphentheorie. Zufallsgraphen. Zufallsgraphen. Zufallsgraphen. Rainer Schrader. 23. Januar 2008

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Lernmodul 7 Algorithmus von Dijkstra

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

Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009

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

D-MAVT Lineare Algebra I HS 2017 Prof. Dr. N. Hungerbühler. Lösungen Serie 10

Algorithmen II Vorlesung am

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Randomisierte Datenstrukturen

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr

Algorithmen für schwierige Probleme

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

Algorithmische Graphentheorie

Einheit 11 - Graphen

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

Spiele in der Informatik

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Relationen und DAGs, starker Zusammenhang

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60

Das Problem des Handlungsreisenden

Informatik II Prüfungsvorbereitungskurs

SCHNITTERHALTUNG (SPEKTRALE APPROXIMATION)

Bäume und Wälder. Definition 1

Heute. Algorithmen für Ad-hoc- und Sensornetze. Erinnerung: MAC-Layer. Erinnerung: Färbungen. Definition

Maximale s t-flüsse in Planaren Graphen

Komplexitätstheorie WiSe 2009/10 in Trier. Henning Fernau Universität Trier

Algorithmische Graphentheorie

Bäume und Wälder. Definition 1

Wiederholung zu Flüssen

3. Übung zur Vorlesung Planare Graphen

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Übung zur Vorlesung Diskrete Strukturen I

Über ein Theorem von Hans Läuchli

Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität.

Theoretische Informatik 1

Datenstrukturen und Algorithmen

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

6. Flüsse und Zuordnungen

Theoretische Informatik 1

Vorlesung 2 KÜRZESTE WEGE

Heute. Medium Access Control / Färbungen, Teil 2. Kapazität & Scheduling. kurze Wiederholung Schöner verteilter Färbungsalgorithmus

Inhaltsverzeichnis. Eigenschaften. Eigenschaften. 1 outerplanare Graphen. 2 k-outerplanare Graphen. Outerplanarity. Julie Meißner & Sebastian Sondern

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

3.3 Optimale binäre Suchbäume

Theoretische Grundlagen der Informatik

Durchschnitte und Sichtbarkeit

Transkript:

Algorithmen für schwierige Probleme Britta Dorn Wintersemester 2011/12 24. November 2011

Farbkodierung Beispiel Longest Path Longest Path gegeben: G = (V, E) und k N. Frage: Gibt es einen einfachen Pfad der Länge k in G, d.h., Pfad aus k Knoten, so dass kein Knoten mehrfach im Pfad vorkommt? Bemerkung: kann kte Potenz der Adjazenzmatrix bilden: Eintrag 0: Knoten sind durch Pfad der Länge k verbunden. Problem: Pfad ist nicht unbedingt einfach. Deshalb jetzt mit Farbkodierung!

Farbkodierung Beispiel Longest Path Grundidee (randomisierter Ansatz) Färbe Knoten von G per Zufall mit k verschiedenen Farben. Hoffe, dass alle Knoten eines Pfades unterschiedliche Farben bekommen. Wir nennen einen Pfad vollbunt, wenn jeder seiner Knoten mit anderen Farbe gefärbt wurde. Klar: Pfad vollbunt Pfad ist einfach. Was lässt sich für einfache Pfade sagen? Ist ein einfacher Pfad immer vollbunt, wenn zufällig gefärbt wird? Nein. Aber er ist vollbunt mit Wahrscheinlichkeit k! k k (k k : # Möglichkeiten, k Knoten mit k Farben zu färben. k!: Die Reihenfolge spielt keine Rolle, 123 = 132 usw.) Es gilt: k! > 1 (Stirling-Formel) k k e k

Farbkodierung Beispiel Longest Path Lemma Sei G = (V, E) ein Graph, V sei mit k Farben gefärbt. Dann kann ein vollbunter Pfad aus k Knoten (falls er existiert) in Zeit O(2 k E ) gefunden werden. Beweis: Algorithmus, der dynamisches Programmieren benutzt. Der Algorithmus findet alle vollbunten Pfade aus k Knoten, die bei einem festen Knoten s beginnen.

Farbkodierung Beispiel Longest Path Erster Algorithmus ohne colour coding Wir speichern in jedem Knoten v des Graphen die Menge M(v) aller Pfade, die in diesem Knoten enden. Algorithmus Starte mit Knoten s Annahme: Pfad P der Länge i schon gefunden P endet in v, also P M(v). Suche nun Pfad P der Länge i + 1. Der Knoten v war bisher das Ende des Pfades. Betrachte Nachbar u von v. Wenn u P, dann P := P {u} M(u) := M(u) P Beispiel Tafel.

Farbkodierung Beispiel Longest Path Erster Algorithmus ohne colour coding Wie ( viele Pfade der Länge i kann es geben? n ) i (# aller i-elementigen Teilmengen einer n-elementigen Menge) Laufzeit ( k O i=1 i (n) ) m i (i: prüfen, ob Knoten bereits in Knotenmenge vorkommt ( n i ) m = E : alle Nachbarn des Knotens anschauen) = O(k m 2 n )

Farbkodierung Beispiel Longest Path Zweiter Algorithmus mit colour coding Wir speichern in jedem Knoten v des Graphen die Menge M f (v) aller Pfade, die in diesem Knoten enden. Jetzt aber: nicht die Knoten des Pfades, sondern nur die Farben, die in dem Pfad vorkommen. (Achtung, Pfad muss nicht eindeutig sein.) Algorithmus Starte mit Knoten s Annahme: Vollbunter Pfad F der Länge i schon gefunden F endet in v, also F (Farben des Pfades) M f (v). Suche nun Pfad F der Länge i + 1. Der Knoten v war bisher das Ende des Pfades. Betrachte Nachbar u von v. Wenn c(u) F, dann F := F {u} M f (u) := M f (u) F

Farbkodierung Beispiel Longest Path Zweiter Algorithmus mit colour coding Wie ( viele vollbunte Pfade der Länge i kann es geben? k ) i (# aller i-elementigen Teilmengen einer k-elementigen Menge) Laufzeit ( k O i=1 i (k) ) m i (i: prüfen, ob Knoten bereits in Knotenmenge vorkommt ( k i ) m = E : alle Nachbarn des Knotens anschauen) = O(k m 2 k ) Also: Statt Menge aller Knoten (bis zu n viele) zu betrachten, schauen wir nur Menge aller Farben (bis zu k viele) an, deshalb die bessere Laufzeit.

Farbkodierung Beispiel Longest Path Theorem Longest Path kann in erwarteter Laufzeit 2 O(k) m gelöst werden. Beweis: Will einfachen Pfad aus k Knoten. Färbe Graph zufällig mit k Farben. Falls es einen einfachen Pfad im Graphen gibt, wird er mit Wahrscheinlichkeit k! > 1 vollbunt gefärbt, und mit dem Lemma kann k k e k man ihn dann auch finden. (Lemma: wenn es vollbunten Pfad gibt, finden wir ihn in 2 O(k) m.). Also: Färbe. Prüfe mit Lemma: vollbunt? nein: dann war die Färbung nicht gut, färbe noch mal neu. ja: vollbunter Pfad gefunden, also ist er auch einfach, fertig. Wenn man > e k mal färbt, sollte der einfache Pfad vollbunt werden. (Erwartungswert ist > 1). e k = 2 O(k) ( Tafel) Kann also Longest Path in erwarteter Laufzeit e k O(2 k m) = 2 O(k) m lösen.

Farbkodierung Beispiel Longest Path Bemerkung: Dieser Algorithmus ist randomisiert ( Färbe zufällig... erwartete Laufzeit...) Kann ihn aber mittels Hashing (genauer: k-perfekte Familien von Hashfunktionen) derandomisieren (bekomme dann deterministischen Algorithmus, Laufzeiteinbußen...) ( Tafel) kann damit zeigen: Theorem Longest Path kann deterministisch in 2 O(k) m log n gelöst werden. Insbesondere ist Longest Path FPT bezüglich Parameter k (Länge des Pfades).

Baumzerlegungen

Tree decompositions of graphs Definition (tree decomposition, treewidth) Properties 1 3, explained in an easier way: 1 Each vertex of G appears in at least one of the bags 2 The endpoints of each edge appear together in at least one of the bags. 3 For each graph vertex v: The bags containing v form a subtree of T.

Übung: Baumzerlegungen

Quiz Welche dieser Zerlegungen sind gültige Baumzerlegungen?

Lösung

Quiz Welche dieser Zerlegungen sind gültige Baumzerlegungen? keine

Quiz Welche dieser Zerlegungen sind gültige Baumzerlegungen?

Lösung

Quiz Welche dieser Zerlegungen sind gültige Baumzerlegungen? a), d) Optimale Zerlegung?

Baumzerlegungen 8.5 Bemerkungen Baum hat Baumweite 1 Eine Clique aus n Knoten hat Baumweite n 1 Jeder Graph mit n Knoten hat eine triviale Baumzerlegung der Weite n 1 Je kleiner die Baumweite eines Graphen, desto baumähnlicher ist der Graph I.A. ist es NP-schwer, eine optimale Baumzerlegung eines Graphen zu berechnen. (Aber: FPT bzgl. der Baumweite!) Offene Frage: Kann die Baumweite für planare Graphen in Polynomzeit berechnet werden?

Baumzerlegungen 8.6 Robber-cop game Ein Räuber: bewegt sich von Knoten zu Knoten entlang der Kanten des Graphs, kann beliebig schnell laufen. Mehrere Polizisten: bewegen sich von Knoten zu Knoten mit Hubschraubern (langsam), und sie sehen jedezeit, wo der Räuber sich befindet. Die Baumweite eines Graphen ist die minimale Anzahl Polizisten, die man braucht, um den Räuber zu fangen, minus 1.

Quiz Berechne die Baumweite dieser Graphen: