Get it on Google Play
New! Download Unionpedia on your Android™ device!
Faster access than browser!

NP (complexity)

Index NP (complexity)

In computational complexity theory, NP (for nondeterministic polynomial time) is a complexity class used to describe certain types of decision problems. [1]

59 relations: Algorithm, American Scientist, Approximation algorithm, Arthur–Merlin protocol, Big O notation, Binary search algorithm, Boolean satisfiability problem, Certificate (complexity), Charles E. Leiserson, Clifford Stein, Co-NP, Complement (set theory), Complexity class, Computation tree, Computational complexity theory, Computer science, Concatenation, David Harel, Decision problem, Descriptive complexity theory, Deterministic algorithm, EXPTIME, Fagin's theorem, FNP (complexity), Fork (system call), Formal language, Integer, Integer factorization, Interactive proof system, Intersection, Introduction to Algorithms, Kleene star, Mathematical proof, Michael Sipser, Non-deterministic Turing machine, Nondeterministic algorithm, NP-completeness, NTIME, P (complexity), P versus NP problem, Polynomial hierarchy, Primality test, Probabilistically checkable proof, Propositional calculus, PSPACE, Ron Rivest, Search problem, Second-order logic, Set (mathematics), Space hierarchy theorem, ..., Subgraph isomorphism problem, Subset sum problem, Thomas H. Cormen, Time complexity, Time hierarchy theorem, Travelling salesman problem, Turing machine, Union (set theory), Witness (mathematics). Expand index (9 more) »


In mathematics and computer science, an algorithm is an unambiguous specification of how to solve a class of problems.

New!!: NP (complexity) and Algorithm · See more »

American Scientist

American Scientist (informally abbreviated AmSci) is an American bimonthly science and technology magazine published since 1913 by Sigma Xi, The Scientific Research Society.

New!!: NP (complexity) and American Scientist · See more »

Approximation algorithm

In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to NP-hard optimization problems with provable guarantees on the distance of the returned solution to the optimal one.

New!!: NP (complexity) and Approximation algorithm · See more »

Arthur–Merlin protocol

In computational complexity theory, an Arthur–Merlin protocol is an interactive proof system in which the verifier's coin tosses are constrained to be public (i.e. known to the prover too).

New!!: NP (complexity) and Arthur–Merlin protocol · See more »

Big O notation

Big O notation is a mathematical notation that describes the limiting behaviour of a function when the argument tends towards a particular value or infinity.

New!!: NP (complexity) and Big O notation · See more »

Binary search algorithm

In computer science, binary search, also known as half-interval search,logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array.

New!!: NP (complexity) and Binary search algorithm · See more »

Boolean satisfiability problem

In computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated as SATISFIABILITY or SAT) is the problem of determining if there exists an interpretation that satisfies a given Boolean formula.

New!!: NP (complexity) and Boolean satisfiability problem · See more »

Certificate (complexity)

In computational complexity theory, a certificate (also called a witness) is a string that certifies the answer to a computation, or certifies the membership of some string in a language.

New!!: NP (complexity) and Certificate (complexity) · See more »

Charles E. Leiserson

Charles Eric Leiserson is a computer scientist, specializing in the theory of parallel computing and distributed computing, and particularly practical applications thereof.

New!!: NP (complexity) and Charles E. Leiserson · See more »

Clifford Stein

Clifford Seth Stein (born December 14, 1965), a computer scientist, is a professor of industrial engineering and operations research at Columbia University in New York, NY, where he also holds an appointment in the Department of Computer Science.

New!!: NP (complexity) and Clifford Stein · See more »


In computational complexity theory, co-NP is a complexity class.

New!!: NP (complexity) and Co-NP · See more »

Complement (set theory)

In set theory, the complement of a set refers to elements not in.

New!!: NP (complexity) and Complement (set theory) · See more »

Complexity class

In computational complexity theory, a complexity class is a set of problems of related resource-based complexity.

New!!: NP (complexity) and Complexity class · See more »

Computation tree

A computation tree is a representation for the computation steps of a non-deterministic Turing machine on a specified input.

New!!: NP (complexity) and Computation tree · See more »

Computational complexity theory

Computational complexity theory is a branch of the theory of computation in theoretical computer science that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other.

New!!: NP (complexity) and Computational complexity theory · See more »

Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.

New!!: NP (complexity) and Computer science · See more »


In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end.

New!!: NP (complexity) and Concatenation · See more »

David Harel

