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

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Das LCA – Problem in Suffixbäumen
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Verifizieren versus Berechnen
Algorithmen und Komplexität
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Christian Schindelhauer
Christian Schindelhauer
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Minimum Spanning Tree: MST
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
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
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 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
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
Hartmut Klauck Universität Frankfurt SS
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/
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/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
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/
Information und Kommunikation
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.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Analyse der Laufzeit von Algorithmen
Gliederung der Vorlesung
 Präsentation transkript:

Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS

Diese Vorlesung Techniken für untere Schranken Vergleich Nichtdeterminismus und Determinismus für Entscheidungsbäume Sensitivität, Blocksensitivität, Zertifikate und Tiefe

Zertifikate Definition 9.1 Ein Term der Form c=(x i(1) =b 1 Æ…Æ x i(k) =b i(k) ) heisse ein a- Zertifikat für eine Boolesche Funktion f, wenn für alle Eingaben x2 {0,1} n die mit dem Term übereinstimmen, f(x)=a gilt Eingabe x hat Zertifikat c, wenn c auf x wahr k sei die Länge des Zertifikates f habe Zertifikatskomplexität k, wenn es für alle Eingaben ein Zertifikat der Länge k gibt, und für kleinere k dies nicht gilt Dann sei C(f)=k

Zertifikate Definition 9.2 f habe a-Zertifikatskomplexität k, wenn es für alle Eingaben mit f(x)=a ein Zertifikat der Länge k gibt, und für kleinere k dies nicht gilt Dann sei C a (f)=k

Beispiel C 1 (OR)=1, Verwende Zertifikate x i =1 C 0 (OR)=n Wenn nicht alle Bits auf 1 gesetzt sind, ist OR(x)=1 möglich C(OR)=n

Beispiel 2 Graphzusammenhang C 1 (connect)=n-1 C 0 (connect)=n 2 /4

Beispiel 3 Parität: Parity(x 1,…,x n )=1 gdw. Anzahl x i =1 ist ungerade C 0 (Parity)=C 1 (Parity)=n

C(f) und D(f) Theorem 9.3 D(f)¸ C(f) Beweis: Betrachte Blatt im Entscheidungsbaum Abfrageergebnisse auf dem Pfad zum Blatt sind Zertifikat Wenn Tiefe d < C(f) dann gibt es für eine Eingabe x kein Zertifikat der Länge d Eingabe x landet an Blatt, bei dem sowohl zu verwerfende als auch zu akzeptierende Eingaben landen

Nichtdeterminismus Definition 9.4 Ein nichtdeterministischer Entscheidungsbaum hat zusätzliche Knoten, an denen verzweigt wird, ohne eine Variable zu lesen Eingaben werden akzeptiert, wenn es einen akzeptierenden Pfad gibt Tiefe sei maximale Anzahl der gelesenen Variablen auf einem Pfad

Nichtdeterminismus Beobachtung: Die minimale Tiefe eines nichtdeterministischen Entscheidungsbaumes für f ist genau C 1 (f) Beweis: Tiefe ¸ C 1 (f): Genau wie bei D(f), mit Einschränkung auf 1-Eingaben Tiefe · C 1 (f): Fixiere Menge von Zertifikaten für alle 1-Eingaben Baum ist Verzweigung an der Wurzel, gefolgt von Zertifikaten Beobachtung 2: Der nichtdeterministische Baum entspricht einer DNF, mit Monomlänge C 1 (f)

Nichtdeterminismus C 1 (OR)=1, aber D(OR)¸ C 0 (OR)¸ n Daher bringt Nichtdeterminismus eine unbeschränkte Senkung der Komplexität Im Entscheidungsbaummodell giltP NP und NP co-NP P, NP etc: Boolesche Funktionen, die mit polylogarithmischer Tiefe berechenbar sind

C(f) vs. D(f) Theorem 9.5 D(f)· C 0 (f) C 1 (f) Kommentar: P=NPÅ co-NP im Entscheidungsbaummodell D(f) gross: wenn C 0 (f) klein, dann ist C 1 (f) gross Beispiel: AND(OR(…),OR(…),…,OR(…)) Formel Tiefe 2 mit Grad n 1/2

Beispiel C 0 (f),C 1 (f)=n 1/2 C 0 : fix. OR C 1 : fix. 1 per AND Aber: D(f)=n Also Theorem optimal

