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

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

Upload: heimbrecht-raible

Post on 05-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

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

Black Box Algorithmen

Hartmut KlauckUniversität FrankfurtSS 05

15.5.

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

Property Testing

Property Testing: Alle Graphen mit der Eigenschaft sollen akzeptiert

werden (mit Ws. 2/3) Alle Graphen, die weit von der Eigenschaft sind,

sollen verworfen werden (mit Ws. 2/3) Alle anderen Graphen: egal

Komplexität eines Testers: Anzahl der Fragen/Zeit Im allgemeinen sind Tester randomisiert! Eine Eigenschaft heisst testbar, wenn sie einen Tester

besitzt, der obigen Anforderungen genügt, und der in Zeit f(1/) läuft

Zeit/Fragen zum Beispiel log(1/) oder poly(1/) oder exp(1/) [wichtig!]

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

Property Testing

Allgemeiner: Eingaben aus Xn

Boolesche Funktion f auf der Menge Distanzfunktion D auf Xn

Eingaben mit f(x)=1 werden akzeptiert mit Ws. 2/3

Eingaben mit D(x,y)¸ für alle y mit f(y)=1 werden verworfen mit Ws. 2/3

Kosten: Anzahl der Fragen nach Position i der Eingabe (Element von X)

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

Für Grapheigenschaften

G,H Graphen, P Eigenschaft D(G,H)=# zu verändernde Kanten/ Entspricht normalisierter Hamming

Distanz zwischen Matrizen G und H D(G,P)=min{D(G,H): H hat P}

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

Graphzusammenhang

Ein ungerichteter Graph heisst zusammenhängend, wenn es zwischen jedem Paar von Knoten einen Weg gibt

Sei Connect das Problem zu entscheiden, ob ein Graph zusammenhängend ist (dann Connect(G)=1)

Klar: Connect ist monotone Grapheigenschaft

Theorem 2.1: D(Connect)=

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

Beweis

Adversary Methode: Algorithmus fragt Kanten, Gegner

beantwortet Fragen Angenommen Algo stellt weniger als

Fragen Strategie des Gegners:

Sage immer: “Keine Kante”, ausser dadurch wird der Graph unzusammenhängend

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

Beweis

Genauer: Im Spiel werden Kanten des vollständigen

Graphen gefärbt Algo wählt nächste Kante, Gegner

entscheidet, ob Kante rot oder blau (rot: ist nicht vorhanden, blau: ist vorhanden)

Gegner gewinnt, wenn die letzte Kante entscheidet, ob blaue Kanten alle Knoten als zusammenhängenden Graphen verbinden oder nicht

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

Beweis

Strategie des Gegners: Auf Frage nach einer Kante (u,v):

Wenn es noch einen möglichen Spannbaum für alle Knoten mit ungefärbten und blauen Kanten gibt, ohne (u,v), dann rot, sonst blau

Behauptung: Gegner gewinnt Angenommen (i,j) wurde nicht gefragt/gefärbt, aber Algo

gibt eine Antwort Dann muss der Graph der blauen Kanten

zusammenhängend sein, Antwort also: ja• Invariant: es gibt einen Spannbaum aus blauen und

ungefärbten Kanten Daher muss schon ein Weg i nach j bekannt sein (blaue

Kanten) Sei (k,l) letzte gefragte Kante auf einem solchen Weg Widerspruch, denn Gegner hätte (k,l) nicht blau gefärbt

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

Property Tester für Connect? Angenommen zusammenhängende Graphen sollen

akzeptiert werden Jeder Graph ist höchstens n-1 Kanten von einem

zusammenhängenden entfernt, also Distanz ¼ 1/n Für >1/n reicht es also aus, jeden Graphen zu

akzeptieren Umgekehrt, angenommen nicht zusammenhängende

Graphen sollen akzeptiert werden, weit davon entfernte nicht Hier kann ein Knoten mit n-1 Kantenentfernungen

isoliert werden Ist das Problem trivial?

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

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,;} Untere Schranke: D(Connect)=dn Beweis: Übung

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

