black box algorithmen hartmut klauck universität frankfurt ss 05 20.4

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

Upload: elise-heims

Post on 05-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Black Box Algorithmen

Hartmut KlauckUniversität FrankfurtSS 05

20.4.

Page 2: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Adjazenzmatrix-modell

Gegeben sei Graph Adjazenzmatrix Frage: Zugriff auf Matrixelemente Matrixelemente sind 0 oder 1 Distanz zwischen Graphen G und H:

Hamming Distanz der Matrizen /n2

Page 3: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Adjazenz “listen” modell

Gegeben sei Graph mit Grad d durch n ungeordnete Arrays von jeweils bis zu d anderen Knoten

Freier Zugriff auf Arrays Einzelne Arrayelemente sind

entweder Knotennamen oder leer dn Eingaben 2{1,…,n,;}

Page 4: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Adjazenz “listen” modell

Distanz in der Repräsentation:Anzahl der Einträge, die geändert

werden müssen Also sind Graphen weit entfernt, wenn

dn Einträge verändert werden müssen

Beachte: dn · n, also d· 1/

Page 5: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Bipartitheit

Ein Graph heisst bipartit, wenn es eine Partition der Knoten in zwei Mengen gibt, so dass alle Kanten zwischen den zwei Mengen verlaufen

Bipartitheitsproblem Bip: Entscheide, ob Graph bipartit ist

Bip ist antimonotone Grapheigenschaft, also schwer zu entscheiden im Adjazenzmatrixmodell D(Bip)= Linearzeitalgorithmus existiert

(Breitensuche)

Page 6: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Welche Repräsentation?

Beide sinnvoll! Hier: Tester im Matrixmodell Listenmodell:

[GR 96]: Test für Grad 3 Graphen mit =0.01 braucht (n0.5) Fragen !

[GR97]: reicht auch, bis auf polylog. Faktor

Page 7: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Im Listenmodell

Tester: von ¼ n 1/2 zufälligen Knoten aus jeweils einen kurzen random walk. Wenn Zyklus ungerader Länge gefunden, verwerfe, sonst akzeptiere

Untere Schranke: Unterscheidung schwer zwischen zufälligen Graphen aus zwei Klassen: Ein Hamilton Pfad gerader Länge plus ein

Matching Ein Hamilton Pfad gerader Länge plus ein

Matching mit Zusatzbedingung

Page 8: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Bipartitheit im Matrixmodell

-weit von Bip heisst:n2 Kanten müssen entfernt werden, um bipartit zu werden

D.h. für alle Partitionen V1,V2 der Knoten sind n2 Kanten innerhalbV1 oder innerhalb V2

Page 9: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Tester

Ziehe m zufällige Knoten m=O(log(1/)/2) Frage alle Kanten zwischen solchen Knoten Teste, ob der Subgraph bipartit ist Wenn ja: akzeptiere, nein: verwerfe

Laufzeit hängt nur von ab Klar: G ist bipartit, dann auch alle

Subgraphen, d.h., bipartite Graphen werden immer akzeptiert

Z.z.: -weit entfernte Graphen mit Ws. 2/3 verworfen

Page 10: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Testparadigma

Ziehe einige zufällige Knoten Betrachte davon aufgespannten

Subgraph Entscheide, ob hier eine

Grapheigenschaft gilt (nicht unbedingt dieselbe)

Generelle Vorgehensweise Funktioniert nicht im Listenmodell

Page 11: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Analyse des Testers

O(log(1/)2/4) Fragen und ZeitAuf bipartiten Graphen wird immer

akzeptiert

Theorem 3.1.:• Der Tester verwirft -weit entfernte

Graphen mit Ws. 2/3

Page 12: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Notationen

G: Graph (n Knoten), -weit von bipartit entfernt

Partition: der Knoten in zwei MengenImmer n2 Kanten intern, d.h.

verlaufen nicht zwischen den beiden Mengen der Partition

Page 13: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Grundidee

Betrachte Stichprobe (zufällig gezogenen Knoten) als zwei Mengen U, S aus Knoten von G

Betrachte alle Partitionen von U in U1 und U2 G ist -weit, dann sind für alle Erweiterungen

V1, V2 der Partition auf alle Knoten n2 Kanten intern, d.h. verlaufen innerhalb von V1 bzw. V2

Hoffen, daß nun für alle Partitionen der Testmenge S mindestens eine Kante intern ist!

Page 14: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Vorbereitungen

m1=|U|= O(log(1/)/) m2=|S|= O(log(1/)/2)

Ein Knoten heisst wichtig, wenn sein Grad mind. /4¢ n ist

Unwichtige Knoten habe nur /4¢ n2 inzidente Kanten, also sind ¾ n2 Kanten intern und zwischen wichtigen Knoten (per Partition)

Page 15: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Grundidee

Betrachte Stichprobe (zufällig gezogenen Knoten) als zwei Mengen U, S aus Knoten von G

