Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 29.4.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Algorithmen und Komplexität
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
Algorithmen und Komplexität
Christian Schindelhauer
Minimum Spanning Tree: MST
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Chromatische Zahl.
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler Institut für Informatik Universität Paderborn
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Anwendung der Ellipsoidmethode in der Kombinatorischen Optimierung
Gliederung der Vorlesung
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Algorithmen und Datenstrukturen
 Präsentation transkript:

Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS

Approximationsalgorithmen Viele wichtige Optimierungsprobleme sind NP-schwer TSP, Clique, Vertex Cover.... Statt exakter Optimierung nur approximative Lösung Optimierungsproblem: Eingabeinstanz (z.B. Graph) Lösungen (z.B. Cliquen) Kostenfunktion c (z.B. Grösse der Clique) Berechne eine Lösung mit maximaler/minimaler Kostenfunktion

Approximationsalgorithmen Konzentrieren auf Maximierungsprobleme auf Graphen Qualität einer Lösung P auf einem Graphen G mit optimaler Lösung O sei c(P)/c(O) Definition 6.1.: Ein Algorithmus ist ein -Approximationsalgorithmus, wenn er für ein Graphmaximierungsproblem zu jedem Eingabegraphen G eine Lösung mit Qualität mindestens findet. Interessant, wenn Algorithmus effizient, aber exakte Optimierung schwer

Beispiel Clique problem Eingaben: Graphen Lösungen: Cliquen Optimum: Grösse der grössten Clique NP-schwer Approximation mit Faktor 1/n 1- is immer noch schwer [Hastad97] Letzte Vorlesung: Finden grosse approximative Cliquen in linearer Zeit in der Anzahl der Knoten

Max Cut Max Cut Problem: Eingabe: Graph Lösung: Partition der Knoten in zwei Mengen Kostenfunktion: Anzahl der kreuzenden Kanten NP-schwer Sei für eine Partition (V 1, V 2 ) der Knoten e(V 1, V 2 ) die Anzahl der Kanten mit einem Endpunkt in V 1, einem in V 2 (V 1,V 2 )=e(V 1,V 2 )/n 2 Maximiere: (G)=max (V 1,V 2 )

Max Cut Sei für eine Partition (V 1, V 2 ) der Knoten e(V 1, V 2 ) die Anzahl der Kanten mit einem Endpunkt in V 1, einem in V 2 (V 1,V 2 )=e(V 1,V 2 )/n 2 Maximiere: (G)=max (V 1,V 2 ) Insbesondere ist immer (G) < 0.5

Max Cut Lange bekannt: Polynomieller Approximationsalgorithmus mit Qualität 1/2. [Goemans Williamson 94]: Polynomieller Algorithmus mit Qualität Darstellung als semidefinites Programm, Lösung, Randomisiertes Runden der reellwertigen Lösung PCP-Theorie: Kein polynomieller Algorithmus ist besser als Wahrscheinlich optimal

Berliebig nahe Approximation? Auf dichten Graphen: Wenn es (n 2 ) Kanten gibt, ist eine 1- -Approximation in polynomieller Zeit möglich [AKK96, dlV96] Ein PTAS [polynomial time approximation scheme] ist eine Familie von Algorithmen, abhängig von, die für jedes konstante eine 1- Approximation in polynomieller Zeit erlauben

Max Cut Max Cut hat allgemein kein PTAS Auf dichten Graphen aber doch

Property Tester Eigenschaft p-Cut: G hat (G)>p p-Cut: Akzeptiere, wenn (G)>p, verwerfe, wenn G -weit entfernt, d.h., wenn n 2 Kanten hinzugegeben werden müssen, um (G)>p zu erreichen Offensichtlich sind das Kanten über den Cut! Also weit weg: (G)<p-

Property Testing vs. Approximation Normalerweise: Begriff -weit ergibt ganz neues Problem (vergl. Clique) Hier: Tester entscheidet mit Gap Übung: Tester (Entscheidung mit Gap für alle p) erlaubt auch Approximation des optimalen Wertes der Kostenfunktion Kann man p-Cut testen?

Property Testing für Max Cut Theorem 6.2: Es gibt einen Property Tester für p-Cut, für p<1/2- (1), der mit poly(1/ ) Fragen und Zeit exp(1/ ) auskommt. In Zeit exp(1/ )+O(n/poly(1/ )) kann ein Cut gefunden werden, der nur n 2 Kanten weniger als der maximale Cut hat Auf Graphen mit (n 2 ) Kanten hat Max Cut ein Approximationsschema (PTAS)

Plan Zeigen den zweiten Punkt (mit schlechterer Laufzeit), und folgern dann den Property Tester Dritter Punkt: wenn G mindestens cn 2 Kanten hat, hat der maximale cut mindestens cn 2 /2 Kanten, und wenn wir einen Cut mit (G)n 2 - n 2 Kanten finden, ergibt ein Algorithmus mit = c/2 fehlenden Kanten eine Approximation mit Qualität

Ein Greedy Algorithmus Starte mit einem Cut Wenn es einen Knoten gibt, der mehr Nachbarn auf seiner Seite als auf der anderen hat, verschiebe ihn Etc. Sei (v,S) der Grad von Knoten v in Knotenmenge S, d.h. die Anzahl der Nachbarn von v in S Partition V 1, V 2 Wechsel für v in V 1 also wenn (v,V 1 )> (v,V 2 )

Schnelle Approximation für Max Cut Problem: Greedy Algorithmus liefert keine sehr gute Approximation Weiterhin: Wollen nicht Grade exakt berechnen, da im Tester nicht möglich Approximiere Grad durch Sampling

