Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 18.10.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.
-
Upload
imke-geigle -
Category
Documents
-
view
109 -
download
0
Transcript of Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.
![Page 1: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/1.jpg)
Black Box Algorithmen
Hartmut KlauckUniversität FrankfurtSS 05
13.5.
![Page 2: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/2.jpg)
Organisatorisches Vorlesung: Mi. 16-18, Fr. 10-12 c.t. Übung: Mo. 16-18 SR 11(ab 18.4.) Schein: Fachgespräch Zuordnung T2,T3 Voraussetzung: Vordiplom
(Informatik, Mathematik oder Physik) Website:
www.thi.informatik.uni-frankfurt.de/~klauck/BB05.html
![Page 3: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/3.jpg)
Themen der Vorlesung
Algorithmen mit sublinearer Laufzeit Unter welchen Umständen ist es möglich, etwas zu
berechnen, ohne genug Zeit zu haben, die gesamte Eingabe zu lesen?
Nicht: Parallele Algorithmen Untere Schranken für die Anzahl der Lesezugriffe auf die
Eingabe Was sind Lesezugriffe? Untere Schranken Laufzeit, Time-Space Tradeoffs
Verschiedenen Berechnungsmodi Deterministisch Randomisiert Nichtdeterministisch Quantenmechanisch
![Page 4: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/4.jpg)
Entscheidungsbäume
Einfachstes Berechnungmodell (?) Definition 1.1: Eingabe: x1,...,xn : n Bits Funktion f: {0,1}n! {0,1}
zu berechnen Baum, Knoten fragen Variablen ab, Kante verzweigen
entsprechend, Blätter mit Funktionswert markiert
![Page 5: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/5.jpg)
Entscheidungsbäume
Beispiel: f(x,y,z)=x Ç(y©z)
![Page 6: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/6.jpg)
Komplexität einer Funktion
Definition 1.2.: Tiefe eines Baums: entspricht Anzahl der Lesezugriffe auf die Eingabe, maximiert über alle Eingaben
D(T): Tiefe des Baums T (Deterministische Tiefe)
D(f)=min{D(T): T berechnet f} minimale Anzahl der Lesezugriffe auf die
Eingabe( im worst case) eines Baums für f
![Page 7: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/7.jpg)
Ein Problem, das schnell gelöst werden kann Gegeben sei ein Tournament:
n Spieler/Mannschaften, jeder gegen jeden Matrix: M[i,j]=1 wenn i gewonnen hat kein Unentschieden
Gibt es eine Mannschaft, die gegen alle anderen gewonnen hat?
n2 - n Eingaben abfragbar ! Bzw. Eingaben
![Page 8: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/8.jpg)
Ein Problem, das schnell gelöst werden kann Eingaben abfragbar ! Entscheidbar mit O(n) Fragen/in Zeit O(n) Algorithmus:
Frage [1,2] Verlierer kann nicht gegen alle anderen gewonnen
haben, “entferne” Spalte und Zeile des Verlierers Iteration Pro Runde eine Frage, ein Spieler entfernt Nach n-1 Runden noch 1 Spieler übrig Teste, ob dieser alle Spiele gewonnen hat
Insgesamt 2n-3 Fragen
![Page 9: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/9.jpg)
Ein Problem, das schnell gelöst werden kann Algorithmus:
Frage [1,2] Verlierer kann nicht gegen alle anderen gewonnen
haben, “entferne” Spalte und Zeile des Verlierers Iteration Pro Runde eine Frage, ein Spieler entfernt Nach n Runden noch 1 Spieler übrig Teste, ob dieser alle Spiele gewonnen hat
Insgesamt 2n-3 Fragen Zeit: Speichere alle nicht entfernten Spieler in Liste,
teste erste zwei in Liste, also Zeit O(n)
![Page 10: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/10.jpg)
Struktur des Problems
Nicht alle Matrizen sind als Eingaben erlaubt, nur Tournament Matrizen (M[i,j]=M[j,i]=1 nicht erlaubt)
Algo funktioniert auch auf beliebigen gerichteten azyklischen Graphen
Nur spezielle Eingaben erlaubt, was ist mit Problem, wenn alle Matrizen/Graphen erlaubt sind? “Gibt es eine Zeile 1111...1111 ?” Dann sind mind. (n2) Fragen notwendig
![Page 11: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/11.jpg)
Noch ein Problem
Gegeben seien n Punkte in einem metrischen Raum, mit Distanzen in einer Matrix D[i,j]
Gesucht: maximale Distanz maxi,j D[i,j]
Algorithmus: wähle beliebiges 1· i· n Berechne E=maxj D[i,j] Klar: nur n Fragen Auch klar: E· maxi,j D[i,j] Ist E auch eine gute Abschätzung?
Seien a,b so dass D[a,b] maximal Dann ist D[a,b]· D[a,i]+D[i,b]· 2E
Algorithmus ist approximativ
![Page 12: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/12.jpg)
Sublineare Algorithmen
Es gibt Probleme, die in sublinearer Zeit lösbar sind
Oft sind Anforderungen an die Eingabe im Spiel
Algorithmen sind typischerweise randomisiert, oft liefern sie nur ein approximatives Ergebnis
![Page 13: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/13.jpg)
Untere Schranken
SortierproblemAlgorithmen: Laufzeit O(n log n), wie
Quicksort (randomisiert), Heapsort etc.
Vergleichsbasierte Algorithmen brauchen Zeit (n log n)
Beweis: basiert auf Entscheidungsbäumen
![Page 14: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/14.jpg)
Untere Schranke für Sortieren Eingabe: x1,...,xn, Zugriff nur durch Vergleiche Eingabe: Matrix, M[i,j]=1 wenn xi·xj
n2 Eingaben! Behauptung: (n log n) Fragen notwendig Beweis:
Angenommen {x1,...,xn}={1,...,n} Blätter des Baumes sind mit Permutationen markiert
(: x(i) ist sortiert) Jede Permutation ist möglich, taucht daher an einem
der Blätter auf Es gibt n! Permutationen Tiefe¸ log2 Anzahl Blätter¸ log2 n!=(n log n)
![Page 15: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/15.jpg)
Entscheidungsprobleme
Sortieren hat viele Ausgaben, daher viele verschiedene Blätter im Entscheidungsbaum, also viele Fragen
Einfach zu verstehen! Was ist mit Funktionen {0,1}n! {0,1}? Beispiele:
Oder(x1,...,xn)=1 wenn es xi=1 gibt Und(x1,...,xn)=1, wenn alle xi=1 Mehrheit(x1,...,xn)=1 wenn n/2 mal xi=1 Parität(x1,...,xn)= xi mod 2 Index(x1,...,xn,y1,...,ylog n)=xy
![Page 16: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/16.jpg)
Untere Schranken D(f)
Zum Beispiel Oder(x1,...,xn) Adversary Argument:
Algorithmus berechne Oder Es seien t Fragen gestellt Nächste Frage wird mit “xi=0” beantwortet
• “Gegner konstrolliert Eingabe” Nach n-1 Fragen immer noch unklar, ob Oder=1 ! Daher n Fragen notwendig
Analog: Und, Parität Argument f. Majorität nicht viel schwieriger Alle brauchen n Fragen
![Page 17: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/17.jpg)
Gibt es einfache Funktionen? Index(x1,...,xn,y1,...,ylog n)=xy
Frage y’s, Frage xy, also log n+1 Fragen
Theorem 1.1: Eine Funktion, die von allen Eingaben abhängt, braucht D(f)¸ log n
Beweis: Wenn f von allen Variablen abhängt, taucht
jedes xi an einem Knoten des Baumes auf Daher gibt es mindestens n innere Knoten,
was nur bei Tiefe log n möglich ist.
![Page 18: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/18.jpg)
Frage:
Sind randomisierte (vergleichbasierte) Algorithmen zum Sortieren schneller?
Anwort: Nein, Beweis später
![Page 19: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/19.jpg)
Randomisierte Entscheidungsbäume Definition 1.3.:
Ein randomisierter Entscheidungsbaum hat zusätzliche Knoten, an denen eine Münze geworfen wird
Ein randomisierter Entscheidungsbaum berechnet eine Funktion korrekt, wenn auf jeder Eingabe mit Wahrscheinlichkeit 2/3 das richtige Ergebnis produziert wird
Tiefe ist wie zuvor definiert, wobei Zufallsknoten nicht mitgerechnet werden
Komplexitätsmass R(f) ist Minimum der Tiefe, über alle korrekten randomisierten Entscheidungsbäume für f
![Page 20: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/20.jpg)
Randomisierte Entscheidungsbäume Beispiel: f(x,y,z)=xÇyÇ z Randomisierter Algorithmus:
ziehe Zufallsvariable r aus {1,2,3} x,z, oder y=1: Akz. Sonst verwerfe
Tiefe 2 Fehler: 1/3
für alle Eingaben
![Page 21: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/21.jpg)
Randomisierte Entscheidungsbäume f(x,y,z)=xÇyÇ z Randomisierter Algorithmus:
ziehe Zufallsvariable r aus {1,2,3} x,z, oder y=1: Akz. Sonst verwerfe
![Page 22: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/22.jpg)
Fazit
Jede Komplexität D(f) zwischen log n und n kann auftreten
Im allgemeinen konstante Laufzeit deterministisch nicht zu erreichen
![Page 23: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/23.jpg)
Plan der Vorlesung
1. (Partielle) Funktionen mit sehr schnellen Algorithmen ) Property Testing
2. Komplexität von Entscheidungsbäumen1. Wie kann man systematisch Schranken zeigen?2. Was hilft Randomisierung
(Nichtdeterminismus/Quantenberechnung) ?3. Quantenalgorithmen
3. Anwendungen:1. Lernbarkeit2. Laufzeit von Parallelrechnern3. Tradeoffs zwischen Zeit und Platz 4. ...
![Page 24: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/24.jpg)
Property Testing
Szenario zunächst: Eingabe ist Adjazenzmatrix eines (un)gerichteten Graphen
Definition 1.4.: Grapheigenschaft: Boolesche Funktion, die alle Graphen mit ja/nein klassifiziertUND die invariant unter Permutation der Knoten ist
Beispiel: Hat mindestens eine Kante ist Grapheigenschaft Hat Kante zwischen 1 und 2 ist keine
![Page 25: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/25.jpg)
Grapheigenschaften
“Hat eine Kante” ist welche Funktion? Oder auf Variablen Braucht also viele Fragen Definition 1.5.: Grapheigenschaften mit
D(f)= heissen schrecklich.(engl. evasive: ausweichend)
Grapheigenschaften heissen monoton, wenn sie bei Einfügung neuer Kanten nicht verlorengehen Beispiel: Hat eine Kante monoton, Hat keine
Kante antimonoton
![Page 26: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/26.jpg)
Grapheigenschaften
Beispiel für nicht schreckliche Grapheigenschaft: Der Einfachheit halber auf gerichteten Graphen.
Ähnlich Tournament:• Akzeptiere, wenn es einen Knoten mit Ingrad n-1 und
Ausgrad 0 gibt, verwerfe sonst Nicht monoton!
Anderaa, Karp, Rosenberg-Vermutung:Alle nichttrivialen, monotonen Grapheigenschaften sind schrecklich
Immer noch offen, aber (n2) ist bewiesen Randomisiert: (n4/3) bewiesen
![Page 27: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/27.jpg)
Property Testing
Wie sind trotzdem schnelle Algorithmen möglich? Weitere Anforderungen an die Eingaben Definition 1.6.:
Ein Graph heisst -weit von einer Eigenschaft entfernt, wenn mindestens n2 Kanten entfernt/eingefügt werden müssen, damit man einen Graphen mit der Eigenschaft erhält Property Testing:
• Alle Graphen mit der Eigenschaft sollen akzeptiert werden
• Alle Graphen, die weit von der Eigenschaft sind, sollen verworfen werden
• Alle anderen Graphen: egal
![Page 28: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/28.jpg)
Property Testing
Property Testing: Alle Graphen mit der Eigenschaft sollen akzeptiert
werden Alle Graphen, die weit von der Eigenschaft sind,
sollen verworfen werden 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 (mit Erfolgswahrscheinlichkeit 3/4).
![Page 29: Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 13.5.](https://reader033.fdocuments.net/reader033/viewer/2022042607/55204d7549795902118c9943/html5/thumbnails/29.jpg)
Ein Property Tester
Beispiel: Eigenschaft: Hat keine Kante
• Akzeptiere alle Graphen ohne eine Kante• Verwerfe alle Graphen mit n2 Kanten mit hoher
Wahrscheinlichkeit Algorithmus:
• Ziehe 100/ Positionen (i,j) in der Adjazenzmatrix• Teste, ob eine Kante vorhanden• Ja: verwerfe• Nein: Akzeptiere
Klar: Keine Kante vorhanden, dann wird akzeptiert Kanten da, dann werden erwartet (100/)¢ =100
Kanten gefunden Wahrscheinlichkeit, dass dann keine Kante gesehen wird ist
durch kleine Konstante beschränkt [tatsächlich: ] Also ist die Eigenschaft testbar