U wird zuerst gezogen, dann eine Partition U1,U2 bestimmt, dann S gezogen, und getestet, ob es eine Partition von S gibt, bei der U1,S1 vs. U2,S2 keine internen Kanten enthält

S ist Testmenge für U1,2, durchlaufe dann alle U1,2

Page 16: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Skizze des Beweises

Entferne alle Knoten mit kleinem Grad Wenige Kanten verloren

Wähle U zufällig, mit guter Ws. nur wenige Knoten nicht Nachbarn von U, vergesse restliche Wenige Kanten verloren

Betrachte feste Partition von U Zufälliges S dient als Tester von U1,U2: kann

S partitioniert werden, so dass Subgraph bipartit?

Page 17: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Skizze des Beweises

C: Nachbarschaft von U (restlicher Graph) Natürliche Partition von C: C2 Nachbarn von

U1, und C1 Rest von C Mit hoher Wahrscheinlichkeit gibt es in S

Kanten, die in C1 oder in C2 liegen Dann gibt es eine Kante, die Bipartitheit

verletzt Die Ws. Ist so gross, das der Test für alle

Partitionen von U funktioniert

Page 18: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Vorbereitungen

Eine Knotenmenge U überdeckt einen Knoten v, wenn v zu U adjazent

Lemma 3.2.: Sei U zufällig. Mit Wahrscheinlichkeit 5/6 gibt

es nur n/4 wichtige Knoten, die nicht von u überdeckt werden

Interessant, denn wichtige Knoten schwer bipartit zu partitionieren, und so nur wenige verloren

Page 19: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Beweis 3.2.

v wichtig. Ws. nicht überdeckt zu sein:

Erwartete Anzahl nicht überdeckter wichtiger Knoten also /24¢ n

Wahrscheinlichkeit, 6 mal mehr nicht zu überdecken ist durch 1/6 beschränkt Markov Ungleichung

Page 20: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Situation also

Mit guter Wahrscheinlichkeit sind viele wichtige Knoten adjazent zu U.

Insbesondere sind nur wenige Kanten( n2/2) nicht in W (Menge der wichtigen Knoten) oder nicht in C (von U überdeckte Knoten)

Also: für jede Knotenpartition sind n2/2 Kanten intern und in WÅC

Nennen U dann gut

Page 21: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Verletzende Kanten

Tester prüft, ob für alle Partitionen von U, für alle Partitionen von S, es eine interne Kanten gibt (implizit)

Partition von U in U1, U2

Partition von C in C2 : von U1 überdeckt C1: C-C2

Keine Kanten zwischen U1 und C1

Partition von C ist induziert von der von U(Keine Kanten zwischen U1, C1)

Page 22: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Verletzende Kanten

Eine Kanten heisst verletzend, wenn sie innerhalb von C1 oder innerhalb von C2 verläuft

Es gibt mindestens /2 n2-|U|2> /3 n2 verletzende KantenNur /2 n2 nicht in C, wenige in U

Page 23: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Die Menge S

S: Testmenge (gezogene Knoten in U oder in S)

Lemma 3.3.: Sei U gut. U1, U2 sei Partition von U. Mit Wahrscheinlichkeit

über die Wahl von S gibt es für jede Partition S1,S2 von S eine Kante inS1[ U1 , oder in S2 [ U2.

Page 24: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Konsequenz:

Wahrscheinlichkeit, daß es eine Partition von U gibt, so daß keine interne Kante existiert, ist

Fehlerwahrscheinlichkeit insgesamt also 1/3 denn 1/6 für „U nicht gut“, 1/6 hier (keine interne Kante intern gefunden).

Page 25: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Beweis

Behauptung 1:Mit Ws. gibt es eine verletzende

Kante in S, d.h. eine Kante in C1Å S oder C2Å S

Behauptung 2:Wenn das so ist, hat jede Partition von

S eine interne Kante in U1, U2, S1, S2

Page 26: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Behauptung 1

Mit Ws. gibt es eine verletzende Kante in S, d.h. eine Kante in C1Å S oder C2Å S

Beweis: Es gibt /3 n2 verletzende Kanten (in C1, C2). Betrachte Wahl von S als Wahl von m2/2 Paaren von

Knoten. Jedes Paar ergibt keine verletzende Kante mit Ws. 1-/3

Ws., dass alle Paare keine verletzende Kante, ist

Page 27: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Behauptung 2

Es gibt eine verletzende Kante in S, d.h. eine Kante in C1Å S oder C2Å S

Sei das (u,v) in C2 z. B.

Sei S1, S2 eine Partition von S

Wenn u,v in S1 oder in S2:OK

Sonst: in U1[ S1

Page 28: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Andere Sichtweise

Wenn ein Graph -weit von Bipartitheit entfernt ist,

Dann sind 2/3 aller Subgraphen auf k=k() Knoten nicht bipartit, für ein konstantes k abhängig von

Page 29: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4

Noch eine Bemerkung

Beste bekannt Schranken:1/2¢ polylog1/Fragen reichen (1/) notwendig