Adjazenz “listen” modell

Distanz in der neuen 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 12: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 15.5

Property Tester für Connect

Idee: Wenn ein Graph weit entfernt davon ist, zusammenhängend zu sein, gibt es viele Komponenten

Werkzeug: Zusammenhang kann in linearer Zeit durch Breitensuche entschieden werden

Breitensuche im Modell: Finde alle Nachbarn in Zeit d

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

Property Tester für Connect

Algorithmus: Wähle m=16/(d) Knoten zufällig Für alle Knoten mache eine Breitensuche,

und teste, ob• mindestens 8/(d) Knoten gesehen werden• oder Komponente erschöpft

Wenn zweiter Fall jemals auftaucht, Ausgabe “nein”, sonst ”ja”

Idee: Weit von connected, dann viele Komponenten, also normalerweise klein, sonst gar keine kleine Komponente

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

Property Tester für Connect

Klar: Wenn G zusammenhängend, dann wird nie verworfen

Wenn G weit von zusammenh., dann gibt es viele Komponenten, formal:

Lemma 2.1:Sei G -weit entfernt von “Zusammenhang”, dann hat G mindestens dn/4 Komponenten hat G mindestens dn/8 Komponenten der Grösse ·

8/(d) Also: viele Komponenten sind klein, Tester wird eine

kleine mit hoher Ws. finden und den Graphen verwerfen

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

Analyse

Lemma 2.1.:Sei G -weit entfernt von “Zusammenhang”, dann hat G mindestens dn/4 Komponenten hat G mindestens dn/8 Komponenten der

Grösse ·8/(d) Beweis Teil 2 aus 1:

Wenn es ·dn/8 Komponenten mit·8/(d) Knoten gibt, gibt es mehr als dn/8 Komponenten mit mehr als 8/(d) Knoten, also mehr als n Knoten!

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

Analyse

Angenommen Lemma 2.1. gilt: Sei G -weit von Zusammenhang entfernt und habe

daher mindestens dn/8 Komponenten der Grösse ·8/(d)

Wahrscheinlichkeit eines Knoten, in einer kleinen Komponente zu liegen, ist

Also mindestens #kleine Komponenten / n ¸ d/8 Also ist mit hoher Wahrscheinlichkeit einer der zufällig

gewählten Knoten in einer solchen. Dann wird verworfen!

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

Analyse

Anzahl Fragen: Sample size: m=16/(d)Aufgeben, wenn 8/(d) Knoten in

Komponente, jeweils Zeit d um Nachbarn zu finden

Also ·m ¢ 8/(d) ¢ d · O(1/(d2)) Fragen

Somit testbar, beachte d · 1/

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

Beweis: Lemma 2.1.

G sei -weit entfernt von Zusammenhang

Dann hat G mindestens dn/4 Komponenten

Intuition:Sei Grad <d überallDann sind <dn durch<dn Kanten

verbindbar, Distanz also <dn

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

Beweis: Lemma 2.1.

Habe also G <dn/4 Komponenten Komponenten C1,...,Cl Behauptung: dn/2 Kanten reichen, um G zu

verbinden Einfacher Fall: In jeder Komponente Summe

der Grade d|C|-2, dann verbinde jeweils Ci mit Ci+1, Kanten: <dn/4

Sonst: Ci habe Grad > d|Ci|-2• Finde Spannbaum Ti in Ci

• Es gibt mind. 1 Kante in Ci, die nicht in Ti liegt• Entferne diese• Anzahl Kanten rein/raus: dn/2

Page 20: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 15.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

Betrachten Adjazenzmatrixmodell Distanz: Anzahl zu verändernde Kanten/

Bipartitheitsproblem Bip: Entscheide, ob Graph bipartit ist

Bip ist antimonotone Grapheigenschaft, also schwer D(Bip) maximal

Linearzeitalgorithmus existiert (Breitensuche)

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

Bipartitheit

-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 22: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 15.5

Tester

Ziehe m zufällig 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