David Harel (דוד הראל; born 12 April 1950) is a computer scientist at the Weizmann Institute of Science in Israel, and holds the William Sussman Professorial Chair of Mathematics.

New!!: NP (complexity) and David Harel · See more »

Decision problem

In computability theory and computational complexity theory, a decision problem is a problem that can be posed as a yes-no question of the input values.

New!!: NP (complexity) and Decision problem · See more »

Descriptive complexity theory

Descriptive complexity is a branch of computational complexity theory and of finite model theory that characterizes complexity classes by the type of logic needed to express the languages in them.

New!!: NP (complexity) and Descriptive complexity theory · See more »

Deterministic algorithm

In computer science, a deterministic algorithm is an algorithm which, given a particular input, will always produce the same output, with the underlying machine always passing through the same sequence of states.

New!!: NP (complexity) and Deterministic algorithm · See more »


In computational complexity theory, the complexity class EXPTIME (sometimes called EXP or DEXPTIME) is the set of all decision problems that have exponential runtime, i.e., that are solvable by a deterministic Turing machine in O(2p(n)) time, where p(n) is a polynomial function of n. In terms of DTIME, We know and also, by the time hierarchy theorem and the space hierarchy theorem, that so at least one of the first three inclusions and at least one of the last three inclusions must be proper, but it is not known which ones are.

New!!: NP (complexity) and EXPTIME · See more »

Fagin's theorem

Fagin's theorem is a result in descriptive complexity theory that states that the set of all properties expressible in existential second-order logic is precisely the complexity class NP.

New!!: NP (complexity) and Fagin's theorem · See more »

FNP (complexity)

In computational complexity theory, the complexity class FNP is the function problem extension of the decision problem class NP.

New!!: NP (complexity) and FNP (complexity) · See more »

Fork (system call)

In computing, particularly in the context of the Unix operating system and its workalikes, fork is an operation whereby a process creates a copy of itself.

New!!: NP (complexity) and Fork (system call) · See more »

Formal language

In mathematics, computer science, and linguistics, a formal language is a set of strings of symbols together with a set of rules that are specific to it.

New!!: NP (complexity) and Formal language · See more »


An integer (from the Latin ''integer'' meaning "whole")Integer 's first literal meaning in Latin is "untouched", from in ("not") plus tangere ("to touch").

New!!: NP (complexity) and Integer · See more »

Integer factorization

In number theory, integer factorization is the decomposition of a composite number into a product of smaller integers.

New!!: NP (complexity) and Integer factorization · See more »

Interactive proof system

In computational complexity theory, an interactive proof system is an abstract machine that models computation as the exchange of messages between two parties.

New!!: NP (complexity) and Interactive proof system · See more »


In mathematics, the intersection of two or more objects is another, usually "smaller" object.

New!!: NP (complexity) and Intersection · See more »

Introduction to Algorithms

Introduction to Algorithms is a book by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.

New!!: NP (complexity) and Introduction to Algorithms · See more »

Kleene star

In mathematical logic and computer science, the Kleene star (or Kleene operator or Kleene closure) is a unary operation, either on sets of strings or on sets of symbols or characters.

New!!: NP (complexity) and Kleene star · See more »

Mathematical proof

In mathematics, a proof is an inferential argument for a mathematical statement.

New!!: NP (complexity) and Mathematical proof · See more »

Michael Sipser

Michael Fredric Sipser (born September 17, 1954) is a theoretical computer scientist who has made early contributions to computational complexity theory.

New!!: NP (complexity) and Michael Sipser · See more »

Non-deterministic Turing machine

In theoretical computer science, a Turing machine is a theoretical machine that is used in thought experiments to examine the abilities and limitations of computers.

New!!: NP (complexity) and Non-deterministic Turing machine · See more »

Nondeterministic algorithm

In computer science, a nondeterministic algorithm is an algorithm that, even for the same input, can exhibit different behaviors on different runs, as opposed to a deterministic algorithm.

New!!: NP (complexity) and Nondeterministic algorithm · See more »


In computational complexity theory, an NP-complete decision problem is one belonging to both the NP and the NP-hard complexity classes.

New!!: NP (complexity) and NP-completeness · See more »


In computational complexity theory, the complexity class NTIME(f(n)) is the set of decision problems that can be solved by a non-deterministic Turing machine which runs in time O(f(n)).

New!!: NP (complexity) and NTIME · See more »

P (complexity)

In computational complexity theory, P, also known as PTIME or DTIME(nO(1)), is a fundamental complexity class.

New!!: NP (complexity) and P (complexity) · See more »