Beweis 9.5 Beobachtung: Jedes Paar von 1-Zertifikat und 0-Zertifikat hat gemeinsame Variable Denn sonst gibt es eine Eingabe, die mit beiden konsistent! Algorithmus: Exponiere 1-Zertifikat Kürze alle 0-Zertifikate Bis nicht mehr möglich

Der Algorithmus C 1 (f)=k, C 0 (f)=l K:Menge von 1-Zertifikaten der Länge k, die 1- Eingaben überdeckt L:Menge von 0-Eingaben … Wähle c aus K, Frage alle Variablen in c c erfüllt: Akzeptiere Sonst: Entferne c aus K Für alle d aus L: wenn d noch konsistent mit gelesenen Var., dann entferne aus d bekannte Variablen, sonst entferne d Wenn L leer ist: akzeptiere Wenn L nur noch triviale Zertifikate enthält: Verwerfe Wenn K leer ist: verwerfe

Analyse Korrektheit: Für alle Eingaben x gibt es ein 0-Zert. oder ein 1-Zert. f(x)=0, dann wird 0-Zert. nie entfernt, also wird verworfen f(x)=1, mit 1-Zert. c: Entweder c wird gefragt, dann wird akz. Oder: Es werden andere c aus K gefragt, bis L leer Es wird akzeptiert

Laufzeit Wenn c aus K gefragt wird, werden alle d aus L entweder gestrichen, oder um 1 Variable gekürzt Kosten des Fragens von c: k Anzahl der Runden, bis L leer: höchstens l In allen anderen Fällen wird vorher entschieden Gesamt: D(f)· kl=C 0 (f)C 1 (f)

Zusammengefasst C(f)· D(f)· C 2 (f) C 1 (f),C 0 (f)· D(f)· C 0 (f)C 1 (f) Nichtdeterminismus entspricht C 1 Untere Schranken oft einfacher für C(f) Manchmal sind untere Schranken via C(f) quadratisch schlechter als D(f)

Sensitivität f sei Boolesche Funktion Eine Eingabe x2{0,1} n ist sensitiv für eine Position i, wenn f(x (i) ) f(x), wobei x (i) wie x mit i-tem Bit geflippt Sensitivität s(f,x): Anzahl der sensitiven Positionen auf x Sensitivität s(f): Maximum über alle x

Untere Schranke Theorem 9.6 D(f)¸ s(f) Beweis: Übung Beispiel OR: Eingabe 0 n ist sensitiv auf n Positionen, Eingaben mit einer 1 sind sensitiv auf 1 Position, alle anderen auf 0 D(OR)¸ s(OR)=n

Beispiel Connectivity: Graph sei spannender Baum, dann ist Sensitivität n-1 Graph bestehe aus zwei spannenden Bäumen auf n/2 Kanten dann gibt es n 2 /4 Kanten die Zusammenhang herstellen s(Connect)= (n 2 ) also

Block-Sensitivität Es ist unbekannt, ob D(f)=poly(S(f)) Neues Konzept: erlaube, Blöcke von Variablen zu flippen Definition 9.7 bs(f,x) sei Maximum der Werte k über alle Wahlen von k disjunkten Mengen B 1,...,B k von Variablen, so dass für jedes i=1,...,k gilt: f(x) f(x), wobei x sich durch flippen aller Bits in B i ergibt bs(f)=max x bs(f,x)

Relationen zwischen den Massen Klar: s(f)· bs(f) Beobachtung: bs(f)· C(f) Denn: Zertifikat muss eine Variable aus jedem Block testen Also s(f)· bs(f)· C(f)· D(f) Weiterhin bekannt: s(f)= (log n) für alle nichttrivialen Funktionen, die von n Variablen anhängen, und D(f)· n Gibt es einen Unterschied zwischen s und D?

Unterschied s(f) und bs(f) Theorem 9.8 Es gibt eine Boolesche Funktion f mit s(f)=n 1/2 und bs(f)=n/2 Beweis: f: n 1/2 Blöcke von n 1/2 Variablen f(x)=1, wenn es einen Block gibt mit 2 Einsen nacheinander und sonst Nullen bs(f)¸ n/2: 0 n ist sensitive Eingabe s(f)· n 1/2 : Übung

Unterschied bs(f), D(f) And OR Formel Tiefe 2 mit n Variablen, Grad n 1/2 bs(f)· C(f) = n 1/2 Aber D(f)=n