Theorem There exists an in EXPSPACE without polynomial circuits Lecture 18: Proof L ∃ ∈ EXPSPACE without polynomial circuits Show: ¬ ∃p ∀n ∃C p(n)-size-bounded for L ∩ {0, 1}n continued NP vs. Circuits ∀p ∃n ∀C p(n)-size-bounded n A circuit size lower bound ⇒ C not good for L ∩ {0, 1} Construction of L ∈ EXPSPACE:

∀p ∃n and circuit family C(n) with 1) C(n) ⊇ p(n)-size-bounded Cs with input length n 2) no circuit in C(n) is correct for L ∩ {0, 1}n

Lecture 18 : Overview 1 / 14 Lecture 18 : L without polynomial circuits 2 / 14

Proof continued Proof continued For i := 0 to 2n − 1 do: log n C(n) := set of circuits for input length n with code length 6 n Check C(n) circuits whether they work correctly for n n ⇒ 1) for a suitable n w1 ... wi total := # Remark: |C(n)| 2nlog n+1 6 n Check whether the correct ones also work correctly on wi+1 ad 2) accept := #

n n n Let w1 ,..., w2n be a list of all words of length n wi+1 ∈ An,i+1 ⇔ accept 6 total/2

n Form sets ∅ = An,0 ⊆ An,1 ⊆ ... ⊆ An,2n = L ∩ {0, 1} , where This defines L

n either An,i+1 = An,i or An,i+1 = An,i ∪ {wi+1} In each step the number of correct circuits in C(n) is halved

n nlog n+1 2n In each step the # of correct circuits in C(n) is halved After 2 steps: #correct circuits 6 2 /2 < 1 for large n ⇒ No correct circuit left

Lecture 18 : L without polynomial circuits 3 / 14 Lecture 18 : L without polynomial circuits 4 / 14 NP vs. Circuits Proof continued Remains to be proven: L ∈ EXPSPACE Open: SAT ∈ P/poly or SAT ∈ P/log The following DTM algorithm decides whether w ∈ L, |w| = n: Theorem

Generate An,0,..., An,2n and check whether w occurs SAT ∈ P/log ⇒ SAT ∈ P(⇒ P = NP)

Space requirements: Proof n 1) current wi+1: n Premise: n ∃L ∈ P, f : → {0, 1}∗ with |f(n)| c · log n and 2) list of An,i elements: 6 n · 2 0 N0 6 3) current circuit: nlog n β ∈ SAT ⇔ <β, f(|β|)> ∈ L0 W.l.o.g.: 4) circuit computation: nlog n β is a 0-1-word ⇒ total space required: 2O(n) 2 Length of β(xi/0) and β(xi/1) equal to n

Lecture 18 : L without polynomial circuits 5 / 14 Lecture 18 : NP vs. Circuits 6 / 14

Proof continued Polynomial time algorithm for SAT: Proof continued Input: β, |β| = n If β ∈ SAT then ∃w (= f(n)) such that u eventually For all w with |w| 6 c · log n (all possible values of f(n)) evaluates to 1 u := β If β 6∈ SAT then the algorithm cannot accept while ∃ variable in u (say x)

if ∈ L0 then u := u(x/0) Run time:

else if ∈ L0 then u := u(x/1) inner loop: polynomial else break outer loop: 2c·log n – also polynomial end-while 2 if u evaluates to 1 then accept end-for; reject

Lecture 18 : NP vs. Circuits 7 / 14 Lecture 18 : NP vs. Circuits 8 / 14 A Circuit Size Lower Bound Definition For any fixed function g : N → N, Hg(n) denotes the number of functions

f : {0, 1}n → {0, 1} We have seen a recursive function which does not have polynomial circuits with c(f) 6 g(n). What about the average case? # of Boolean functions with n variables is 22n Here we will see that most Boolean functions have n Fraction of Boolean functions with minimal circuit size close to 2 /n bound g(n):

2n Fg(n) := Hg(n)/2

Lecture 18 : A Circuit Size Lower Bound 9 / 14 Lecture 18 : A Circuit Size Lower Bound 10 / 14

Proof continued Lemma Count number of distinct unlabeled graphs Gg(n) corresponding to circuits with n inputs and g(n) gates g(n) If g(n) > n + 1, then Hg(n) 6 (12 · e · g(n)) Those graphs have n + 2 input nodes: {x ,..., x , c , c } Proof 1 n 0 1 g(n) internal nodes: {1, 2, . . . , g(n)} Hg(n) 6 Each internal node is connected to at most two other nodes #Boolean functions computed by 6 g(n) gates = 2 ; 6 (g(n) + n + 1) possibilities to connect a gate #Boolean functions computed by exactly g(n) gates 2 6 (2 · g(n)) (g(n) > n + 1) (add dummy gates until # g(n) is reached) (counted each graph g(n)! times)

2·g(n) ⇒ Gg(n) 6 (2 · g(n)) /g(n)!

Lecture 18 : A Circuit Size Lower Bound 11 / 14 Lecture 18 : A Circuit Size Lower Bound 12 / 14 Proof continued Theorem n Transform these graphs into actual circuits: For every 0 < ε < 1, if g(n) = b(1 − ε) · 2 /nc, then Three choices per node: (¬, ∧, ∨) lim Fg(n) = 0 g(n) 2·g(n) n→ ⇒ Hg(n) 6 3 · (2 · g(n)) /g(n)!

g(n) 2·g(n) = 12 · g(n) /g(n)! Proof ∞ Stirling’s formula: Using the Lemma (g(n) > n + 1 for large enough n): n √ n n (1−ε)·2 /n n 1 1 −3 Hg(n) 6 [12 · e · (1 − ε) · 2 /n] n! = 2πn ( ) (1 + + + O(n )), as n → n n e 12n 288n2 = [12 · e · (1 − ε)/n](1−ε)·2 /n · 2(1−ε)·2

n n ∞ 2 Weak version: n! > (n/e) ⇒ Fg(n) = Hg(n)/2 (1−ε)·2n/n −ε·2n g(n) 2·g(n) g(n) g(n) g(n) 6 [12 · e · (1 − ε)/n] · 2 ⇒ Hg(n) 6 12 ·g(n) ·e /g(n) = (12·e·g(n)) 2 →0, n→ →0, n→ 2 Lecture 18 : A Circuit Size Lower Bound 13 / 14 Lecture 18 : A| Circuit Size Lower Bound {z ∞ } | {z }∞ 14 / 14