Skip to main content

P=NP question

P=NP question One of the major open questions in theoretical computer science at present.

P is the class of formal languages that are recognizable in polynomial time. More precisely a language L is in P if there exists a Turing machine program M and a polynomial p(n) such that M recognizes L and TM(n) ← p(n)

for all nonnegative integers n, where TM is the time complexity of M (see complexity measure). It is generally accepted that if a language is not in P then there is no algorithm that recognizes it and is guaranteed to be always “fast”.

NP is the class of languages that are recognizable in polynomial time on a nondeterministic Turing machine.

Clearly PNP

but the question of whether or not P = NP

has not been solved despite a great amount of research.

Contained in NP is a set NPC of languages that are called NP-complete. A language L1 is in NPC if every language L2 in NP can be polynomially reduced to L1, i.e. there is some function f such that

(a) xL1 iff f(x) ∈ L2

(b) f(x) is computable by a Turing machine in time bounded by a polynomial in the length of x.

It can be shown that if any NP-complete language is also in P then P = NP.

A wide variety of problems occurring in computer science, mathematics, and operations research are now known to be NP-complete. As an example the problem of determining whether a Boolean expression in conjunctive normal form (see conjunction) can be satisfied by a truth assignment was the first problem found to be NP-complete; this is generally referred to as the satisfiability (or CNF satisfiability) problem. Despite considerable effort none of these NP-complete problems have been shown to be polynomially solvable. Thus it is widely conjectured that no NP-complete problem is polynomially solvable and PNP.

A language is said to be NP-hard if any language in NP can be polynomially reduced to it, even if the language itself is not in NP.

Cite this article
Pick a style below, and copy the text for your bibliography.

  • MLA
  • Chicago
  • APA

"P=NP question." A Dictionary of Computing. . 23 Mar. 2019 <>.

"P=NP question." A Dictionary of Computing. . (March 23, 2019).

"P=NP question." A Dictionary of Computing. . Retrieved March 23, 2019 from

Learn more about citation styles

Citation styles gives you the ability to cite reference entries and articles according to common styles from the Modern Language Association (MLA), The Chicago Manual of Style, and the American Psychological Association (APA).

Within the “Cite this article” tool, pick a style to see how all available information looks when formatted according to that style. Then, copy and paste the text into your bibliography or works cited list.

Because each style has its own formatting nuances that evolve over time and not all information is available for every reference entry or article, cannot guarantee each citation it generates. Therefore, it’s best to use citations as a starting point before checking the style against your school or publication’s requirements and the most-recent information available at these sites:

Modern Language Association

The Chicago Manual of Style

American Psychological Association

  • Most online reference entries and articles do not have page numbers. Therefore, that information is unavailable for most content. However, the date of retrieval is often important. Refer to each style’s convention regarding the best way to format page numbers and retrieval dates.
  • In addition to the MLA, Chicago, and APA styles, your school, university, publication, or institution may have its own requirements for citations. Therefore, be sure to refer to those guidelines when editing your bibliography or works cited list.