NP-complete problem

While every effort has been made to follow citation style rules, there may be some discrepancies. Please refer to the appropriate style manual or other sources if you have any questions.

Select Citation Style Copy Citation Share to social media Give Feedback External Websites Thank you for your feedback

Our editors will review what you’ve submitted and determine whether to revise the article.

External Websites verifiedCite

While every effort has been made to follow citation style rules, there may be some discrepancies. Please refer to the appropriate style manual or other sources if you have any questions.

Select Citation Style Copy Citation Share to social media External Websites Thank you for your feedback

Our editors will review what you’ve submitted and determine whether to revise the article.

External Websites Written and fact-checked by The Editors of Encyclopaedia Britannica

Encyclopaedia Britannica's editors oversee subject areas in which they have extensive knowledge, whether from years of experience gained by working on that content or via study for an advanced degree. They write new content and verify and edit content received from contributors.

The Editors of Encyclopaedia Britannica Table of Contents Key People: Richard Karp Stephen Arthur Cook (Show more) Related Topics: computation (Show more)

Ask the Chatbot a Question

Ask the Chatbot a Question

NP-complete problem, any of a class of computational problems for which no efficient solution algorithm has been found. Many significant computer-science problems belong to this class—e.g., the traveling salesman problem, satisfiability problems, and graph-covering problems.

So-called easy, or tractable, problems can be solved by computer algorithms that run in polynomial time; i.e., for a problem of size n, the time or number of steps needed to find the solution is a polynomial function of n. Algorithms for solving hard, or intractable, problems, on the other hand, require times that are exponential functions of the problem size n. Polynomial-time algorithms are considered to be efficient, while exponential-time algorithms are considered inefficient, because the execution times of the latter grow much more rapidly as the problem size increases.

Britannica Quiz Numbers and Mathematics

A problem is called NP ( nondeterministic polynomial) if its solution can be guessed and verified in polynomial time; nondeterministic means that no particular rule is followed to make the guess. If a problem is NP and all other NP problems are polynomial-time reducible to it, the problem is NP-complete. Thus, finding an efficient algorithm for any NP-complete problem implies that an efficient algorithm can be found for all such problems, since any problem belonging to this class can be recast into any other member of the class. It is not known whether any polynomial-time algorithms will ever be found for NP-complete problems, and determining whether these problems are tractable or intractable remains one of the most important questions in theoretical computer science. When an NP-complete problem must be solved, one approach is to use a polynomial algorithm to approximate the solution; the answer thus obtained will not necessarily be optimal but will be reasonably close.

The Editors of Encyclopaedia Britannica This article was most recently revised and updated by Erik Gregersen.