The P versus NP Problem

The P versus NP problem is to determine whether every language accepted by some nondeterministic algorithm in polynomial time is also accepted by some (deterministic) algorithm in polynomial time. To define the problem precisely it is necessary to give a formal model of a computer. The standard computer model in computability theory is the Turing machine, introduced by Alan Turing in 1936 [37]. Although the model was introduced before physical computers were built, it nevertheless continues to be accepted as the proper computer model for the purpose of defining the notion of computable function. Informally the class P is the class of decision problems solvable by some algorithm within a number of steps bounded by some fixed polynomial in the length of the input. Turing was not concerned with the efficiency of his machines, rather his concern was whether they can simulate arbitrary algorithms given sufficient time. It turns out, however, Turing machines can generally simulate more efficient computer models (for example, machines equipped with many tapes or an unbounded random access memory) by at most squaring or cubing the computation time. Thus P is a robust class and has equivalent definitions over a large class of computer models. Here we follow standard practice and define the class P in terms of Turing machines. Formally the elements of the class P are languages. Let Σ be a finite alphabet (that is, a finite nonempty set) with at least two elements, and let Σ∗ be the set of finite strings over Σ. Then a language over Σ is a subset L of Σ∗. Each Turing machine M has an associated input alphabet Σ. For each string w in Σ∗ there is a computation associated with M with input w. (The notions of Turing machine and computation are defined formally in the appendix.) We say that M accepts w if this computation terminates in the accepting state. Note that M fails to accept w either if this computation ends in the rejecting state, or if the computation fails to terminate. The language accepted by M , denoted L(M), has associated alphabet Σ and is defined by L(M) = {w ∈ Σ∗ | M accepts w}.

[1]  I. G. BONNER CLAPPISON Editor , 1960, The Electric Power Engineering Handbook - Five Volume Set.

[2]  Stephen A. Cook,et al.  The Relative Efficiency of Propositional Proof Systems , 1979, Journal of Symbolic Logic.

[3]  Lenore Blum,et al.  Complexity and Real Computation , 1997, Springer New York.

[4]  Johan Håstad,et al.  Almost optimal lower bounds for small depth circuits , 1986, STOC '86.

[5]  Noga Alon,et al.  The monotone circuit complexity of boolean functions , 1987, Comb..

[6]  Jan Krajícek,et al.  Bounded arithmetic, propositional logic, and complexity theory , 1995, Encyclopedia of mathematics and its applications.

[7]  Boris A. Trakhtenbrot,et al.  A Survey of Russian Approaches to Perebor (Brute-Force Searches) Algorithms , 1984, Annals of the History of Computing.

[8]  Oscar H. IBARm Information and Control , 1957, Nature.

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

[10]  Roman Smolensky,et al.  Algebraic methods in the theory of lower bounds for Boolean circuit complexity , 1987, STOC.

[11]  Alexander A. Razborov,et al.  Natural Proofs , 2007 .

[12]  Adi Shamir,et al.  IP = PSPACE , 1992, JACM.

[13]  Avi Wigderson,et al.  P = BPP if E requires exponential circuits: derandomizing the XOR lemma , 1997, STOC '97.

[14]  Yehoshua Bar-Hillel,et al.  The Intrinsic Computational Difficulty of Functions , 1969 .

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

[16]  S. Smale Mathematical problems for the next century , 1998 .

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

[18]  Ravi B. Boppana,et al.  The Complexity of Finite Functions , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[19]  Vaughan R. Pratt,et al.  Every Prime has a Succinct Certificate , 1975, SIAM J. Comput..

[20]  Russell Impagliazzo,et al.  A personal view of average-case complexity , 1995, Proceedings of Structure in Complexity Theory. Tenth Annual IEEE Conference.

[21]  Manuel Blum,et al.  Generic oracles and oracle classes , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[22]  Russell Impagliazzo,et al.  A Tight Relationship Between Generic Oracles and Type-2 Complexity Theory , 1997, Inf. Comput..

[23]  Ravi Kannan,et al.  Circuit-Size Lower Bounds and Non-Reducibility to Sparse Sets , 1982, Inf. Control..

[24]  Oded Goldreich,et al.  Modern Cryptography, Probabilistic Proofs and Pseudorandomness , 1998, Algorithms and Combinatorics.

[25]  外史 竹内 Bounded Arithmetic と計算量の根本問題 , 1996 .

[26]  M. Fischer,et al.  SUPER-EXPONENTIAL COMPLEXITY OF PRESBURGER ARITHMETIC , 1974 .

[27]  John von Neumann,et al.  1. A Certain Zero-sum Two-person Game Equivalent to the Optimal Assignment Problem , 1953 .

[28]  Gary L. Miller,et al.  Riemann's Hypothesis and tests for primality , 1975, STOC.

[29]  S. Cook Computational complexity of higher type functions , 1990 .

[30]  J. Edmonds Minimum partition of a matroid into independent subsets , 1965 .

[31]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[32]  Volker Strassen,et al.  A Fast Monte-Carlo Test for Primality , 1977, SIAM J. Comput..

[33]  John Gill,et al.  Relativizations of the P =? NP Question , 1975, SIAM J. Comput..

[34]  RobertsonNeil,et al.  Graph minors. XIII , 1994 .

[35]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[36]  Leonid A. Levin,et al.  Average Case Complete Problems , 1986, SIAM J. Comput..

[37]  Claude E. Shannon,et al.  The synthesis of two-terminal switching circuits , 1949, Bell Syst. Tech. J..

[38]  Eitan M. Gurari,et al.  Introduction to the theory of computation , 1989 .