Schnelle Approximation für Max Cut Orakel-Algorithmus: Gegeben sei ein Orakel, dass für einen Knoten anzeigt, wieviele Nachbarn er auf einem maximalen cut in der Menge V 1 und wieviele in V 2 hat. Plaziere den Knoten entsprechend Klar: Es ergibt sich ein maximaler Cut Problem 1: Haben so ein Orakel nicht Lösungsansatz: Ziehen Samplemenge S, nehmen an wir haben optimalen Cut auf S hoffen auf gute Approximation der Grade, teilen v danach auf Tatsächlich: durchlaufe alle cuts aus S

Schnelle Approximation für Max Cut: Erster Ansatz Also: Ziehe kleine Samplemenge S aus V Betrachte alle Partitionen S 1, S 2 Erzeuge jeweils Partition V 1, V 2, wobei v in V 1, gdw. (v,S 2 )> (v,S 1 ) Wähle besten Cut Hoffnung: für richtige Partition S 1, S 2 werden Grade in S repräsentativ sein

Schnelle Approximation für Max Cut Problem mit dem Ansatz: Kanten ausserhalb von S unberücksichtigt Beispiel: Gebe es eine grosse Clique mit p 2 n 2 Kanten Max Cut zerschneide Clique S wird m.h.Ws. Clique sampeln, d.h. ca. pS Knoten aus der Clique haben. Max Cut in S zerschneidet die Teilclique in zwei gleiche Teile Wenig Information, auf welche Seite restliche Knoten der Clique sollen, Grad in beiden Hälften gleich!

Schnelle Approximation für Max Cut Problem des Ansatzes ist, dass eine Menge S für zu viele (nämlich alle) Knoten verwendet wird! Eigentliche Umsetzung der sampling Idee wäre es für jedes v eine eigene Menge S zu nehmen! Kompromiss: Verwende 4/ Mengen von n/4 Knoten Für jede Menge verwende eine Samplemenge S, durchlaufe alle Partitionen von S und bestimme Grade von den Knoten bezüglich S Immer noch konstant viele Iterationen

Schnelle Approximation für Max Cut Vergesse Approximation der Grade im Moment Was passiert, wenn viele Knoten gleichzeitig die Seite wechseln?

Schnelle Approximation für Max Cut Im maximalen Cut gilt, dass für jeden einzelnen Knoten ein Wechsel der Seite keine Verschlechterung/Verbesserung des Cuts ergibt Betrachte Knotenmenge der Grösse n/4, und wechsele jeden Knoten anhand seines Grades im Restgraphen: H 1,H 2 sei der maximale Cut X sei Menge von n/4 Knoten, W sei V-X Partition W 1,W 2 auf W Für alle v in X tue v nach W 1, wenn Grad in W 1 kleiner als in W 2 Dabei kann der Cut verkleinert werden! Aber nur um |X| 2, wenn Kanten nach W optimal gewählt Also Verschlechterung nur 2 n 2 /16, nicht ( n 2 ) 1/ solche Schritte vertretbar, Verlust ( n 2 ) gesamt

Schnelle Approximation für Max Cut Neuer Orakel-Algorithmus: Knoten seien in l=4/ Teilmengen der Grösse n/4 partitioniert, beliebig, Mengen V 1, V l Fixiere einen Max Cut H 1, H 2 Für jede Menge V i durchlaufe alle Knoten in V i, Orakel gibt an Grad in W i 1, W i 2, dem von H 1, H 2 induzierten Cut in V-V i, partitioniere so V I Ergebnis: höchstens (1/ )¢ 2 n 2 /16= n 2 /16 Kanten weniger im Cut als in H 1, H 2

Schnelle Approximation für Max Cut Weiteres Vorgehen: Ersetze jetzt Orakel durch Sample ansatz, wähle Mengen U 1,…,U l Benutze U i für V i, U i µ V-V i Durchlaufe alle Partitionen von U i, partitioniere Knoten in V i entsprechend nach Grad

Schnelle Approximation für Max Cut Also angenommen U i erlaubt gute Approximation Max Cut sei H 1, H 2, induziert cut W 1,W 2 auf V –V i U i sei in U i 1,U i 2 partitioniert V 2 V i wird nach Grad aufgeteilt Verlust |V i | 2 wie im Orakel Algorithmus Zusätzlich: Balancierte Knoten, bei denen der Grad in W 1, W 2 fast gleich (bis auf n/8) werden schlecht approximierten Grad haben, bei beliebiger Aufteilung ergibt sich ein Verlust von (4/ )( n/4)( n/8)= n 2 /8 Kanten, also OK Müssen zeigen, dass Us so gewählt werden können, dass bei Gradunterschied > n/8 richtig approximiert wird

Der Algorithmus Verwende beliebige feste Partition von V in l=4/ gleich grosse Mengen V 1,…,V l Ziehe U 1,…, U l, wobei U i uniform aus V-V i ist, mit Grösse O(1/ 2 ¢ log(1/ )) Durchlaufe alle Tupel U 1 1,U 1 2,…,U l 1,U l 2 von Partitionen der U i Partitioniere V i, indem jeder Knoten v nach V 1 i geht, wenn (v,S i 1 )< (v,S i 2 ) Bestimme die Partition mit dem besten Cut

Analyse Laufzeit ist 2 poly(1/ ) mal O(n 2 ) Korrektheit: Lemma 6.3.: Sei H 1,H 2 eine beliebige Partition von V Dann existiert mit Wahrscheinlichkeit 5/6 über Wahl der U i eine Partition U 1 1,U 1 2,…,U l 1,U l 2, auf der der Algorithmus eine Partition V 1,V 2 berechnet, die (V 1,V 2 )¸ (H 1,H 2 )- ¾ erfüllt