Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Hartmut Klauck Universität Frankfurt SS

Ähnliche Präsentationen


Präsentation zum Thema: "Hartmut Klauck Universität Frankfurt SS"—  Präsentation transkript:

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

2 Clique Problem Sei p ein Parameter aus [0,1]
Ein Graph hat Cliquendichte p, wenn es eine Clique mit pn Knoten gibt D.h. eine Menge aus pn Knoten, die alle paarweise miteinander verbunden sind p-Clique sei die Eigenschaft, Cliquendichte p zu haben Ein Graph ist -weit von p-Clique entfernt, wenn für jede Menge von pn Knoten n2 Kanten zwischen ihnen nicht vorhanden sind

3 Clique Beachte: Clique zu entscheiden (gibt es eine Clique der Grösse n/2 z.B.) ist NP-vollständig Selbst eine eine Clique zu finden, die 1/n1-o(1) so gross ist wie die maximale, ist schwer [Hastad97] Theorem 5.1.: p-Clique ist testbar

4 Tester nach Paradigma Tester:
Ziehe eine Subgraphen mit S=poly(1/) Knoten uniform Frage alle Kanten im Subgraphen Wenn es eine Clique mit (p-/2) S Knoten gibt, akz, sonst verwerfe Relativ klar: wenn es eine Clique mit pn Knoten gibt, dann werden erwartet pS davon gezogen, mit guter Wahrscheinlichkeit wird akzeptiert Nicht so klar: verwerfen, denn pn Knoten, denen n2 Kanten zur Clique fehlen sollen nicht zum Akz. führen

5 Ein unnatürlicher Testalgorithmus
Der natürliche Tester wird als Korollar auch funktionieren Für Analyse notwendig anderen Tester zu betrachten GT01 Theorem auch anwendbar

6 Übersicht Zeigen, wie eine approximative Clique gefunden werden kann, wenn es eine Clique gibt (mit Grösse pn) Konstruieren Tester

7 Approximative Clique Hintergrund: Wenn weit von p-Clique, gibt es keine grosse approximative Clique Approximative Clique: Knotenmenge Grösse pn, der n2 Kanten fehlen

8 Approximative Clique Schritt 1: [Zur Motivation] Sei C eine Clique
Erlaubt sind Fragen der Form „Hat v alle Knoten in C zum Nachbarn?“ Dabei sei v sein eigener Nachbar Konstruiere eine Clique der Grösse |C| Alle Knoten in C werden mit „ja“ beantwortet Aber auch andere!

9 Approximative Clique Prozedur:
Bestimme Menge T(C) von Knoten mit Anwort ja Cµ T(C), aber eventuell mehr Knoten Sortiere Knoten in T(C) nach ihrem Grad im Subgraphen T(C) Betrachte C‘, Menge der ersten |C| Knoten in T(C) Behauptung: Ist Clique

10 Approximative Clique Beweis:
Jeder Knoten in C ist Nachbar jedes Knoten in T(C) [ausser sich selbst] Jeder Knoten in C hat also Grad T(C)-1, maximal! Bei Sortierung sind also Knoten mit Grad T(C)-1 vorne Erste |C| davon bilden Clique

11 Approximative Clique Problem: Haben kein solches Orakel
„Ist v adjazent zu allen in Clique C ?“ Angenommen wir bekommen Menge U‘ aus C mit Grösse -2log(1/) T(U‘) sei Menge von Knoten, die Nachbar zu allen Knoten in U‘ sind Idee: Meiste Knoten in T(U‘) sind adjazent zu meisten Knoten in C Ordne Knoten in T(U‘) nach ihrem Grad in T(U‘) und nehme pn viele mit höchstem Grad M.h.Ws. Approximative Clique der gewünschten Grösse

