Anda di halaman 1dari 11

P versus NP problem

The answer yes, because the subset {2, 3, 10, 15}


adds up to zero can be quickly veried with three additions. There is no known algorithm to nd such a subset
in polynomial time (there is one, however, in exponential
time, which consists of 2n -n-1 tries), but such an algorithm exists if P = NP; hence this problem is in NP
(quickly checkable) but not necessarily in P (quickly solvable).

NP Problems
P Problems
NP Complete

An answer to the P = NP question would determine


whether problems that can be veried in polynomial time,
like the subset-sum problem, can also be solved in polynoDiagram of complexity classes provided that P NP. The exis- mial time. If it turned out that P NP, it would mean that
tence of problems within NP but outside both P and NP-complete, there are problems in NP (such as NP-complete probunder that assumption, was established by Ladners theorem.[1] lems) that are harder to compute than to verify: they
could not be solved in polynomial time, but the answer
could be veried in polynomial time.
The P versus NP problem is a major unsolved problem
Aside from being an important problem in computational
in computer science. Informally speaking, it asks whether
theory, a proof either way would have profound implicaevery problem whose solution can be quickly veried by
tions for mathematics, cryptography, algorithm research,
a computer can also be quickly solved by a computer.
articial intelligence, game theory, multimedia processIt was essentially rst mentioned in a 1956 letter writ- ing, philosophy, economics and many other elds.
ten by Kurt Gdel to John von Neumann. Gdel asked
whether a certain NP-complete problem could be solved
in quadratic or linear time.[2] The precise statement of the
P versus NP problem was introduced in 1971 by Stephen 1 Context
Cook in his seminal paper The complexity of theorem
proving procedures[3] and is considered by many to be The relation between the complexity classes P and NP is
the most important open problem in the eld.[4] It is studied in computational complexity theory, the part of
one of the seven Millennium Prize Problems selected by the theory of computation dealing with the resources rethe Clay Mathematics Institute to carry a US$1,000,000 quired during computation to solve a given problem. The
prize for the rst correct solution.
most common resources are time (how many steps it takes
The informal term quickly, used above, means the exis- to solve a problem) and space (how much memory it takes
to solve a problem).
tence of an algorithm for the task that runs in polynomial
time, i.e., that the time to complete the task varies as a In such analysis, a model of the computer for which time
polynomial function on the size of the input to the algo- must be analyzed is required. Typically such models asrithm (as opposed to, say exponential time). The general sume that the computer is deterministic (given the comclass of questions for which some algorithm can provide puters present state and any inputs, there is only one posan answer in polynomial time is called class P" or just sible action that the computer might take) and sequential
"P". For some questions, there is no known way to nd (it performs actions one after the other).
an answer quickly, but if one is provided with informa- In this theory, the class P consists of all those decision
tion showing what the answer is, it is possible to verify problems (dened below) that can be solved on a deterthe answer quickly. The class of questions for which an ministic sequential machine in an amount of time that is
answer can be veried in polynomial time is called NP, polynomial in the size of the input; the class NP conwhich stands for nondeterministic polynomial time.
sists of all those decision problems whose positive soluConsider the subset sum problem, an example of a problem that is easy to verify, but whose answer may be difcult to compute. Given a set of integers, does some
nonempty subset of them sum to 0? For instance, does
a subset of the set {2, 3, 15, 14, 7, 10} add up to 0?

tions can be veried in polynomial time given the right


information, or equivalently, whose solution can be found
in polynomial time on a non-deterministic machine.[5]
Clearly, P NP. Arguably the biggest open question
in theoretical computer science concerns the relationship
1

3 HARDER PROBLEMS

between those two classes:

an instance of the Boolean satisability problem in polynomial time. The Boolean satisability problem is one of
many such NP-complete problems. If any NP-complete
Is P equal to NP?
problem is in P, then it would follow that P = NP. However, many important problems have been shown to be
In a 2002 poll of 100 researchers, 61 believed the an- NP-complete, and no fast algorithm for any of them is
swer to be no, 9 believed the answer is yes, and 22 were known.
unsure; 8 believed the question may be independent of
the currently accepted axioms and therefore impossible Based on the denition alone it is not obvious that NPcomplete problems exist; however, a trivial and conto prove or disprove.[6]
trived NP-complete problem can be formulated as folIn 2012, 10 years later, the same poll was repeated. lows: given a description of a Turing machine M guarThe number of researchers who answered was 151: 126 anteed to halt in polynomial time, does there exist a
(83%) believed the answer to be no, 12 (9%) believed polynomial-size input that M will accept?[8] It is in NP
the answer is yes, 5 (3%) believed the question may be because (given an input) it is simple to check whether M
independent of the currently accepted axioms and there- accepts the input by simulating M; it is NP-complete before impossible to prove or disprove, 8 (5%) said either cause the verier for any particular instance of a problem
don't know or don't care or don't want the answer to be in NP can be encoded as a polynomial-time machine M
yes nor the problem to be resolved.[7]
that takes the solution to be veried as input. Then the
question of whether the instance is a yes or no instance is
determined by whether a valid input exists.

NP-complete

NP-Hard

NP-Hard

NP-Complete
P = NP =
NP-Complete
P

P NP

Complexity

NP

The rst natural problem proven to be NP-complete was


the Boolean satisability problem. As noted above, this
is the CookLevin theorem; its proof that satisability is
NP-complete contains technical details about Turing machines as they relate to the denition of NP. However, after this problem was proved to be NP-complete, proof by
reduction provided a simpler way to show that many other
problems are also NP-complete, including the subset sum
problem discussed earlier. Thus, a vast class of seemingly
unrelated problems are all reducible to one another, and
are in a sense the same problem.

P = NP

3 Harder problems
Euler diagram for P, NP, NP-complete, and NP-hard set of
problems

See also: Complexity class

Main article: NP-complete


To attack the P = NP question, the concept of NPcompleteness is very useful. NP-complete problems are a
set of problems to each of which any other NP-problem
can be reduced in polynomial time, and whose solution
may still be veried in polynomial time. That is, any NP
problem can be transformed into any of the NP-complete
problems. Informally, an NP-complete problem is an NP
problem that is at least as tough as any other problem
in NP.
NP-hard problems are those at least as hard as NP problems, i.e., all NP problems can be reduced (in polynomial
time) to them. NP-hard problems need not be in NP,
i.e., they need not have solutions veriable in polynomial
time.

Although it is unknown whether P = NP, problems outside of P are known. A number of succinct problems
(problems that operate not on normal input, but on a
computational description of the input) are known to be
EXPTIME-complete. Because it can be shown that P
EXPTIME, these problems are outside P, and so require
more than polynomial time. In fact, by the time hierarchy theorem, they cannot be solved in signicantly less
than exponential time. Examples include nding a perfect strategy for chess (on an N N board)[9] and some
other board games.[10]

The problem of deciding the truth of a statement in


Presburger arithmetic requires even more time. Fischer
and Rabin proved in 1974 that every algorithm that decides the truth of Presburger statements has a runtime of
cn
at least 22 for some constant c. Here, n is the length of
For instance, the Boolean satisability problem is NP- the Presburger statement. Hence, the problem is known
complete by the CookLevin theorem, so any instance of to need more than exponential run time. Even more difany problem in NP can be transformed mechanically into cult are the undecidable problems, such as the halting

3
problem. They cannot be completely solved by any algo- doesn't say much about where the problem lies with rerithm, in the sense that for any particular algorithm there spect to non-quantum complexity classes.
is at least one input for which that algorithm will not produce the right answer; it will either produce the wrong
answer, nish without giving a conclusive answer, or oth- 5 Does P mean easy"?
erwise run forever without producing any answer at all.

Problems in NP not known to be


in P or NP-complete

Main article: NP-intermediate


It was shown by Ladner that if P NP then there exist
problems in NP that are neither in P nor NP-complete.[1]
Such problems are called NP-intermediate problems.
The graph isomorphism problem, the discrete logarithm
problem and the integer factorization problem are examples of problems believed to be NP-intermediate. They
are some of the very few NP problems not known to be
in P or to be NP-complete.
The graph isomorphism problem is the computational
problem of determining whether two nite graphs are
isomorphic. An important unsolved problem in complexity theory is whether the graph isomorphism problem is in P, NP-complete, or NP-intermediate. The answer is not known, but it is believed that the problem
is at least not NP-complete.[11] If graph isomorphism is
NP-complete, the polynomial time hierarchy collapses to
its second level.[12][13] Since it is widely believed that the
polynomial hierarchy does not collapse to any nite level,
it is believed that graph isomorphism is not NP-complete.
The best algorithm for this problem, due to Laszlo Babai
and Eugene Luks has run time 2O(nlog(n)) for graphs with
n vertices.
The integer factorization problem is the computational
problem of determining the prime factorization of a given
integer. Phrased as a decision problem, it is the problem of deciding whether the input has a factor less than
k. No ecient integer factorization algorithm is known,
and this fact forms the basis of several modern cryptographic systems, such as the RSA algorithm. The integer
factorization problem is in NP and in co-NP (and even in
UP and co-UP[14] ). If the problem is NP-complete, the
polynomial time hierarchy will collapse to its rst level
(i.e., NP = co-NP). The best known algorithm for integer factorization is the general number eld sieve, which
takes expected time
))
(
((
) 31
2
(log(n log(2))) 3
O exp 64n
9 log(2)

The graph shows time (average of 100 instances in ms using a


933 MHz Pentium III) vs.problem size for knapsack problems
for a state-of-the-art specialized algorithm. Quadratic t suggests that empirical algorithmic complexity for instances with 50
10,000 variables is O((log(n))2 ).[15]

All of the above discussion has assumed that P means


easy and not in P" means hard, an assumption known
as Cobhams thesis. It is a common and reasonably accurate assumption in complexity theory; however, it has
some caveats.
First, it is not always true in practice. A theoretical
polynomial algorithm may have extremely large constant
factors or exponents thus rendering it impractical. On
the other hand, even if a problem is shown to be NPcomplete, and even if P NP, there may still be eective approaches to tackling the problem in practice. There
are algorithms for many NP-complete problems, such as
the knapsack problem, the traveling salesman problem
and the Boolean satisability problem, that can solve to
optimality many real-world instances in reasonable time.
The empirical average-case complexity (time vs. problem size) of such algorithms can be surprisingly low. An
example is the simplex algorithm in linear programming,
which works surprisingly well in practice; despite having exponential worst-case time complexity it runs on par
with the best known polynomial-time algorithms.[16]
Second, there are types of computations which do not
conform to the Turing machine model on which P
and NP are dened, such as quantum computation and
randomized algorithms.

6 Reasons to believe P NP

According to polls,[6][17] many computer scientists beto factor an n-bit integer. However, the best known lieve that P NP. A key reason for this belief is that
quantum algorithm for this problem, Shors algorithm, after decades of studying these problems no one has been
does run in polynomial time. Unfortunately, this fact able to nd a polynomial-time algorithm for any of more

than 3000 important known NP-complete problems (see


List of NP-complete problems). These algorithms were
sought long before the concept of NP-completeness was
even dened (Karps 21 NP-complete problems, among
the rst found, were all well-known existing problems at
the time they were shown to be NP-complete). Furthermore, the result P = NP would imply many other startling
results that are currently believed to be false, such as NP
= co-NP and P = PH.

CONSEQUENCES OF SOLUTION

7.1 P = NP

A proof that P = NP could have stunning practical consequences, if the proof leads to ecient methods for solving
some of the important problems in NP. It is also possible
that a proof would not lead directly to ecient methods,
perhaps if the proof is non-constructive, or the size of the
bounding polynomial is too big to be ecient in practice.
The consequences, both positive and negative, arise since
various NP-complete problems are fundamental in many
It is also intuitively argued that the existence of problems
elds.
that are hard to solve but for which the solutions are easy
Cryptography, for example, relies on certain probto verify matches real-world experience.[18]
lems being dicult.
A constructive and ecient
[Note 1]
to
an
NP-complete
problem such as 3-SAT
solution
If P = NP, then the world would be a
would
break
most
existing
cryptosystems
including:
profoundly dierent place than we usually
assume it to be. There would be no special
value in creative leaps, no fundamental gap
public-key cryptography,[19] a foundation for many
between solving a problem and recognizing
modern security applications such as secure nancial
the solution once its found.
transactions over the Internet; and
Scott Aaronson, MIT
symmetric ciphers such as AES or 3DES,[20] used
for the encryption of communications data.
On the other hand, some researchers believe that there is
overcondence in believing P NP and that researchers
should explore proofs of P = NP as well. For example, in
2002 these statements were made:[6]
The main argument in favor of P NP
is the total lack of fundamental progress in
the area of exhaustive search. This is, in my
opinion, a very weak argument. The space
of algorithms is very large and we are only
at the beginning of its exploration. [...] The
resolution of Fermats Last Theorem also
shows that very simple questions may be
settled only by very deep theories.
Moshe Y. Vardi, Rice University

Being attached to a speculation is not a


good guide to research planning. One should
always try both directions of every problem.
Prejudice has caused famous mathematicians
to fail to solve famous problems whose solution was opposite to their expectations, even
though they had developed all the methods
required.
Anil Nerode, Cornell University

Consequences of solution

One of the reasons the problem attracts so much attention is the consequences of the answer. Either direction
of resolution would advance theory enormously, and perhaps have huge practical consequences as well.

one-way functions used in cryptographic hashing.


The problem of nding a pre-image that hashes to
a given value[21] must be dicult to be useful, and
ideally should require exponential time. However, if
P=NP, then nding a pre-image M can be done in
polynomial time, through reduction to SAT.[22]
These would need to be modied or replaced by
information-theoretically secure solutions not inherently
based on P-NP equivalence.
On the other hand, there are enormous positive consequences that would follow from rendering tractable many
currently mathematically intractable problems. For instance, many problems in operations research are NPcomplete, such as some types of integer programming
and the travelling salesman problem. Ecient solutions
to these problems would have enormous implications for
logistics. Many other important problems, such as some
problems in protein structure prediction, are also NPcomplete;[23] if these problems were eciently solvable
it could spur considerable advances in life sciences and
biotechnology.
But such changes may pale in signicance compared
to the revolution an ecient method for solving NPcomplete problems would cause in mathematics itself.
Gdel, in his early thoughts on computational complexity, noted that a mechanical method that could solve any
problem would revolutionize mathematics:[24][25]
If there really were a machine with (n)
k n (or even k n2 ), this would have consequences of the greatest importance. Namely, it
would obviously mean that in spite of the undecidability of the Entscheidungsproblem, the

5
mental work of a mathematician concerning
Yes-or-No questions could be completely replaced by a machine. After all, one would simply have to choose the natural number n so
large that when the machine does not deliver
a result, it makes no sense to think more about
the problem.

all instances, to Cryptomania, where P NP and generating hard instances of problems outside P is easy, with
three intermediate possibilities reecting dierent possible distributions of diculty over instances of NP-hard
problems. The world where P NP but all problems in
NP are tractable in the average case is called Heuristica
in the paper. A Princeton University workshop in 2009
studied the status of the ve worlds.[30]

Similarly, Stephen Cook says[26]


...it would transform mathematics by allowing a computer to nd a formal proof of
any theorem which has a proof of a reasonable
length, since formal proofs can easily be recognized in polynomial time. Example problems
may well include all of the CMI prize problems.

8 Results about diculty of proof


Although the P = NP? problem itself remains open despite a million-dollar prize and a huge amount of dedicated research, eorts to solve the problem have led to
several new techniques. In particular, some of the most
fruitful research related to the P = NP problem has been
in showing that existing proof techniques are not powerful enough to answer the question, thus suggesting that
novel technical approaches are required.

Research mathematicians spend their careers trying to


prove theorems, and some proofs have taken decades or
even centuries to nd after problems have been stated
for instance, Fermats Last Theorem took over three centuries to prove. A method that is guaranteed to nd
proofs to theorems, should one exist of a reasonable
As additional evidence for the diculty of the problem,
size, would essentially end this struggle.
essentially all known proof techniques in computational
Donald Knuth has stated that he has come to believe that complexity theory fall into one of the following classiP = NP, but is reserved about the impact of a possible cations, each of which is known to be insucient to prove
proof:[27]
that P NP:
[...] I don't believe that the equality P = N
P will turn out to be helpful even if it is proved,
because such a proof will almost surely be nonconstructive.

7.2

P NP

A proof that showed that P NP would lack the practical computational benets of a proof that P = NP, but
would nevertheless represent a very signicant advance
in computational complexity theory and provide guidance
for future research. It would allow one to show in a formal
way that many common problems cannot be solved eciently, so that the attention of researchers can be focused
on partial solutions or solutions to other problems. Due
to widespread belief in P NP, much of this focusing of
research has already taken place.[28]
Also P NP still leaves open the average-case complexity of hard problems in NP. For example, it is possible that SAT requires exponential time in the worst case,
but that almost all randomly selected instances of it are
eciently solvable. Russell Impagliazzo has described
ve hypothetical worlds that could result from dierent possible resolutions to the average-case complexity
question.[29] These range from Algorithmica, where P
= NP and problems like SAT can be solved eciently in

These barriers are another reason why NP-complete


problems are useful: if a polynomial-time algorithm can
be demonstrated for an NP-complete problem, this would
solve the P = NP problem in a way not excluded by the
above results.
These barriers have also led some computer scientists to
suggest that the P versus NP problem may be independent
of standard axiom systems like ZFC (cannot be proved
or disproved within them). The interpretation of an independence result could be that either no polynomialtime algorithm exists for any NP-complete problem, and
such a proof cannot be constructed in (e.g.) ZFC, or that
polynomial-time algorithms for NP-complete problems
may exist, but its impossible to prove in ZFC that such
algorithms are correct.[33] However, if it can be shown,
using techniques of the sort that are currently known to
be applicable, that the problem cannot be decided even
with much weaker assumptions extending the Peano axioms (PA) for integer arithmetic, then there would necessarily exist nearly-polynomial-time algorithms for every
problem in NP.[34] Therefore, if one believes (as most
complexity theorists do) that not all problems in NP have
ecient algorithms, it would follow that proofs of independence using those techniques cannot be possible. Additionally, this result implies that proving independence
from PA or ZFC using currently known techniques is no
easier than proving the existence of ecient algorithms
for all problems in NP.

12 FORMAL DEFINITIONS

Claimed solutions

While the P versus NP problem is generally considered


unsolved,[35] many amateur and some professional researchers have claimed solutions. Gerhard J. Woeginger has a comprehensive list.[36] An August 2010 claim
of proof that P NP, by Vinay Deolalikar, a researcher at HP Labs, Palo Alto, received heavy Internet and press attention after being initially described as
seem[ing] to be a relatively serious attempt by two
leading specialists.[37] The proof has been reviewed publicly by academics,[38][39] and Neil Immerman, an expert in the eld, had pointed out two possibly fatal errors in the proof.[40] In September 2010, Deolalikar was
reported to be working on a detailed expansion of his attempted proof.[41] However, opinions expressed by several notable theoretical computer scientists indicate that
the attempted proof is neither correct nor a signicant advancement in the understanding of the problem.[42] This
assessment prompted a May 2013 The New Yorker article
to call the proof attempt thoroughly discredited.[43]

10

Logical characterizations

11 Polynomial-time algorithms
No algorithm for any NP-complete problem is known to
run in polynomial time. However, there are algorithms
for NP-complete problems with the property that if P =
NP, then the algorithm runs in polynomial time (although
with enormous constants, making the algorithm impractical). The following algorithm, due to Levin (without
any citation), is such an example below. It correctly accepts the NP-complete language SUBSET-SUM. It runs
in polynomial time if and only if P = NP:
// Algorithm that accepts the NP-complete language
SUBSET-SUM. // // this is a polynomial-time algorithm
if and only if P = NP. // // Polynomial-time means it returns yes in polynomial time when // the answer should
be yes, and runs forever when it is no. // // Input: S
= a nite set of integers // Output: yes if any subset of
S adds up to 0. // Runs forever with no output otherwise.
// Note: Program number P is the program obtained by
// writing the integer P in binary, then // considering that
string of bits to be a // program. Every possible program
can be // generated this way, though most do nothing //
because of syntax errors.
FOR N = 1... FOR P = 1...N Run program number P
for N steps with input S IF the program outputs a list of
distinct integers AND the integers are all in S AND the
integers sum to 0
THEN OUTPUT yes and HALT

If, and only if, P = NP, then this is a polynomial-time


The P = NP problem can be restated in terms of express- algorithm accepting an NP-complete language. Acceptible certain classes of logical statements, as a result of ing means it gives yes answers in polynomial time, but
is allowed to run forever when the answer is no (also
work in descriptive complexity.
known as a semi-algorithm).
Consider all languages of nite structures with a xed
signature including a linear order relation. Then, all such This algorithm is enormously impractical, even if P = NP.
languages in P can be expressed in rst-order logic with If the shortest program that can solve SUBSET-SUM in
is b bits long, the above algorithm will
the addition of a suitable least xed-point combinator. polynomial time
b
try
at
least
2
1
other
programs rst.
Eectively, this, in combination with the order, allows
the denition of recursive functions. As long as the signature contains at least one predicate or function in addition
to the distinguished order relation, so that the amount of
space taken to store such nite structures is actually poly- 12 Formal denitions
nomial in the number of elements in the structure, this
precisely characterizes P.
Similarly, NP is the set of languages expressible in existential second-order logicthat is, second-order logic restricted to exclude universal quantication over relations,
functions, and subsets. The languages in the polynomial
hierarchy, PH, correspond to all of second-order logic.
Thus, the question is P a proper subset of NP" can be
reformulated as is existential second-order logic able to
describe languages (of nite linearly ordered structures
with nontrivial signature) that rst-order logic with least
xed point cannot?".[44] The word existential can even
be dropped from the previous characterization, since P =
NP if and only if P = PH (as the former would establish
that NP = co-NP, which in turn implies that NP = PH).

12.1 P and NP
Conceptually speaking, a decision problem is a problem
that takes as input some string w over an alphabet , and
outputs yes or no. If there is an algorithm (say a
Turing machine, or a computer program with unbounded
memory) that can produce the correct answer for any input string of length n in at most cnk steps, where k and c
are constants independent of the input string, then we say
that the problem can be solved in polynomial time and we
place it in the class P. Formally, P is dened as the set
of all languages that can be decided by a deterministic
polynomial-time Turing machine. That is,

12.2

NP-completeness

7
{
}

R = (x, y) N N | 1 < y x and y divides x .

Clearly, thesome
question
of}whether a given x is a composite
P = {L : L = L(M ) machine Turing polynomial-time deterministic
for M
is equivalent to the question of whether x is a member
of COMPOSITE. It can be shown that COMPOSITE
where
NP by verifying that it satises the above denition (if
we identify natural numbers with their binary representations).
L(M ) = {w : M accepts w}
COMPOSITE also happens to be in P.[45][46]
and a deterministic polynomial-time Turing machine is a
deterministic Turing machine M that satises the follow12.2 NP-completeness
ing two conditions:
1. M halts on all input w and

There are many equivalent ways of describing NPcompleteness.

2. there exists k N such that TM (n) O(nk ) , Let L be a language over a nite alphabet .
where O refers to the big O notation and
L is NP-complete if, and only if, the following two conditions are satised:
TM (n) = max{tM (w) : w , |w| = n}
tM (w) = steps of number M input on halt to takes w.
NP can be dened similarly using nondeterministic Turing machines (the traditional way). However, a modern
approach to dene NP is to use the concept of certicate
and verier. Formally, NP is dened as the set of languages over a nite alphabet that have a verier that runs
in polynomial time, where the notion of verier is dened as follows.
Let L be a language over a nite alphabet, .
L NP if, and only if, there exists a binary relation R
and a positive integer k such that the following
two conditions are satised:
1. For all x , x L y such that (x, y)
R and |y| O(|x|k ) ; and
2. the language LR = {x#y : (x, y) R} over
{#} is decidable by a Turing machine in polynomial
time.

1. L NP; and
2. any L in NP is polynomial-time-reducible to L
(written as L p L ), where L p L if, and only
if, the following two conditions are satised:
(a) There exists f : * * such that for all w in
* we have: (w L f (w) L) ; and
(b) there exists a polynomial-time Turing machine
that halts with f(w) on its tape on any input w.

13 Popular culture
The lm Travelling Salesman, by director Timothy Lanzone, is the story of four mathematicians
hired by the US government to solve the P vs. NP
problem.[47]

14 See also
Game complexity

A Turing machine that decides LR is called a verier for


L and a y such that (x, y) R is called a certicate of
membership of x in L.

Unique games conjecture

In general, a verier does not have to be polynomial-time.


However, for L to be in NP, there must be a verier that
runs in polynomial time.

Unsolved problems in mathematics

Unsolved problems in computer science

15 Notes
12.1.1

Example

Let

COMPOSITE = {x N | x = pq integers for p, q > 1}

[1] Exactly how ecient a solution must be to pose a threat


to cryptography depends on the details. A solution of
O(N 2 ) or better and a reasonable constant term would be
disastrous. On the other hand, a solution that is (N 4 )
or worse in almost all cases would not pose an immediate
practical danger.

16

16

References

[1] R. E. Ladner On the structure of polynomial time reducibility, Journal of the ACM, 22, pp. 151171, 1975.
Corollary 1.1. ACM site.
[2] Hartmanis, Juris. Gdel, von Neumann, and the P = NP
problem (PDF). Bulletin of the European Association for
Theoretical Computer Science 38: 101107.
[3] Cook, Stephen (1971). The complexity of theorem proving procedures. Proceedings of the Third Annual ACM
Symposium on Theory of Computing. pp. 151158.
[4] Fortnow, Lance (2009). The status of the P versus NP
problem (PDF). Communications of the ACM 52 (9): 78
86. doi:10.1145/1562164.1562186.
[5] Sipser, Michael: Introduction to the Theory of Computation, Second Edition, International Edition, page 270.
Thomson Course Technology, 2006. Denition 7.19 and
Theorem 7.20.
[6] William I. Gasarch (June 2002).
The P=?NP
poll. (PDF). SIGACT News 33 (2):
3447.
doi:10.1145/1052796.1052804.
Retrieved 29 December 2008.
[7] William I. Gasarch. The Second P=?NP poll (PDF).
SIGACT News 74.
[8] Scott Aaronson. PHYS771 Lecture 6: P, NP, and
Friends. Retrieved 27 August 2007.
[9] Aviezri Fraenkel and D. Lichtenstein (1981). Computing
a perfect strategy for nn chess requires time exponential
in n. J. Comb. Th. A (31): 199214.

REFERENCES

1438311. Postscript le at website of Gondzio and at McMaster University website of Terlaky.


[17] Rosenberger, Jack (May 2012). "P vs. NP poll results.
Communications of the ACM 55 (5): 10.
[18] Scott Aaronson. Reasons to believe., point 9.
[19] See Horie, S. and Watanabe, O.; Watanabe (1997).
Hard instance generation for SAT.
Algorithms
and Computation. Lecture Notes in Computer SciarXiv:cs/9809117.
ence (Springer) 1350: 2231.
Bibcode:1998cs........9117H. doi:10.1007/3-540-638903_4. ISBN 978-3-540-63890-2. for a reduction of factoring to SAT. A 512 bit factoring problem (8400 MIPSyears when factored) translates to a SAT problem of
63,652 variables and 406,860 clauses.
[20] See, for example, Massacci, F. and Marraro, L. (2000).
Logical cryptanalysis as a SAT problem.
Journal of Automated Reasoning (Springer) 24 (1): 165
203.
doi:10.1023/A:1006326723002.
CiteSeerX:
10.1.1.104.962. in which an instance of DES is encoded as a SAT problem with 10336 variables and 61935
clauses. A 3DES problem instance would be about 3 times
this size.
[21] Find a messageM that when hashed by the function H()
gives a digest h, or H(M)=h
[22] De, Debapratim and Kumarasubramanian, Abishek and
Venkatesan, Ramarathnam (2007). Inversion attacks on
secure hash functions using SAT solvers. Springer. pp.
377382.

[10] David Eppstein. Computational Complexity of Games


and Puzzles.

[23] Berger B, Leighton T (1998). Protein folding in the


hydrophobic-hydrophilic (HP) model is NP-complete. J.
Comput. Biol. 5 (1): 2740. doi:10.1089/cmb.1998.5.27.
PMID 9541869.

[11] Arvind, Vikraman; Kurur, Piyush P. (2006). Graph isomorphism is in SPP. Information and Computation 204
(5): 835852. doi:10.1016/j.ic.2006.02.002.

[24] History of this letter and its translation from Michael


Sipser. The History and Status of the P versus NP question (PDF).

[12] Schning, Uwe. Graph isomorphism is in the low hierarchy. Proceedings of the 4th Annual Symposium on
Theoretical Aspects of Computer Science 1987: 114124.
doi:10.1007/bfb0039599.

[25] David S. Johnson. A Brief History of NP-Completeness,


19542012 (PDF). From pages 359376 of Optimization Stories, M. Grtschel (editor), a special issue of
Documenta Mathematica, published in August 2012 and
distributed to attendees at the 21st International Symposium on Mathematical Programming in Berlin.

[13] Schning, Uwe (1988). Graph isomorphism is in the low


hierarchy. Journal of Computer and System Sciences 37:
312323. doi:10.1016/0022-0000(88)90010-4.
[14] Lance Fortnow.
Computational Complexity Blog:
Complexity Class of the Week: Factoring. 13 September 2002.
[15] Pisinger, D. 2003. Where are the hard knapsack problems?" Technical Report 2003/08, Department of Computer Science, University of Copenhagen, Copenhagen,
Denmark
[16] Gondzio, Jacek; Terlaky, Tams (1996). 3 A computational view of interior point methods. In J. E. Beasley.
Advances in linear and integer programming. Oxford Lecture Series in Mathematics and its Applications 4. New
York: Oxford University Press. pp. 103144. MR

[26] Cook, Stephen (April 2000). The P versus NP Problem


(PDF). Clay Mathematics Institute. Retrieved 18 October
2006.
[27] Knuth, Donald E. (May 20, 2014). Twenty Questions
for Donald Knuth. informit.com. InformIT. Retrieved
20 July 2014.
[28] L. R. Foulds (October 1983). The Heuristic ProblemSolving Approach. Journal of the Operational Research
Society 34 (10): 927934. doi:10.2307/2580891. JSTOR
2580891.
[29] R. Impagliazzo, A personal view of average-case complexity, sct, pp.134, 10th Annual Structure in Complexity Theory Conference (SCT'95), 1995

[30] Tentative program for the workshop on Complexity


and Cryptography: Status of Impagliazzos Worlds"".
Archived from the original on 2013-11-15.
[31] T. P. Baker, J. Gill, R. Solovay. Relativizations of the P =?
NP Question. SIAM Journal on Computing, 4(4): 431
442 (1975)
[32] S. Aaronson and A. Wigderson (2008). Algebrization:
A New Barrier in Complexity Theory (PDF). Proceedings of ACM STOC'2008.
pp.
731740.
doi:10.1145/1374376.1374481.
[33] Aaronson, Scott. Is P Versus NP Formally Independent?" (PDF).
[34] Ben-David, Shai; Halevi, Shai (1992). On the independence of P versus NP. Technical Report 714. Technion.
[35] John Marko (8 October 2009). Prizes Aside, the P-NP
Puzzler Has Consequences. The New York Times.

Garey, Michael; Johnson, David (1979). Computers and Intractability: A Guide to the Theory of NPCompleteness. San Francisco: W. H. Freeman and
Company. ISBN 0-7167-1045-5.
Goldreich, Oded (2010).
P, Np, and NpCompleteness. Cambridge: Cambridge University
Press. ISBN 978-0-521-12254-2. Online drafts
Immerman, N. (1987). Languages which capture
complexity classes. SIAM Journal of Computing 16
(4): 760778. doi:10.1137/0216051.
Cormen, Thomas (2001). Introduction to Algorithms. Cambridge: MIT Press. ISBN 0-26203293-7.
Papadimitriou, Christos (1994). Computational
Complexity. Boston: Addison-Wesley. ISBN 0-20153082-1.

[36] Gerhard J. Woeginger. The P-versus-NP page. Retrieved 25 May 2014.

Fortnow, L. (2009). The Status of the P versus NP


problem. Communications of the ACM 52 (9): 78.
doi:10.1145/1562164.1562186.

[37] Marko, John (16 August 2010). Step 1: Post Elusive


Proof. Step 2: Watch Fireworks.. The New York Times.
Retrieved 20 September 2010.

Fortnow, L.; Gasarch, W. Computational complexity.

[38] Polymath Project wiki. Deolalikars P vs NP paper.


[39] Science News, Crowdsourcing peer review
[40] Dick Lipton (12 August 2010). Fatal Flaws in Deolalikars Proof?".
[41] Dick Lipton (15 September 2010). An Update on Vinay
Deolalikars Proof. Retrieved 31 December 2010.
[42] Gdels Lost Letter and P=NP, Update on Deolalikars
Proof that PNP
[43] Alexander Nazaryan (2 May 2013). A Most Profound
Math Problem. Retrieved 1 May 2014.
[44] Elvira Mayordomo. P versus NP Monografas de la Real
Academia de Ciencias de Zaragoza 26: 5768 (2004).
[45] M. Agrawal, N. Kayal, N. Saxena. Primes is in P (PDF).
Retrieved 29 December 2008.
[46] AKS primality test
[47] Geere, Duncan. "'Travelling Salesman' movie considers
the repercussions if P equals NP. Wired. Retrieved 26
April 2012.

17

Further reading

Fraenkel, A. S.; Lichtenstein, D. (1981).


Computing a Perfect Strategy for n*n Chess
Requires Time Exponential in N.. doi:10.1007/3540-10843-2_23.

Fortnow, Lance. The Golden Ticket: P, NP, and


the Search for the Impossible ISBN 9780691156491.
Princeton University Press. Princeton, NJ (2013)

18 External links
The Clay Mathematics Institute Millennium Prize
Problems
The Clay Math Institute Ocial Problem Description PDF (118 KB)
Gerhard J. Woeginger. The P-versus-NP page. A
list of links to a number of purported solutions to
the problem. Some of these links state that P equals
NP, some of them state the opposite. It is probable
that all these alleged solutions are incorrect.
Scott Aaronson 's Shtetl Optimized blog: Reasons
to believe, a list of justications for the belief that P
NP

10

19

19
19.1

TEXT AND IMAGE SOURCES, CONTRIBUTORS, AND LICENSES

Text and image sources, contributors, and licenses


Text

P versus NP problem Source: https://en.wikipedia.org/wiki/P_versus_NP_problem?oldid=718291357 Contributors: Damian Yerrick,


AxelBoldt, LC~enwiki, Archibald Fitzchestereld, Robert Merkel, AstroNomer, Jan Hidders, Arvindn, Marknau, Olivier, Cointyro, Bdesham, Nealmcb, RTC, Michael Hardy, Booyabazooka, Cole Kitchen, Ixfd64, Chinju, Cyde, Paddu, Eric119, Minesweeper, Docu, Arthur
Frayn, Julesd, Poor Yorick, Schneelocke, Alexwatson, Charles Matthews, Timwi, Dcoetzee, Jitse Niesen, Doradus, Timc, Xiaodai~enwiki,
Shizhao, Gakrivas, David.Monniaux, Frazzydee, Phil Boswell, Donarreiskoer, Fredrik, Chocolateboy, Altenmann, Lowellian, Gandalf61,
Rorro, Bkell, Robinh, Robbar~enwiki, Tea2min, David Gerard, Giftlite, DocWatson42, PoolGuy, MSGJ, Dissident, Kmote, Ianhowlett,
Mellum, Rick Block, Canon, Andris, Guanaco, Remy B, Jason Quinn, Sundar, Proslaes, Adam McMaster, Wmahan, Gdr, Blazotron,
Jossi, Jacob grace, Phil Sandifer, Icairns, Rdnk, Jaybungton, Creidieki, Neutrality, Andreas Kaufmann, Chrisjwmartin, Brianjd, Perey,
Blokhead, Pmadrid, CALR, Discospinster, Rich Farmbrough, Guanabot, Rspeer, R6144, Narsil, Kzzl, Night Gyr, Bender235, ESkog,
Hritcu, EmilJ, Peterjoel, Mike Schwartz, Jmah, John Vandenberg, C S, Teorth, Blotwell, Obradovic Goran, Mpeisenbr, HasharBot~enwiki,
Gary, RoySmith, Osias, Suruena, CloudNine, Bsadowski1, Thore, Vadim Makarov, Adityad, Kvikram, Mcsee, Mindmatrix, Shreevatsa,
LOL, Jlind0, Robert K S, ^demon, Ruud Koot, Je3000, Wikiklrsc, GregorB, Frungi, Waldir, Kralizec!, RomeW, Hideyuki, Graham87,
BD2412, Qwertyus, Rjwilmsi, Tizio, Koavf, Stardust8212, Staecker, Jmcc150, R.e.b., Brighterorange, Husky, Lotu, Dillon256, FlaBot,
Mathiastck, Kolbasz, Intgr, Occamster, Bgwhite, Algebraist, Jayme, UkPaolo, YurikBot, Wavelength, Hairy Dude, RussBot, Bluewaves,
Wikinick~enwiki, Dantheox, Ihope127, Anog, Msikma, Rhythm, Arichnad, Trovatore, Rupert Clayton, Twin Bird, Srinivasasha, Kufat,
The Obfuscator, Robert McClenon, Rbarreira, Raven4x4x, Beb0s, Predawn, Dbrs, Elizabeyth, Ms2ger, NormDor, Nikkimaria, Arthur
Rubin, GraemeL, Speculatrix, Red Jay, LeonardoRob0t, Markvs88, Banus, AndrewWTaylor, A bit iy, SmackBot, Rtc, Prodego, InverseHypercube, McGeddon, Jtwdog, Saitanay, WookieInHeat, Stie, GraemeMcRae, Telekid, Stuart P. Bentley, IvanAndreevich, Gyllstromk,
Iain.dalton, Jayanta Sen, Jammycakes, Gutworth, MatthewH, Emurphy42, Ustadny, Vivekk, Duncancumming, Rbix, LouScheer, Calbaer,
Justin Staord, Cybercobra, Hongerandi, Sampalahnuk, Jon Awbrey, DMacks, LeoNomis, ScWizard, Crouchbk, Ohconfucius, Jonnty,
Lambiam, Minna Sora no Shita, Mgiganteus1, Wikipediatrist, Deadcode, Loadmaster, , Isb0459, Nbhatla, Stephen B Streater,
Ojan, Civil Engineer III, Sabb0ur, JRSpriggs, Timrem, Ylloh, Petr Matas, JForget, Hobophobe, CRGreathouse, Bofa, CBM, Banedon,
Nicolaennio, Chrisahn, Dragon guy, Myasuda, Cydebot, Dspart, Farzaneh, Ebyabe, Landroo, Thijs!bot, Epbr123, Ultimus, Azimuth1,
Headbomb, Jojan, Davidhorman, Navigatr85, Mentisto, Bigtimepeace, Oddity-, Salgueiro~enwiki, Yellowdesk, JAnDbot, Asmeurer,
Dereckson, GromXXVII, EmersonLowry, MER-C, Gavia immer, Chronolegion, Magioladitis, Sith Lord 13, David Eppstein, Mrmagoo2006, Rajpaj, Kayau, DGG, Hcsradek, Illuminatedwax, Delmet, Fiachra10003, Rhinestone K, Svnsvn, Laurusnobilis, Mortusmox,
Ryan Postlethwaite, Andejons, Unavoured, Joshua Issac, Action Jackson IV, Subtilior, Liron00, CBKAtTopsails, VolkovBot, Kelapstick, Je G., Bluhd, Tcotco, Feynman81, Anonymous Dissident, BwDraco, PDFbot, Wiae, Wtt, Gtcostello, Meters, Logan, Eggishorn,
Fcady2007, SieBot, Ttonyb1, Eescardo, Revent, Lukeh1, Thehotelambush, Stfg, Wahrmund, Denisarona, Cngoulimis, Mgraham831, ClueBot, Iman.saleh, Justin W Smith, Kotniski, The Thing That Should Not Be, Alksentrs, Thorbjrn Ravn Andersen, Budalla, MATThematical, Thomas Hard, Niceguyedc, Bender2k14, Nith Sahor, Lartoven, NuclearWarfare, Aseld, ELLinng, Mikaey, Versus22, SoxBot III,
Humanengr, AncientToaster, XLinkBot, Pichpich, Duncan, Feinoha, Dekart, EEng, Algebran, DOI bot, Guoguo12, Otisjimmy1, Download, Debresser, Favonian, Calculuslover, Robert The Rebuilder, Dayewalker, Tide rolls, Lightbot, , Luckas Blade, Legobot, Yobot,
TaBOT-zerem, Pcap, Smj2118, Linket, AnomieBOT, Jim1138, Bluerasberry, Materialscientist, Citation bot, Twri, Xqbot, Bihco, Miym,
Omnipaedista, Noamz, Doulos Christos, Gonzolito, FrescoBot, MartinMusatov, Nageh, Libertyrights, X7q, DanielMayer, Rockiesfan19,
Anonymousacademic, Anonymousone2, Tetraedycal, Chenopodiaceous, Dark Charles, Pinethicket, RobinK, Christopher1968, TobeBot,
Trappist the monk, Shawn comes, QuantitativeFinanceKinderChocolate, Raiden09, Tbhotch, ParotWise, Mhilferink, RjwilmsiBot, VernoWhitney, Fappah, WavePart, Vstarsky, Kiudee, Tommy2010, Maplesoon, Wtuvell, Slawekb, Evanh2008, Dlakavi, Daonguyen95, Pxtreme75, Rspence1234, Ewa5050, Cf. Hay, Staszek Lem, L Kensington, Stan Marian C-tin, Jiayq, Mshebanow, Patelhiren.101, Rjlipton,
ChandraKarChandra, Ckplato, Ebehn, Washington Irving Esquire, ClueBot NG, Kirill Borisenko, XVirus, MelbourneStar, Pizza1016,
LJosil, O.Koslowski, Joel B. Lewis, Widr, Jeremy W Powell, Neoglez, Helpful Pixie Bot, Prochron, BG19bot, Stopingingthebull, Max
Longint, Solomon7968, Elisfkc, Flosfa, Deret1987, 4Jays1034, Fred2013, Kulvko, YFdyh-bot, Dexbot, Deltahedron, Webclient101, Artinmm, Enyokoyama, Theatre gurl, Levelmartinmusatov, Minime12358, Cadillac000, Blamelooseradiolabel, Ueutyi, Epicgenius, Tong
chuang, Ahmadiesa abu, Iamfaster, Babitaarora, Djhulme, Glaisher, Yongcat, Grimguard, WikiEnthusiastNumberTwenty-Two, Param
Mudgal, Scholarlyworks, Sirreallysam, Ynaamad, Jman0726, Anonrabbi, Monkbot, BethNaught, EndgameCondition, Whoami49, CorrectKissinTime, Dummyfarmer, Kyle1009, Mannerheimcross, LokiTheatreChick, Loraof, Matthew rutland, Joshsny, Sonicwave32, SoSivr,
Isambard Kingdom, Nbro, C.LloydHuggins, Gasarch, ScottNaturals, Logx79, Yihkrys, YukinonKanade, Jgabe550, Andrew00786, ElnaserAbdelwahab and Anonymous: 565

19.2

Images

File:Complexity_classes.svg Source: https://upload.wikimedia.org/wikipedia/commons/b/bc/Complexity_classes.svg License: Public


domain Contributors: No machine-readable source provided. Own work assumed (based on copyright claims). Original artist: No machinereadable author provided. Booyabazooka assumed (based on copyright claims).
File:En-P_versus_NP_problem.ogg Source:
License: CC BY-SA 3.0 Contributors:

https://upload.wikimedia.org/wikipedia/commons/1/18/En-P_versus_NP_problem.ogg

Derivative of P vs NP problem Original artist: Speaker: Dcoetzee


Authors of the article
File:KnapsackEmpComplexity.GIF Source: https://upload.wikimedia.org/wikipedia/commons/1/11/KnapsackEmpComplexity.GIF
License: Public domain Contributors: Own work Original artist: Cngoulimis
File:P_np_np-complete_np-hard.svg Source: https://upload.wikimedia.org/wikipedia/commons/a/a0/P_np_np-complete_np-hard.svg
License: CC BY-SA 3.0 Contributors: Original. Original artist: Behnam Esfahbod
File:Question_dropshade.png Source: https://upload.wikimedia.org/wikipedia/commons/d/dd/Question_dropshade.png License: Public
domain Contributors: Image created by JRM Original artist: JRM
File:Sound-icon.svg Source: https://upload.wikimedia.org/wikipedia/commons/4/47/Sound-icon.svg License:
Derivative work from Silsor's versio Original artist: Crystal SVG icon set

LGPL Contributors:

19.3

Content license

11

File:Wikiquote-logo.svg Source: https://upload.wikimedia.org/wikipedia/commons/f/fa/Wikiquote-logo.svg License: Public domain


Contributors: ? Original artist: ?

19.3

Content license

Creative Commons Attribution-Share Alike 3.0

Anda mungkin juga menyukai