Computational Complexity Theory

Complexity theory is the part of theoretical computer science that attempts to prove that certain transformations from input to output are impossible to compute using a reasonable amount of resources. Theorem 1 below illustrates the type of ''impossibility'' proof that can sometimes be obtained (1); it talks about the problem of determining whether a logic formula in a certain formalism (abbreviated WS1S) is true. Theorem 1. Any circuit of AND, OR, and NOT gates that takes as input a WS1S formula of 610 symbols and outputs a bit that says whether the formula is true must have at least 10 125 gates. This is a very compelling argument that no such circuit will ever be built; if the gates were each as small as a proton, such a circuit would fill a sphere having a diameter of 40 billion light years! Many people conjecture that somewhat similar intractability statements hold for the problem of factoring 1000-bit integers; many public-key cryptosys-tems are based on just such assumptions. It is important to point out that Theorem 1 is specific to a particular circuit technology; to prove that there is no efficient way to compute a function, it is necessary to be specific about what is performing the computation. Theorem 1 is a compelling proof of intractability precisely because every deterministic computer that can be purchased today can be simulated efficiently by a circuit constructed with AND, OR, and NOT gates. The inclusion of the word ''deterministic'' in the preceding paragraph is significant ; some computers are constructed with access to devices that are presumed to provide a source of random bits. Probabilistic circuits (which are allowed to have some small chance of producing an incorrect output) might be a more powerful model of computing. Indeed, the intract-ability result for this class of circuits (1) is slightly weaker: Theorem 2. Any probabilistic circuit of AND, OR, and NOT gates that takes as input a WS1S formula of 614 symbols and outputs a bit that says whether the formula is true (with error probability at most 1/3) must have at least 10 125 gates. The underlying question of the appropriate model of computation to use is central to the question of how relevant the theorems of computational complexity theory are. Both deterministic and probabilistic circuits are examples of ''classical'' models of computing. In recent years, a more 500 COMPUTATIONAL COMPLEXITY THEORY

[1]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[2]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[3]  John Michael Robson,et al.  N by N Checkers is Exptime Complete , 1984, SIAM J. Comput..

[4]  Armin Haken,et al.  The Intractability of Resolution , 1985, Theor. Comput. Sci..

[5]  Christos H. Papadimitriou,et al.  Computational complexity , 1993 .

[6]  H. James Hoover,et al.  Limits to Parallel Computation: P-Completeness Theory , 1995 .

[7]  Heribert Vollmer,et al.  Introduction to Circuit Complexity , 1999, Texts in Theoretical Computer Science An EATCS Series.

[8]  Peter W. Shor,et al.  Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer , 1995, SIAM Rev..

[9]  D. Du,et al.  Theory of Computational Complexity , 2000 .

[10]  M. Ogihara,et al.  The complexity theory companion , 2001, SIGA.

[11]  Albert R. Meyer,et al.  Cosmological lower bound on the circuit complexity of a small problem in logic , 2002, JACM.

[12]  Richard J. Lipton,et al.  Time-space lower bounds for satisfiability , 2005, JACM.

[13]  Omer Reingold,et al.  Undirected ST-connectivity in log-space , 2005, STOC '05.

[14]  Ryan Williams Better time-space lower bounds for SAT and related problems , 2005, 20th Annual IEEE Conference on Computational Complexity (CCC'05).

[15]  Dexter Kozen Theory of Computation , 2006, Texts in Computer Science.