Book contents
1 - The complexity of enumeration
Published online by Cambridge University Press: 05 August 2013
Summary
Basics of complexity
The basic notions of computational complexity are now familiar concepts in most branches of mathematics. One of the main purposes of the theory is to separate tractable problems from the apparently intractable. Deciding whether or not P = NP is a fundamental problem in theoretical computer science. We will give a brief informal review of the main concepts.
We regard a computational problem as a function, mapping inputs to solutions, (graphs to the number of their 3-vertex colourings for example). A function is polynomial time computable if there exists an algorithm which computes the function in a length of time (number of steps) bounded by a polynomial in the size of the problem instance. The class of such functions we denote by FP. If A and B are two problems we say that A is polynomial time Taring reducible to B, written A ∞ B, if it is possible with the aid of a subroutine for problem B to solve A in polynomial time, in other words the number of steps needed to solve A (apart from calls to the subroutine for B) is polynomially bounded.
The difference between the widely used P and the class FP is that, strictly speaking, both P and NP refer to decision problems.
A typical member of NP is the following classical problem known as SATISFIABILITY, and often abbreviated to SAT.
- Type
- Chapter
- Information
- Complexity: Knots, Colourings and Countings , pp. 1 - 19Publisher: Cambridge University PressPrint publication year: 1993