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

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Algorithmen und Komplexität
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
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/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Information und Kommunikation 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
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
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
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
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
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
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/
Information und Kommunikation
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
Information und Kommunikation
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Christian Scheideler Institut für Informatik Universität Paderborn
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
 Präsentation transkript:

Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS

Algorithmus Max Cut Verwende beliebige feste Partition von V in l=8/ 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 alle V i, wobei jeder Knoten v nach V 1 i geht, wenn (v,U i 1 )< (v,U i 2 ) V 1 =[ V 1 i, V 2 =[ V 2 i Bestimme die Partition mit dem besten Cut

Analyse Laufzeit ist 2 poly(1/ ) mal O(n 2 ) Korrektheit: Lemma 7.1.: 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

Beweis des Lemmas H 1,H 2 gewünschte Partition (z.B. der Max Cut) V 1,V 2 erreichte Analysiere Hybridpartitionen Für i=0….l: H 1 i, H 2 i setzt Knoten in V i+1,…,V l wie H 1,H 2, Rest wie der Algorithmus Zeige, dass in jedem Schritt die Dichte nur wenig sinkt

Beweis des Lemmas Fixiere U 1,…,U i-1 A i sei Ereignis, dass (H 1 i, H 2 i )> (H 1 i-1, H 2 i-1 )-3 /4l Ziel: alle A i geschehen mit hoher Wahrscheinlichkeit Behauptung 7.2: Wenn U 1,…,U i-1 fix, dann ist Ws von A i bei Wahl von U i mind 1-1/(6l) Ws., dass mind. ein A i nicht gilt ist höchstens l ¢ 1/(6l)=1/6 Damit mit Ws. 5/6 alle A i wahr, und Verlust insgesamt ¾, d.h. Lemma gilt

Beweis der Behauptung Uns interessiert also die Ws. über Wahl von U i, dass es eine Partition U i 1, U i 2 von U i gibt, mit der (H 1 i, H 2 i )> (H 1 i-1, H 2 i-1 )-3 /4l Setze W 1 =V-V i Å H 1 i-1 Setze W 2 =V-V i Å H 2 i-1 Setze U i 1 =W 1 ÅU i Setze U i 2 =W 2 ÅU i Zu zeigen: diese erfüllen obige Bed.

Beweis der Behauptung Definition 7.3: U i ist gut, wenn für mind. (1- /8) |Vi| Knoten gilt: | (v, U 1 i )/t - (v, W 1 )/n| · /32 | (v, U 2 i )/t - (v, W 2 )/n| · /32 Behauptung 7.4: U i ist gut mit Ws. 1/6l Beweis folgt mit Chernov Schranken

Beweis der Behauptung Definition 7.5: v aus V i heisse unbalanciert, wenn | (v, W 1 )- (v, W 2 )|¸ n/4 Intuitiv: balancierte Knoten sind irrelevant, da sie auf beiden Seiten ungefähr gleichen Grad haben, balancierte aber werden gut gesamplet

Beweis der Behauptung Im weiteren: V i wird neu partitioniert (so wie in H 1, H 2 ) Drei Fälle (U i sei gut) 1. Knoten erfüllen Bedingung in Def. 7.3 nicht [wenige Knoten, wenige Kanten] 2. Knoten sind balanciert [Platzierung macht wenig Unterschied] 3. Knoten sind unbalanciert und erfüllen Bed. in 7.3 [werden bereits optimal platziert] Achtung, Kanten innerhalb von Vi werden ignoriert

Beweis der Behauptung ad 1): Betrifft /4 |Vi| Knoten, Neupartitionierung kostet höchstens n 2 /4l Kanten ad 2): Höchstens n/l Knoten, für jeden verändert die Platzierung den Cut nur um 2 n/8, also n 2 /4l ad 3): Kein Verlust, H 1, H 2 kann den Knoten nicht besser platzieren Zu den Kanten in V i : Es gibt nur weniger als |V i | 2, also n 2 /l 2 · n 2 /4l

Beweis der Behauptung Insgesamt: Wenn U i gut ist, werden nur 3 n 2 /4l Kanten verschenkt, damit gilt die zu zeigende Behauptung 7.2.

Zu Behauptung 7.4 Zu zeigen: U i ist gut mit Ws. 1-1/6l Fixiere v aus V i U i wird zufällig aus V-V i gezogen Betrachte erwartete Anzahl der Nachbarn von v in U i 1 Diese ist (v, W 1 )¢ |U i |/N Ws, einer Abweichung mit Chernov Schranke klein (für festes v) Anwendung der Markov Schranke ergibt, dass dies für meiste v gelten muss

Max Cut Tester Bisher: Linearzeitalgorithmus, der einen Cut berechnet, dem n 2 Kanten im Vergleich zum maximalen Cut fehlen Jetzt: Property Tester/Approximationsalgo. für Max Cut (den Wert des Opt. Problems) mit konstanter Laufzeit Idee: lasse Algorithmus auf Teilmenge von Knoten laufen

Max Cut Tester Eine weitere Idee Für Analyse notwendig Wähle Menge S von Knoten, lasse bisherigen Algo darauf laufen Normalerweise: Ausgabe (S) bzw. Entscheidung: (S)¸ p - /2 ? Hier: Betrache S als |S|/2 Paare Betrachte Anzahl der Paare, die Kanten über den Cut sind

Der Tester Verwende beliebige feste Partition von V in l=8/ gleich grosse Mengen V 1,…,V l Ziehe S der Grösse m=O(1/ 5 ¢ log(1/ )) S i =V i Å S 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 alle S i, wobei jeder Knoten v nach S 1 i geht, wenn (v,U i 1 )< (v,U i 2 ) S 1 =[ S 1 i, S 2 =[ S 2 i (S 1, S 2 )=Anzahl Paare in S, die Kanten über die Seiten der Partition sind / (m/2) Bestimme grösstes (S 1, S 2 )

Laufzeit: Anzahl der Fragen: Alle Kanten in S[ U 1,...,l (geht mit etwas weniger), also poly(1/ ) Zeit: exp(1/poly( ))

Korrektheit Theorem 7.6: Mit Ws. 2/3 gibt der Algo eine Approximation von (G) aus, mit Fehler Daher: Wenn Ausgabe > p-, akzeptiere, sonst verwerfe und erhalte 2 -Property Tester für p-Cut Weitere Schlussfolgerung: Ein Standard Tester für p-Cut wird auch funktionieren

Zum Theorem Tatsächlich: Ausgabe des Algo stimmt mit hoher Ws. mit Wert der Partition aus dem ersten Algo überein, Genauer: (S 1,S 2 )= (V 1,V 2 )§ /4 mit Ws. 3/4

Zum Theorem Beobachtung: Für jede Partition der U i wird s2 S in beiden Algorithmen gleich platziert D.h. durch S 1, S 2 wird V 1, V 2 gesamplet Betrachten S als Menge von Paaren: Testen Dichte der Kanten über den Cut im Vergleich zu allem Paaren Chernov Schranke ergibt Behauptung

Noch ein Algorithmus Können wir einen fast maximalen Cut auch in O(n) Zeit berechnen? Geht tatsächlich! Idee: Lasse Tester/Approximationsalgo laufen Halte U Mengen fest, aber auch die verwendete Partition der U Mengen Partitioniere die Menge aller Knoten nach dieser U- Partition (V i wird mit U i - Part. aufgeteilt) Klar: Zeit O(n) Man kann zeigen, dass man mit hoher Ws. eine Partition mit nur n 2 weniger Kanten über den Cut bekommt, als den Max Cut