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

Post on 05-Apr-2015

103 views 0 download

transcript

Black Box Algorithmen

Hartmut KlauckUniversität FrankfurtSS 05

1.6.

Randomisierte Entscheidungsbäume Definition:

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

Randomisierte Entscheidungsbäume Beispiel: f(x,y,z)=xÇyÇ z Randomisierter Algorithmus:

ziehe Zufallsvariable r aus {1,2,3} x,y, x,z oder y,z x,z, oder y=1: Akz. Sonst verwerfe

Tiefe 2 Fehler: 1/3

für alle Eingaben

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

Randomisierung

Gibt es ein Beispiel mit einem besseren Unterschied zwischen D(f) und R(f) ?

Versuchen, iterativ die obige Idee zu nutzen

Maximale Beschleunigung

Vorher jedoch: Wieviel kann R(f) kleiner sein als D(f)? Wir zeigen: R(f)¸ bs(f)/3 Dann gilt mit D(f)· bs4(f): Theorem 11.

R(f)=(D1/4(f)) für allen totalen Booleschen Funktionen

Sogar R(f)=(D1/3(f))

Beweis:

Betrachte eine Eingabe x, mit maximaler Blocksensitivität k und Blöcken B1,…,Bk

Für jeden Block Bi muß mit Wahrscheinlichkeit 1/3 mind. eine Variable gelesen werden, sonst ist der Fehler zu gross: Fehler >2/3 ¢ ½ ist sonst unvermeidlich

Damit müssen insgesamt k/3 Fraagen gestellt werden: Erwartet für jeden Block 1/3 Frage,

Erwartungswert der Fragen insgesamt alsoi k/3

Eine effizient randomisiert berechenbare Funktion

f(x1,…,xn) sei durch eine alternierende UND-ODER Formel mit Ingrad 2 gegeben

Tiefe log n Wir wissen schon: D(f)=n

Auswertungsalgorithmus

Durchlaufe Formel von der Spitze: UND Gatter:

Wähle ein Kind zufälligWerte den Teilbaum rekursiv ausWenn 0 berechnet, setze die AusgabeSonst Werte anderen Teilbaum re. aus

ODER Gatter:analog, aber 1 statt 0

Idee: Für viele Gatter muss mit Wahrsch. ½ nur 1 Kind ausgewertet werden

Wir zeigen : n mit ¼ 0.754 Zeit reicht erwartet aus

Vereinfachung der Analyse

Machen Analyse „symmetrischer“ Betrachten Baum von NANDs Ersetze (xÆ y)Ç(aÆ b)

durch (x NAND y) NAND (a NAND b)

Vereinfachung

Ersetze so alle Gatter ausser evtl. der Wurzel durch NAND Gatter

Wurzel OR: Dann Anzahl der Level gerade, Wurzel auch NAND

Wurzel AND: Negiere Funktion, keine Auswirkung auf Komplexität

Algorithmus

Durchlaufe Formel von der Wurzel her Wähle ein zufälliges Kind Werte rekursiv das Kind aus 0 Gefunden: Akzeptiere 1 Gefunden: Werte auch anderes

Kind aus

Analyse

Klar: Algorithmus macht keinen Fehler Worst Case Anzahl Fragen ist n

Untersuchen erwartete Anzahl Fragen Wenn t<< n: Breche nach 100 n ab und rate

Ausgabe zufällig, wenn noch kein Ergebnis vorlag

Damit ist Fehlerwahrscheinlichkeit 1/100¢ 1/2

Erwartete Zeit:

ak: Erwartete Zeit für Eingaben mit f(x)=0 bei Formeltiefe k

bk: Erwartete Zeit für Eingaben mit f(x)=1 bei Formeltiefe k

ak: Beide Kinder werden ausgewertet und sind 1, alsoak=2bk-1

Erwartete Zeit:

bk: f(x)=1, also folgende Fälle Beide Kinder sind 0: eines wird ausgewertet Ein Kind ist 0: Mit Wahrscheinlichkeit ½ wird

eines, mit ½ werden beide ausgewertet bk· max[ ak-1, ½ bk-1+ ½ (ak-1+ bk-1)]

=bk-1+ ½ ak-1

Ausserdem:a0,b0=1

Lösung der Rekursion

Schreiben als Matrix:

Lösung der Rekursion

Betrachte Matrix M Norm von M: || M || =

max v: ||M v||/||v|| Maximale Streckung von Vektoren ||Mk||· ||M||k

||M||: Wurzel maximaler Eigenwert von M Mt

Oder betragsgrösster EW von M, wenn alle EW reell

Lösung der Rekursion

Behauptung : Ew sind

Damit :

Ergebnis

Theorem 12. :Es gibt eine Funktion, die mit O(n )

Fragen randomisiert, aber nur mit mind. n Fragen det. berechenbar ist

Untere Schranken

Haben bereits: R(f)¸ bs(f)/3

Systematisch?

Adversary Methoden?

Das Yao Prinzip

Betrachte Verteilung auf Eingaben in {0,1}n

Es gelte:

Betrachte randomisierten Algo Worst Case Komplexität sei c, Fehler sei

1/3 Betrachte randomisierten

Entscheidungsbaum als Verteilung auf deterministischen Bäumen Ziehe jeweils nach einem globalen

Zufallsstring

Das Yao Prinzip

r sei der Zufallsstring Dann gilt:

8 x Er [Fehler auf x mit r]· 1/3

Aber auch Ex Er [Fehler auf x mit r]· 1/3

Und: Er Ex [Fehler auf x mit r]· 1/3

Es gibt ein r mit Ex [Fehler auf x mit r]· 1/3

Das Yao Prinzip

Distributionale Komplexität:Für eine Verteilung auf den

Eingaben sei D() (f) die minimale Tiefe eines det. E-Baumes für f mit Fehler 1/3 unter

Theorem: R(f)¸ max D1/3() (f)

Das Yao Prinzip

Beweis:Obige Beobachtungen gelten für alle

und Frage: sind solche unteren Schranken

immer gut?

Das Yao Prinzip

Theorem: R(f) = max D1/3() (f)

Beweis: Gegeben sei für alle ein E-Baum mit Tiefe k und

Fehler 1/3 Zu konstruieren ist ein randomisierter E-Baum mit

Tiefe k Betrachte als Spiel:

• Spieler A wählt eine Eingabe, Spieler B einen Baum der Tiefe k

• Spieler A gewinnt 1 Euro, wenn Baum falsch auf der Eingabe, sonst gewinnt Spieler B 1 Euro

Das Yao Prinzip

Angenommen A zieht Eingabe nach ist eine Strategie von A Dann kann B mit einem festem Baum einen erwarteten

Gewinn von 2/3 machen Wie haben: Für alle (bekannten) Strategien von A gibt es

eine Strategie von B, die 2/3 gewinnt Wir wollen: Strategie von B (Verteilung auf E-Bäumen

Tiefe k), die gut ist für alle Strategien von A Haben: min über Strat. von A von max über Strat. von B

von [Payoff für Bob]¸ 2/3 Wollen: max über Strat. von Bob von min über Strat. von

A von [Payoff für Bob] ¸ 2/3

Das Yao Prinzip

Jetzt wende an:

Theorem [von Neumann]:In Nullsummenspielen ist

minmax=maxmin

Beispiel

OR:Finde eine schwierige Verteilung (0n)=1/2 (000010000)=1/2nDann ist D()(OR)¸ n/3Und R(OR)=(n)