Question: Why can't a ciruit accept L = {0^n |n >=0} Circuit computational model: Family of circuits {C_n} where the language L accepted is L = {x | C_{|x|}(x) = 1 } Defn: Language L has circuit capacity f(n) if there exists a family {C_n} of circuits that accepts L and where the number of gates in each C_n is at most f(n) Theorem: The circuit complexity of the halting language is O(n 2^n). Proof: DNF circuit Lemma: *A circuit with s gates can be represented with about s log s bits *A circuit represented by b bits has about b/log b gates Warmup Theorem: At least one function f:{0,1}^n -> {0,1} requires a circuit with 2^n bits. Proof 1: There are 2^2^n such functions. Therefore by the pigeon hole principle one requires lg 2^2^n = 2^n bits Warmup Corollary: At least one function f:{0,1}^n -> {0,1} requires a circuit with about 2^n/n bits. Theorem (Shannon): Most functions f:{0,1}^n -> {0,1} require circuits of size Omega(2^n) bits. Proof 1: There are 2^2^n such functions. Consider the half, 2^2^n/2, of these functions that require the least number of bits to represent. At least one of these requires lg 2^2^n/2 = 2^n - 1 bits. So the half of the Boolen functions that require the most number of bits require at least 2^n -1 bits. Proof 2: Consider a random such f (flip a fair independent coins for each of the 2^n elements of the domain). Consider a fixed circuit C. The probability that C agrees with f on a particular input is 1/2. Thus the probability that C agrees with f on all inputs is 1/2^2^n. The number of circuits of size 2^n/10 bits is at most 2^(2^n/10). Thus the probablity that some circuit of size 2^n/10 agrees with f is at most 2^(2^n/10) /2^2^n, which goes to zero has n goes to infinity. Theorem (Shannon) : Most functions f:{0,1}^n -> {0,1} require circuits with Omega(2^n/n) gates. Gate Hierarchy Theorem: Given more gates, you can compute more functions Proof: Same proof technique as the proof of Shannon's theorems above. Definition of P/Poly: L is in P/poly if there is a polynomial p such that for every input size n, there is a circuit of size at most p(n) that computes membership in L for strings of size n. Theorem: P strict subset P/Poly Proof: *P subset P/poly *Consider the language {1^n | n is Turing machine that halts on no input} Intuitively, NP-complete problems shouldn't have poly sized circuits. Karp and Lipton shows that if an NP-complete problem had poly sized circuits then the polynomial time hiearchy would collapse to the second level, which lends support to the thesis the probably NP-complete problems don't have poly sized circuits. Theorem: SAT is self-reducible. Karp-Lipton Theorem: If NP in P/poly then Pi_2^p is a subset of Sigma_2^p (and you'll show in the homework that this means that PH collapses) Proof: Assume that there is a polynomial size family of circuits {C_n}_{n=1}^infinity to find a satisfying assignment for a Boolean formula if the formula is satisfiable (Since SAT is self reducible, this is implied by NP in P/poly). To show that that Pi_2^p is in Sigma_2^p. Consider the Pi_2^p complete language L = { F= Forall u Thereexists v Phi(u, v) where phi is a Boolean formula | F is true} and the language K= { (u, G) | G is a Boolean formula, u is an assignment to some of the variables, and Thereexists an assignment v to the rest of the variables such G(u,v) is true} is in NP Think of the variables in u as being hard coded into G. Thus by assumption there is a family of circuits {C_n}_{n=1}^infinity that determines membership in K. By self-reducibility, one can assume further that {C_n}_{n=1}^infinity and produces a satisfying assignment v if it exists. Thus the formula F is equivalent to the following formula H: H = Thereexists poly size circuit C_n Forall u phi(u, C_n(u, phi)) Thus we can reduce determining membership in L to determining membership in the following language: L' = {H = Thereexists poly size circuit C_n Forall u phi(u, C_n(u, phi)) | H is true} Question: How is n determined? Answer: Number of bits in phi + number of variables in u But now its obvious that L' is in Sigma_2^p End of proof. ***************** Definition of (uniform) NC Uniform circuit definition PRAM definition Parallel Computation Thesis (Wikepedia): the time used by a (reasonable) parallel machine is polynomially related to the space used by a sequential machine. Theorem: NLogSpace and LogSpace subset NC^2 Proof: Repeat log times in parallel for all x, y, z Reachable(x, y, 2^i) = Reachable(x, z, 2^{i-1}) or Reachable(z, y, 2^{i-1}) Theorem: NC^1 subset LogSpace Proof:Homework Corollary: NC^1 subset LogSpace subset NC Theorem: Circuit Value Problem NC hard for P ***************** To prove that P not equal NP it would be sufficient to prove that NP not in P/poly. This was probably the next significant strategy for proving P not equal NP that computer scientists thought of after Baker, Gill and Solovay killed diagonalization and simulation. Pre 1994: Circuit lower bounds were a reasonably active research area Essentially all circuit lower bounds were "natural" in the sense formally defined by Razborov and Rudich in 1994. In 1994, Razborov and Rudich showed that it is probably not possible to prove a super polynomial sized circuit lower bound for NP-complete problems using a "natural" proof. After 1994 there was little research on circuit lower bound approaches for seperating P vs. NP because it is not so clear how to give an "unnatural" proof. To prove that TSP doesn't have polynomial time circuits, you need to prove that the function T_n associated with TSP inputs of size n has some hard property PHI that functions that have poly sized circuits don't have. So your proof says that functions with property PHI do not have poly sized circuits. This property PHI is "natural" if it satisfies the following conditions: Largeness: At least a 1/n fraction of all 2^2^n functions on n bits have the property PHI Constructiveness: Given a truth table of size 2^n for a function F_n on n bits, one can in time 2^O(n) (i.e. poly in the size of the table) determine whether F_n has property PHI Theorem (1994 Razborov and Rudich) If there is a proof that TSP doesn't have poly time circuits using a natural property PHI then there are no strong one-way functions, and factoring can be solved in time 2^n^epsilon for all epsilon. This is a good example of a "If pigs could fly then horses could talk" theorem that complexity theorists love.