Johannes Blömer Marcel R. Ackermann 9. November 2010 Abgabe: 23. November 2010 in der Übung Komplexitätstheorie 2 WS 2010/11 Übung 3 AUFGABE 1: Wir betrachten in dieser Aufgabe die uniformen Klassen N C i und AC i . Zeigen Sie: a) N C 1 ⊆ L ⊆ N L ⊆ N C 2 b) N C = AC ⊆ P, wobei N C = S i∈N0 N C i und AC = S i∈N0 AC i . c) Falls eine P-vollständige Sprache in N C existiert, so gilt N C = P. AUFGABE 2: Zeigen Sie: Falls N C i = N C i+1 für ein i ∈ N, dann gilt N C i = N C j für alle j ≥ i. Gilt die Aussage auch für die AC-Hierarchie? AUFGABE 3: (*) Zeigen Sie, dass sich die Addition von Binärzahlen tiefeneffizient als Schaltkreis implementieren läßt. D.h., zeigen Sie: a) Add2 = {(a, b, c) a, b, c sind n-Bit-Zahlen mit a + b = c} ∈ AC 0 Hinweis: Die Schulmethode zur Addition zweier Zahlen muss den Übertrag sequentiell von Ziffer zu Ziffer propagieren und kann daher keine konstante Tiefe erreichen. Versuchen Sie stattdessen, für jede Stelle i der Ausgabe unabhängig von einander die folgenden Booleschen Funktionen als AC 0 -Schaltkreise zu formulieren: gi mit gi (a, b) = 1 genau dann, wenn durch a und b an der Stelle i ein neuer Übertrag entsteht, sowie pi mit pi (a, b) = 1 genau dann, wenn an der Stelle i ein eventueller Übertrag eine Stelle weiter gereicht wird. Berechnen Sie mittels {gi }i und {pi }i das Ergebnis der Addition. b) Addn = {(a1 , . . . , an , b) a1 , . . . , an , b sind n-Bit-Zahlen mit a1 + . . . + an = b} ∈ N C 1 Hinweis: Bezeichne x(n−1) , . . . , x(1) , x(0) die Bit-Ziffern einer n-Bit-Zahl x. Nutzen Sie, dass für die Summe von Zahlen x, y, z gilt: + + = s(n) + c(n) x(n−1) y (n−1) z (n−1) s(n−1) c(n−1) . . . x(1) . . . y (1) . . . z (1) . . . s(1) . . . c(1) x(0) y (0) z (0) s(0) c(0) Dabei bezeichnet s(i) die Summe modulo 2 der Spalte i ohne Beachtung des Übertrags, und c(i) den Übertrag, der von Spalte i − 1 erzeugt wird. Das heißt, Sie können die Addition von drei n-Bit-Zahlen durch die Addition von zwei (n+1)-Bit-Zahlen ersetzen. AUFGABE 4: Bezeichne AC i [q] die Klasse aller Sprachen, die von einem Boolschen Schaltkreis polynomieller Größe und mit Tiefe O(logi n) entschieden werden kann. Dabei dürfen neben den Gattern Negation (¬) sowie Konjunktion (∧) und Disjunktion (∨) mit unbeschränkten Eingangsgrad auch spezielle Modulo-Gatter modqn : {0, 1}n → {0, 1} mit ( P 0 falls ni=1 xi ≡ 0 (mod q) q modn (x1 , x2 , . . . , xn ) = 1 sonst auf beliebig vielen Eingabebits n verwendet werden. Analog bezeichne T C i die Klasse aller Sprachen, die von einem Boolschen Schaltkreis polynomieller Größe und mit Tiefe O(logi n) entschieden werden kann, welcher neben {¬, ∧, ∨} auch Gatter der Mehrheitsfunktion majn : {0, 1}n → {0, 1} mit ( P 1 falls ni=1 xi ≥ n/2 majn (x1 , x2 , . . . , xn ) = 0 sonst auf beliebig vielen Eingabebits n verwendet. (Der Name T C steht dabei für threshold circuits.) Zeigen Sie für alle k ∈ N0 , bzw. für alle q ≥ 2: P a) Thk = {x ∈ {0, 1}∗ x = x1 x2 , . . . xn mit ni=1 xi ≥ k} ∈ T C 0 . P b) Modq = {x ∈ {0, 1}∗ x = x1 x2 , . . . xn mit ni=1 xi 6≡ 0 (mod q)} ∈ T C 0 . P c) Majority = {x ∈ {0, 1}∗ x = x1 x2 , . . . xn mit ni=1 xi ≥ n/2} ∈ N C 1 . d) Für alle i ∈ N0 gilt AC i ⊆ AC i [q] ⊆ T C i ⊆ N C i+1 . Hinweis: Die Ergebnisse aus Aufgabe 3 können hier hilfreich sein. AUFGABE 5: (*) Bezeichne xorn : {0, 1}n → {0, 1} die Paritätsfunktion auf n Bits. Wir wollen zeigen, dass die untere Schranke von Håstad (Satz 2.5) nicht signifikant verbessert werden kann. Gehen Sie dazu wie folgt vor: a) Überlegen Sie sich, wie ein Schaltkries der Tiefe 2 für xorn aussieht, der Größe n2n hat. b) Beweisen Sie folgende logische Äquivalenz für alle 1 ≤ k ≤ n: xorn (x1 , x2 , . . . xn ) ≡ xor2 xork (x1 , . . . xk ), xorn−k (xk+1 , . . . xn ) c) Nutzen Sie den rekursiven Ansatz aus b), um wie folgt einen√Schaltkreis der Tiefe 4 für xorn zu konstruieren: Gruppieren Sie die n Eingabebits in n Gruppen von jeweils √ n Eingabebits. Berechnen Sie anschließend parallel die Parität jeder Gruppe einzeln mittels des Schaltkreises aus a). Berechnen Sie dann die Parität der Paritäten der √ 2 n einzelnen Gruppen. Zeigen Sie, dass der so konstruierte Schaltkreis Größe 2 hat. d) Verallgemeinern sie den Ansatz aus c). D.h., sei d ≥ 2 eine beliebige gerade Zahl. Zeigen Sie, dass für alle genügend großen n für xorn ein Schaltkreis der Tiefe d und der Größe 2/d 2cn existiert. Dabei bezeichnet c eine geeignete Konstante, die nur von d abhängt.