The problem
A proposed guest list can be checked rule by rule: if Ana may attend only when Cy does, inviting Ana without Cy fails. But how can we decide whether any list satisfies all the rules? The general question is whether checking a short proposed solution efficiently always comes with an efficient way to decide that a solution exists—or that none does.
The input is an encoded instance. Let n be its length in bits. Polynomial time means one algorithm has a worst-case running time bounded by C n^k for fixed constants C and k as n grows. Encoding matters: an n-bit integer can be near 2^n, so taking one step per unit of its numeric value is not a polynomial bound in its bit length. P contains the decision problems a deterministic algorithm can solve within a polynomial bound.
NP contains decision problems whose yes-instances have polynomial-length certificates verifiable in polynomial time by a deterministic algorithm. For SAT, which asks whether a logical formula can be made true, a certificate assigns true or false to each variable; evaluating the formula checks it. The definition requires no analogous certificate for no-instances. P ⊆ NP, since a verifier can simply run the solving algorithm. NP stands for nondeterministic polynomial time; the name does not assert that its problems require nonpolynomial time.[2]
Scope
Decision problems on finitely encoded inputs, with deterministic running time bounded by a polynomial in input length. The bound concerns worst-case scaling across all input sizes; it need not make an algorithm practical.
What remains open
General 3-SAT is NP-complete: it belongs to NP, and every NP decision problem can be translated into it in polynomial time while preserving the yes/no answer. A polynomial-time 3-SAT algorithm would establish P = NP; proving that none solves all instances would establish P ≠ NP. NP-completeness is a property of a whole problem family, not a theorem that each instance is difficult.
A separation proof must exclude every polynomial-time algorithm, including methods nobody has discovered. Exponential brute-force search only describes one method. Another possible route is to show that an explicit NP problem needs Boolean circuits larger than every polynomial in input length. Such unrestricted lower bounds would suffice; lower bounds confined to a restricted circuit model do not generally establish the needed separation.[1] [2]
Why it matters
Many useful tasks involve finding a plan that satisfies rules. An answer would tell us whether difficulty finding such plans can reflect a fundamental limit, rather than a missing algorithm.[2]
For a satisfiable SAT formula, a yes/no solver can construct an answer. Set one variable true and ask whether the remaining formula is satisfiable; if not, set it false. Repeat while preserving satisfiability. A polynomial number of calls turns a polynomial-time decision procedure into a polynomial-time search procedure. This is why the formal yes/no question reaches tasks needing an actual plan or proof.
The cryptographic consequences also require care. P = NP would imply polynomial-time integer factoring, for example, but the cost of a concrete algorithm would determine its immediate practical impact. P ≠ NP alone would not prove a particular cryptographic scheme secure: hardness in the worst case does not establish hardness on the inputs an attacker encounters.[2]
Research directions
2 directions to explore
Is there a polynomial-time algorithm for Boolean satisfiability?
Decide whether a logical formula has any satisfying assignment. SAT is NP-complete, so a polynomial-time solver would establish P = NP. Its yes/no answers can also build an assignment by fixing one variable at a time while keeping the formula satisfiable.
Can we prove that an NP problem requires circuits larger than every polynomial?
A Boolean circuit computes with logical gates. Proving superpolynomial circuit size for an explicit NP problem would establish P ≠ NP, since polynomial-time algorithms yield polynomial-size circuit families. Restricting the gates or circuit depth can make lower bounds possible without resolving this unrestricted target.
Sources
- P vs NP
Notes on P vs NP
Official current listing marks the problem unsolved and introduces the distinction between checking a supplied solution and finding one.
- The P versus NP Problem
Notes on The P versus NP Problem
Official problem description defines input length, worst-case polynomial time, certificates, reductions and NP-completeness; explains search, circuit lower bounds and scoped consequences for mathematics and cryptography. Its historical research bounds are not used as a current update.
- A linear-time algorithm for testing the truth of certain quantified Boolean formulas
Notes on A linear-time algorithm for testing the truth of certain quantified Boolean formulas
Original algorithm paper contrasts polynomial-time 2-SAT with NP-complete 3-SAT. This established tractable case illustrates why enumerating all assignments is not necessary for every satisfiability problem. The original paper is available in this university-hosted copy.
- CSC 463 Problem Set 4: 2-SAT and implication graphs
Notes on CSC 463 Problem Set 4: 2-SAT and implication graphs
Official course exercise gives a graph criterion for 2-SAT: unsatisfiability requires a directed cycle containing both a variable and its negation. The criterion provides an accessible route to polynomial-time solving by graph reachability. The course year and assignment due date are not treated as publication dates.