Komplexitätstheorie 2 WS 2010/11 ¨Ubung 3

Werbung
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.
Herunterladen