P versus NP problem

The P versus NP problem is a major unsolved problem in computer science.

New!!: NP (complexity) and P versus NP problem · See more »

Polynomial hierarchy

In computational complexity theory, the polynomial hierarchy (sometimes called the polynomial-time hierarchy) is a hierarchy of complexity classes that generalize the classes P, NP and co-NP to oracle machines.

New!!: NP (complexity) and Polynomial hierarchy · See more »

Primality test

A primality test is an algorithm for determining whether an input number is prime.

New!!: NP (complexity) and Primality test · See more »

Probabilistically checkable proof

In computational complexity theory, a probabilistically checkable proof (PCP) is a type of proof that can be checked by a randomized algorithm using a bounded amount of randomness and reading a bounded number of bits of the proof.

New!!: NP (complexity) and Probabilistically checkable proof · See more »

Propositional calculus

Propositional calculus is a branch of logic.

New!!: NP (complexity) and Propositional calculus · See more »


In computational complexity theory, PSPACE is the set of all decision problems that can be solved by a Turing machine using a polynomial amount of space.

New!!: NP (complexity) and PSPACE · See more »

Ron Rivest

Ronald Linn Rivest (born May 6, 1947) is a cryptographer and an Institute Professor at MIT.

New!!: NP (complexity) and Ron Rivest · See more »

Search problem

In computational complexity theory and computability theory, a search problem is a type of computational problem represented by a binary relation.

New!!: NP (complexity) and Search problem · See more »

Second-order logic

In logic and mathematics second-order logic is an extension of first-order logic, which itself is an extension of propositional logic.

New!!: NP (complexity) and Second-order logic · See more »

Set (mathematics)

In mathematics, a set is a collection of distinct objects, considered as an object in its own right.

New!!: NP (complexity) and Set (mathematics) · See more »

Space hierarchy theorem

In computational complexity theory, the space hierarchy theorems are separation results that show that both deterministic and nondeterministic machines can solve more problems in (asymptotically) more space, subject to certain conditions.

New!!: NP (complexity) and Space hierarchy theorem · See more »

Subgraph isomorphism problem

In theoretical computer science, the subgraph isomorphism problem is a computational task in which two graphs G and H are given as input, and one must determine whether G contains a subgraph that is isomorphic to H. Subgraph isomorphism is a generalization of both the maximum clique problem and the problem of testing whether a graph contains a Hamiltonian cycle, and is therefore NP-complete.

New!!: NP (complexity) and Subgraph isomorphism problem · See more »

Subset sum problem

In computer science, the subset sum problem is an important problem in complexity theory and cryptography.

New!!: NP (complexity) and Subset sum problem · See more »

Thomas H. Cormen

Thomas H. Cormen is the co-author of Introduction to Algorithms, along with Charles Leiserson, Ron Rivest, and Cliff Stein.

New!!: NP (complexity) and Thomas H. Cormen · See more »

Time complexity

In computer science, the time complexity is the computational complexity that describes the amount of time it takes to run an algorithm.

New!!: NP (complexity) and Time complexity · See more »

Time hierarchy theorem

In computational complexity theory, the time hierarchy theorems are important statements about time-bounded computation on Turing machines.

New!!: NP (complexity) and Time hierarchy theorem · See more »

Travelling salesman problem

The travelling salesman problem (TSP) asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city and returns to the origin city?" It is an NP-hard problem in combinatorial optimization, important in operations research and theoretical computer science.

New!!: NP (complexity) and Travelling salesman problem · See more »

Turing machine

A Turing machine is a mathematical model of computation that defines an abstract machine, which manipulates symbols on a strip of tape according to a table of rules.

New!!: NP (complexity) and Turing machine · See more »

Union (set theory)

In set theory, the union (denoted by ∪) of a collection of sets is the set of all elements in the collection.

New!!: NP (complexity) and Union (set theory) · See more »

Witness (mathematics)

In mathematical logic, a witness is a specific value t to be substituted for variable x of an existential statement of the form ∃x φ(x) such that φ(t) is true.

New!!: NP (complexity) and Witness (mathematics) · See more »

Redirects here:

Class NP, Complexity class NP, NP (class), NP (complexity class), NP Class, NP class, NP-Class, NP-Problem, NP-class, NP-problem, Nondeterministic Polynomial, Nondeterministic polynomial, Nondeterministic polynomial time, Np (complexity).


[1] https://en.wikipedia.org/wiki/NP_(complexity)

Hey! We are on Facebook now! »