Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4.
-
Upload
elise-heims -
Category
Documents
-
view
105 -
download
0
Transcript of Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4.
![Page 1: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/1.jpg)
Black Box Algorithmen
Hartmut KlauckUniversität FrankfurtSS 05
20.4.
![Page 2: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/2.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/3.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/4.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/5.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/6.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/7.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/8.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/9.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/10.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/11.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/12.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/13.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/14.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/15.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/16.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/17.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/18.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/19.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/20.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/21.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/22.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/23.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/24.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/25.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/26.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/27.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/28.jpg)
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.](https://reader034.fdocuments.net/reader034/viewer/2022051515/55204d7549795902118c9949/html5/thumbnails/29.jpg)
Noch eine Bemerkung
Beste bekannt Schranken:1/2¢ polylog1/Fragen reichen (1/) notwendig