CSE 200 Computability and Complexity Wednesday, May, 203 Lecture 0: Boolean Circuits (cont.) Instructor: Professor Shachar Lovett Scribe: Dongcai Shen Recap Definition (Boolean circuit) A Boolean circuit on n inputs, is a DAG with n source nodes and one target (sink) node, m internal nodes perform simple computation (AND, OR, NOT). Definition 2 (P/poly) P/poly def = languages L s.t. n, L 0, } n can be computed by a circuit of size n O().}. Theorem 3 P P/poly. 2 Turing Machines with Advice We can give another equivalent definition of P/poly by introducing the TM that takes advice. advice }} Definition 4 (TIME(T (n))/a(n)) A language L TIME(T (n))/ a(n) if M TIME(T (n)) and a sequence α n } n N with α n 0, } a(n) s.t. x L M(x, α x ) = for any x 0, }. Claim 5 P/poly = c,d TIME(n c )/(n d ). Proof ( ) For any language L P/poly. n N, there exists a circuit C n of size n d. We treat C n as an advice to the corresponding TM M. M evaluates input x on C n given as an advice (extra input). The advice def sequence α n } n N = C n } n N is bounded by a(n) def = n d. ( ) Fix a language L TIME(n c )/(n d ). n N, there exists a circuit C n of size n k for some constant k s.t. x L C n (x, α x ) = where x = n. The advice α n is hard-wired to the circuit. This is illustrated in Figure. C n x α x Figure : P/poly c,d TIME(n c )/(n d ) 0-
Remark. Claim 5 explains the reason for naming P/poly: deterministic poly-time taking poly-size advice. Similarly, we can define P/ log, P/c where c stands for constant-sized advice, etc. A natural question arises: Question 6 What can we get from just bit of advice? P/ = c TIME(n c )/. Question 7 Is NP P/poly? This is an open question. We believe the answer is no. 3 The Karp-Lipton Theorem Theorem 8 (Karp-Lipton Theorem []) If NP P/poly then PH = Σ 2. Remark. Note that PH collapses to Σ 2 -complete instead of NP-complete. The theorem is of the style that one thing unlikely implies another thing unlikely. Finally we see that many unlikely things are equivalent. In some sense it s similar to the NP-complete problems. It has a sister-theorem, the Meyer s Theorem, also proved in early 980 s. Theorem 9 (Meyer s Theorem []) If EXP P/poly then EXP = Σ 2. Proof of Theorem 8: Suppose 3-SAT P/poly. So n N, there exists a circuit C n : If φ satisfiable C n (φ) = 0 Otherwise where φ is a 3-CNF on n variables. Also, C n = poly(n). Algorithm: Input 3-CNF φ on n bits, C n s.t. φ(c n (φ)) =. We want to show Σ 2 = PH. It suffices to show Π 2 Σ 2. Let L be a complete language for Π 2. We choose take L = Π 2 SAT def = φ is a 3-CNF : y zφ(y, z)}. The first step is to transform a circuit which merely checks if a circuit is satisfiable, to a circuit that proves this by supplying a satisfying assignment. Claim 0 (Self-reducibility) If n N there exists a circuit C n s.t. φ 3-SAT iff C n (φ) = then there exists a circuit C n s.t. φ 3-SAT iff φ(c n(φ)) = and SIZE(C n) SIZE(C n ) O(). Proof Assume circuit C s.t. C(φ) = iff φ is satisfiable. If φ is satisfiable, discover a satisfying assignment bit-by-bit: 0 C(φ(0, x 2,, x n )) = a = 0 C(φ(a, 0, x 3,, x n )) = a 2 = In general, a i = 0 C(φ(a,, a i, 0, x i+,, x n )) = At the end, φ(a,, a n ) =. The construction of the multi-output circuit C from the single-output circuit C is illustrated in Figure 2. Recall that L Σ 2 means x L y zm(y, z) = where M P; L Π 2 means x L y zm(y, z) = where M P. Once we have Π 2 Σ 2, namely =, we can simplify the QBF in the language definition by switching the positions of and. For example, Π 4 M( ) = M ( ) = M ( ) = M ( ) = M ( ) Σ 2. 0-2
φ SAT a a 2 a n C C(φ) x,, x n C(φ) C(φ) C(φ) a a a 2 a a 2 x 2,, x n x 3 x n a n Figure 2: Self-reducibility: construct C using C as a building block This property is called self-reducibility. Algorithm: Input 3-CNF φ on n bits, check if y z φ(y, z) }} iff C n (φ(y, )) = NP P/poly }} Hence, we have iff φ(y, C n (φ(y, ))) = φ Π 2 SAT iff C n yφ(y, C n(φ(y, ))) = }} in Σ 2 =. Next we prove Theorem 9. The intuitive idea is: EXP P/poly means any exponential-time computation can be done by a specific poly-size circuit C n where n is the input size. Then, our goal is to prove that this computation also fits in Σ 2 = x : y : y x c z : z x d M(x, y, z) = } where M P. Recall Cook-Levin Theorem s proof. An exponential-size computation is hard to check from the outset. But we can make use of the for all quantifier in Σ 2. Quantifier comes in handy to check all local places in the exponential-size computation. Meanwhile, the quantifier helps us by guessing the circuit C n. C n is guaranteed to exist when L EXP P/poly. Proof of Theorem 9: Fix a language L EXP. We need to show L Σ 2. Suppose L is computable by a -tape TM M TIME(2 nc ). W.l.o.g., M s alphabet Σ = 0, }. Let L M def = (x, i, j) : running M on input x L in time step i has a configuration whose j-th bit is.} where in the tuple (x, i, j), x 0, } n, i 2 nc denotes M s steps, and j 2 nc is the index of M s i-th configuration. Note that we can describe (x, i, j) using poly(n) bits. Clearly, L M EXP P/poly. So, there is a poly-size circuit C s.t. (x, i, j) L M iff C(x, i, j) = Lets come back to L. For any x L, what do we have from M s computation? We need to show M(x) at time N = 2 nc entered the accepting state. Namely, M(x) =. x L iff C s.t. C(x, i, j) = i, j [2 nc ]. as shown in Figure 3. Note that x, i, and j can be represented in poly-size. However, how can we trust the circuit C? The answer is that, similar to the Cook-Levin theorem, computation is local and can be verified by a collection of local tests (e.g. a CNF). In our case the CNF size is exponential, however we can specify in a uniform way the various tests. These amount basically to 0-3
2 nc cells written 2 nc steps Row #: x x 2 x n 0 0 0 0 0 0 Row #2: x x 2 x n 0 0 0 0 0 0. Row #2 nc : x......... 0 0 0 0 0 0 0 0 Accept Figure 3: M s computation verifying the correct transition between any two time steps. The verifier of the computation simply is AND of 2 nc clauses of constant size. i, j [2 nc ], C(x, i, j), C(y, i, ) : head in location j, j, j + content in location j}, VERIFY C(x, i, ) : state in step i}, C(x, i, ) : state in step i } Finally, we renders x L iff M(x) = where M EXP to x L iff C i, j VERIFY(C, x, i, j) VERIFY P because C is of poly-size. Therefore, L Σ 2. This completes the proof. The Karp-Lipton Theorem s proof is by guessing the assignment. The Meyer s Theorem s proof is by verifying the computation in a succinct way. 4 Circuit Lower Bounds Definition (Size of a circuit) The size of a circuit C is the number of edges of the circuit C. Theorem 2 Most functions on n bits require size Ω( 2n n ). Proof By a counting argument. How many circuits of size S are there? we need to specify S wires (which requires O(S log S) bits) and the gate computed by each gate (which takes an additional O(S) bits). Hence the number of functions computed in SIZE(S) is at most S O(S). On the other hand, the number of boolean functions on n bits is 2 2n. Setting S = O( 2n n ), we get that most functions require size > S. Corollary 3 SIZE( S log S ) SIZE(S log S). Proof 2 k k. Let S = 2 k, k < n. Most functions on k bits have size > 2k k. All functions on k bits have CNF size 0-4
References [] Richard M. Karp and Richard J. Lipton. Some connections between nonuniform and uniform complexity classes. In Proceedings of the twelfth annual ACM symposium on Theory of computing, STOC 80, pages 302 309, New York, NY, USA, 980. ACM. 0-5