Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4."—  Präsentation transkript:

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

2 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 /n 2

3 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,;}

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/

5 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)

6 Welche Repräsentation? Beide sinnvoll! Hier: Tester im Matrixmodell Listenmodell: [GR 96]: Test für Grad 3 Graphen mit =0.01 braucht (n 0.5 ) Fragen ! [GR97]: reicht auch, bis auf polylog. Faktor

7 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

8 Bipartitheit im Matrixmodell -weit von Bip heisst: n 2 Kanten müssen entfernt werden, um bipartit zu werden D.h. für alle Partitionen V 1,V 2 der Knoten sind n 2 Kanten innerhalb V 1 oder innerhalb V 2

9 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

10 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

11 Analyse des Testers O(log(1/ ) 2 / 4 ) Fragen und Zeit Auf bipartiten Graphen wird immer akzeptiert Theorem 3.1.: Der Tester verwirft -weit entfernte Graphen mit Ws. 2/3

12 Notationen G: Graph (n Knoten), -weit von bipartit entfernt Partition: der Knoten in zwei Mengen Immer n 2 Kanten intern, d.h. verlaufen nicht zwischen den beiden Mengen der Partition

13 Grundidee Betrachte Stichprobe (zufällig gezogenen Knoten) als zwei Mengen U, S aus Knoten von G Betrachte alle Partitionen von U in U 1 und U 2 G ist -weit, dann sind für alle Erweiterungen V 1, V 2 der Partition auf alle Knoten n 2 Kanten intern, d.h. verlaufen innerhalb von V 1 bzw. V 2 Hoffen, daß nun für alle Partitionen der Testmenge S mindestens eine Kante intern ist!

14 Vorbereitungen m 1 =|U|= O(log(1/ )/ ) m 2 =|S|= O(log(1/ )/ 2 ) Ein Knoten heisst wichtig, wenn sein Grad mind. /4¢ n ist Unwichtige Knoten habe nur /4¢ n 2 inzidente Kanten, also sind ¾ n 2 Kanten intern und zwischen wichtigen Knoten (per Partition)

15 Grundidee Betrachte Stichprobe (zufällig gezogenen Knoten) als zwei Mengen U, S aus Knoten von G U wird zuerst gezogen, dann eine Partition U 1,U 2 bestimmt, dann S gezogen, und getestet, ob es eine Partition von S gibt, bei der U 1,S 1 vs. U 2,S 2 keine internen Kanten enthält S ist Testmenge für U 1,2, durchlaufe dann alle U 1,2

16 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 U 1,U 2 : kann S partitioniert werden, so dass Subgraph bipartit?

17 Skizze des Beweises C: Nachbarschaft von U (restlicher Graph) Natürliche Partition von C: C 2 Nachbarn von U 1, und C 1 Rest von C Mit hoher Wahrscheinlichkeit gibt es in S Kanten, die in C 1 oder in C 2 liegen Dann gibt es eine Kante, die Bipartitheit verletzt Die Ws. Ist so gross, das der Test für alle Partitionen von U funktioniert

18 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

19 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

20 Situation also Mit guter Wahrscheinlichkeit sind viele wichtige Knoten adjazent zu U. Insbesondere sind nur wenige Kanten ( n 2 /2) nicht in W (Menge der wichtigen Knoten) oder nicht in C (von U überdeckte Knoten) Also: für jede Knotenpartition sind n 2 /2 Kanten intern und in WÅC Nennen U dann gut

21 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 U 1, U 2 Partition von C in C 2 : von U 1 überdeckt C 1 : C-C 2 Keine Kanten zwischen U 1 und C 1 Partition von C ist induziert von der von U (Keine Kanten zwischen U 1, C 1 )

22 Verletzende Kanten Eine Kanten heisst verletzend, wenn sie innerhalb von C 1 oder innerhalb von C 2 verläuft Es gibt mindestens /2 n 2 -|U| 2 > /3 n 2 verletzende Kanten Nur /2 n 2 nicht in C, wenige in U

23 Die Menge S S: Testmenge (gezogene Knoten in U oder in S) Lemma 3.3.: Sei U gut. U 1, U 2 sei Partition von U. Mit Wahrscheinlichkeit über die Wahl von S gibt es für jede Partition S 1,S 2 von S eine Kante in S 1 [ U 1, oder in S 2 [ U 2.

24 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).

25 Beweis Behauptung 1: Mit Ws. gibt es eine verletzende Kante in S, d.h. eine Kante in C 1 Å S oder C 2 Å S Behauptung 2: Wenn das so ist, hat jede Partition von S eine interne Kante in U 1, U 2, S 1, S 2

26 Behauptung 1 Mit Ws. gibt es eine verletzende Kante in S, d.h. eine Kante in C 1 Å S oder C 2 Å S Beweis: Es gibt /3 n 2 verletzende Kanten (in C 1, C 2 ). Betrachte Wahl von S als Wahl von m 2 /2 Paaren von Knoten. Jedes Paar ergibt keine verletzende Kante mit Ws. 1- /3 Ws., dass alle Paare keine verletzende Kante, ist

27 Behauptung 2 Es gibt eine verletzende Kante in S, d.h. eine Kante in C 1 Å S oder C 2 Å S Sei das (u,v) in C 2 z. B. Sei S 1, S 2 eine Partition von S Wenn u,v in S 1 oder in S 2 :OK Sonst: in U 1 [ S 1

28 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

29 Noch eine Bemerkung Beste bekannt Schranken: 1/ 2 ¢ polylog1/ Fragen reichen (1/ ) notwendig


Herunterladen ppt "Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 20.4."

Ähnliche Präsentationen


Google-Anzeigen