Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 25.5."—  Präsentation transkript:

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

2 CREW PRAMs Theorem 10.8 CREW PRAMs für Boolesche Funktionen f brauchen (log D(f)) Zeit (bei beliebig vielen Prozessoren)

3 Drei Lemmata Lemma 10.9 Ein CREW Algorithmus braucht (log s(f)) Zeit, d.h. Wenn die Zeit T beträgt, ist s(f)· const T Lemma 10.10 Ein CREW Algorithmus braucht (log bs(f)) Zeit Lemma 10.11 Eine CREW PRAM kann eine Funktion in Zeit O(log D(f)) berechnen (d.h. kann einen Entscheidungsbaum in der Zeit auswerten). Zusammen ergibt sich das Theorem

4 Erste Idee 10.9 PRAM akkumuliert Information über die Eingabe Pro Schritt wird Information über Eingabe verdoppelt (bisherige Information eines Prozessors plus Information einer Speicherzelle=bisherige Information anderer Prozessor Daher Zeit log s(f) ? Problem: OR braucht nur Zeit <log n

5 Beweis 10.9 Sei s(f)=m Fixiere Eingabe x mit m sens. Pos, oBdA x 1,…,x m x(j) sei Eingabe mit x j gekippt Ein Eingabebit x j beeinflusst Prozessor p zur Zeit t, wenn der Zustand von Prozessor p auf x(j) anders ist als auf x zur Zeit t Analog für Speicherzelle c

6 Beweis 10.9 Sei K(p,t,x) die Anzahl der Eingabebits, die p zur Zeit t beeinflussen L(c,t,y) analog für Zellen und Eingaben y Klar: K(p,0,x)=0 L(c,0,y)· 1

7 Beweis 10.9 Klar: K(p,0,x)=0 L(c,0,y)· 1 Lemma 11.1 K(p,t+1,x)· K(p,t,x)+max c L(c,t,x) L(c,t+1,x)· 4( max p K(p,t)+max c max y L(c,t,y) ) Damit folgt, wenn K(t)=max p max y K(p,t,y) und L(t)=max c, max y L(c,t,y) K(t)· L(t)/4 L(t+1)· 4L(t)+4K(t)· 5L(t) L(t)· 5 t Somit (Ausgabe sei im gem. Speicher) muss t¸ log 5 m gelten, wenn x von allen x(j) unterscheidbar ist Also Zeit mind. log 5 s(f)) Lemma 10.9

8 Beweis 11.1 Teil 1: K(p,t+1,x)· K(p,t,x)+ L(t) Prozessor p bekommt nur Information, die er schon hat, oder die er aus einer Zelle liest

9 Beweis 11.1 Teil 2: L(c,t+1,x)· 4(K(t)+ L(t) ) Sogar: L(c,t+1,x)· 3K(t)+4L(t) Zwei Fälle: Erstens: ein Prozessor p schreibt in Schritt t+1 in Zelle c Dann: L(c,t+1,x)· K(p,t+1,x)· L(t)+K(t)

10 Beweis 11.1 Zweiter Fall: Kein Prozessor schreibt in c in Schritt t+1 ! Eine Eingabeposition i bewirkt ein Schreiben in Zelle c wenn es einen Prozessor p gibt, der auf x(i) in Schritt t+1 in c schreibt Daher kann i nur dann c in Schritt t+1 beeinflussen, wenn i Zelle c in Schritt t beeinflusst, oder wenn i in Schritt t+1 ein p zum Schreiben bringt

11 Beweis 11.1 Also L(c,t+1,x)· L(c,t,x)+Y(c,t+1), wobei Y(c,t+1) die Anzahl der ein Schreiben in c bewirkenden Pos. ist auf x Dies seien i 1,…i r ; r=Y(c,t+1), mit Prozessoren p 1,…,p r Beobachtung: Wenn i a und i b zwei Positionen sind mit p a p b, dann gilt entweder: i a beeinflusst p b in t+1 ODER i b beeinflusst p a in t+1 Denn sonst: auf Eingabe x wie x, nur Bits i a und i b geflippt, wird von p a und p b in c geschrieben, Konflikt!

12 Beweis 11.1 Wir wollen eine obere Schranke für r=Y(c,t+1) Betrachte bipartiten Graphen: Linke Knoten: i 1,…,i r Rechte Knoten: v 1,…,v r Kanten: (i a,v b ) gdw i a beeinflusst p b zur Zeit t+1 auf x(i b ) Zählen die Kanten: Knoten v b hat Grad · K(p b, t+1, x(i b ) )· K(t+1) höchstens Anzahl Kanten also · r K(t+1)

13 Beweis 11.1 Jetzt: untere Schranke für Kantenzahl Betrachte Paare i a, i b mit p a p b Es gibt r Wahlen für i a Dann: r-K(t+1) Wahlen für i b Weil nur K(t+1) viele i b mit p a gekoppelt sein können Und somit (r 2 -rK(t+1)) Paare Also mindestens r(r-K(t+1))/2 Kanten wegen der Beobachtung (r 2 -rK(t+1))/2· r K(t+1), r· 3 K(t+1)=3 K(t)+3L(t) Vorher: L(c,t+1,x)·L(t)+r, also · 3K(t)+4L(t) QED.

14 Verbindung zur Blocksensitivität Lemma 10.10 Ein CREW Algorithmus braucht (log bs(f)) Zeit Beweis: Wollen das Ergebnis auf 10.9 zurückführen Sei x eine Eingabe mit maximaler Blocksensitivität k und Blöcken B 1,…B k

15 Beweis Definiere neue Funktion g(y 1,…,y k ) g(0 k )=f(x) g(0 l 1 0 k-l ) wie f(x) ; x wie x mit Block l+1 gekippt Klar: Wenn man f berechnen kann, dann g (auf CREW, in derselben Zeit) Zeit im Sinne von PRAM Schritten Simuliere Berechnung für f auf input x Wenn ein Prozessor eine Eingabe x i lesen will liest er y l für den entsprechenden Block und rekonstruiert x i, wenn i in keinem Block, dann ohne Lesezugriff rekonstruierbar Aber: s(g)=bs(f) und Zeit damit mind. ( log bs(f))


Herunterladen ppt "Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 25.5."

Ähnliche Präsentationen


Google-Anzeigen