12 Approximative Clique Woher bekommen wir U‘ ?
Ziehen Knotenmenge U und testen alle Teilmengen U‘ U guter Sampler für C (erwartet), und eine geeignet grosse Teilmenge U‘ wird in C liegen U‘ ist dann zufällige Teilmenge von C, und T(U‘) hat gewünschte Eigenschaft Finden grosse approximative Clique, wenn grosse Clique existiert Wenn keine grosse approximative Clique existiert, können wir auch keine finden!

13 Approximative Clique Nächstes Problem: wie finden wir den Grad eines Knotens in T(U‘) schnell? Verwende weitere Samplemenge W W(U‘) sei dann T(U‘)Å W Hoffen, dass Grad von v aus T(U‘) in T(U‘) geteilt durch n ungefähr Grad von v in W(U‘) geteilt t ist, wenn |W|=t gross genug

14 Approximative Clique: Algorithmus
t=10 -2 p log(1/) Wähle t Knoten in U und t Knoten in W uniform zufällig Für alle U‘µ U mit Grösse pt/2: Setze T(U‘): Menge der Knoten, die alle u in U‘ zum Nachbarn haben Wenn T(U‘) kleiner als pn, gehe zum nächsten U‘ W(U‘): Menge der Knoten in W, die alle u in U‘ zum Nachbarn haben, also T(U‘)Å W Bestimme Grad von v in W(U‘) für alle v aus T(U‘) Setze C(U‘) auf erste pn Knoten nach obigem Grad (gleicher Grad : lexikographisch) Bestimme bestes C(U‘) [meiste Kanten]

15 Analyse Behauptung: Obiger Algorithmus gibt eine approximative Clique aus, wenn es eine Clique der Grösse pn gibt Theorem 5.2: Wenn G eine Clique der Grösse pn hat, findet der Algo mit Ws. 2/3 eine Knotenmenge mit pn Knoten, der nur n2/10 Kanten fehlen

16 Bemerkungen Laufzeit: für konstante p, ist Laufzeit O(n log n) [Sortieren], Anzahl der Fragen O(n) Abhängigkeit von 1/ ist exponentiell Exaktes Finden von grossen Cliquen ist NP-schwer

17 Wie geht es weiter? Wollen Tester für Eigenschaft p-Clique, d.h. Akzeptieren, wenn es eine pn grosse Clique gibt, verwerfen wenn weit (d.h. es keine pn Knotenmenge gibt, die approximative Clique ist) Meiste Laufzeit: Berechnung von C(U‘) „Sample“ aus C(U‘) um zu sehen, ob C(U‘) nah an Clique Im wesentlichen wenden wir den obigen Algo auf einer dritte Samplemenge S an, und testen, ob in S eine pS grosse approximative Clique gibt

18 Der Clique Tester t=10 -2 p log(1/); m=10 -2 log(1/)
Wähle t Knoten in U und t Knoten in W und m Knoten in S uniform zufällig Für alle U‘µ U mit Grösse pt/2: Setze S(U‘): Menge der Knoten in S, die alle u in U‘ zum Nachbarn haben W(U‘): Menge der Knoten in W, die alle u in U‘ zum Nachbarn haben Bestimme Grad von v in W(U‘) für alle v aus S(U‘) Setze D(U‘) auf erste pm Knoten nach obigem Grad (gleicher Grad : lexikographisch) Entscheidung: Wenn |D(U‘)|> (p-/80) m und Anzahl der fehlenden Kanten ist · m/3, AKZ Sonst: Verwerfe

19 Bemerkungen zum Tester
Laufzeit exponentiell in (1/2) Idee: Wenn jede pn grosse Knotenmenge weit von Clique entfernt, dann kann S Sample nicht erfolgreich sein Andererseits: Wenn es eine pn Clique gibt, würde Algo zum Finden von approximativer Clique funktionieren und dann kann S Sample gut sein p-Clique testbar !

