Hartmut Klauck Universität Frankfurt SS

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Polynomial Root Isolation
Christian Schindelhauer
Minimum Spanning Tree: MST
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/
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
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
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/
Hartmut Klauck Universität Frankfurt SS
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
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen 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
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
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
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler Institut für Informatik Universität Paderborn
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Gliederung der Vorlesung
 Präsentation transkript:

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

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

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

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

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

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

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

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!

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

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

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

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!

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

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]

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

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

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

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

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 !

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

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

Ü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

Ü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

Ü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

Ü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

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

Ü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

Ü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

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