20 Zurück: Approximative Clique, Alorithmus
t=10 -2 p log(1/) Wähle t Knoten in U und t Knoten in W uniform zufällig Für alle U‘µ U mit Grösse pt/2: Setze T(U‘): Menge der Knoten, die alle u in U‘ zum Nachbarn haben W(U‘): Menge der Knoten in W, die alle u in U‘ zum Nachbarn haben, also T(U‘)Å W Bestimme Grad von v in W(U‘) für alle v aus T(U‘) Setze C(U‘) auf erste pn Knoten nach obigem Grad (gleicher Grad : lexikographisch) Bestes C(U‘) ausgeben

21 Analyse Behauptung: Obiger Algorithmus gibt eine approximative Clique aus, wenn es eine Clique der Grösse pn gibt Theorem 5.1: Wenn G eine Clique der Grösse pn hat, findet der Algo mit Ws. 2/3 eine Knotenmenge mit pn Knoten, der nur n2/10 Kanten fehlen

22 Übersicht Beweis: Fixiere unbekannte Clique C mit pn Knoten, setze t wie im Algo U‘ heisse -Clique-repräsentativ, wenn U‘ ist Teilmenge von C Für alle ausser n Knoten v gilt: wenn der Grad von v in C nur (p-) n ist, dann ist v nicht zu ganz U‘ adjazent Man kann zeigen: Mit Ws. 1-1/100 über Wahl von U enthält U ein 2/p2-Clique-repr. Menge U‘ mit pt/2 Knoten

23 Übersicht Beweis: Nehmen im folgenden an, dass U‘ repräsentativ ist
Nächstes Statement: Wenn wir aus T(U‘) ungefähr die Knoten mit höchstem Grad auswählen, bekommen wir eine approximative Clique Dann: W heisse gut, wenn es gut die Knotengrade approximiert Statement: Mit hoher Ws ist W gut

24 Übersicht Beweis: Lemma 5.2.:
Sei ¼2/p2 U‘ sei wie behauptet T(U‘) Menge der Knoten die alle u aus U‘ zum Nachbarn haben :  n sei der Grad des (p-/p) n –ten Knotens in der Reihenfolge nach dem Grad in T(U‘) Sei C‘ eine Menge von pn Knoten, die mindestens ( - 3/p) n Knoten vom Grad ( - 2/p) n in T(u‘) hat. Dann ist C‘ eine approximative Clique (es fehlen O() Kanten) Bemerkung: Durch W wird Schätzung der Grade meistens gut sein, selten schlecht

25 Übersicht Beweis: Noch zu zeigen: Gutes W liefert richtige Schätzung der Grade Für festes U‘, T(U‘) sei W(U‘) der Schnitt von W mit T(U‘) W heisse -gut, wenn für alle Knoten ausser n vielen: |degWÅT(U‘)(v)/t- deg T(U‘)(v)/n|·  D.h. für fast alle Knoten wird Grad gut geschätzt

26 Übersicht Beweis: Lemma 5.3: Wenn T(U‘) gross ist (pn)
Dann ist W /p-gut mit Wahrscheinlichkeit 1-1/100.

27 Übersicht Beweis: Zusammengesetzt ergibt sich:
Sei C eine pn grosse Clique Wenn U‘ clique-repräsentativ ist, und W gut ist (m.h.Ws.) Dann ist die Menge der pn Knoten die im Algorithmus gewählt werden eine approximative Clique, der  n2/10 Kanten fehlen

28 Übersicht Beweis: Beweis 5.3.: Einfach, Anwendung von Chernov Schranken Beweis 5.2: komplizierter, analog zu vorherigen Betrachtungen über den Fall, wo wir den Grad exakt wussten Eigenschaft von U‘ sichert, dass wenige Knoten mit sehr kleinem Grad in T(U‘) landen

29 Zusammenfassung Wenn eine pn Clique existiert, können wir in Zeit O(n log n) eine approximative pn Clique finden Durch Anwendung auf zufällige Knotenmenge ergibt sich Tester


Herunterladen ppt "Hartmut Klauck Universität Frankfurt SS"

Ähnliche Präsentationen


Google-Anzeigen