Parameterized complexity
Encyclopedia
Parameterized complexity is a branch of computational complexity theory
in computer science
that focuses on classifying computational problems according to their inherent difficulty with respect to multiple parameters of the input. The complexity of a problem is then measured as a function
in those parameters. This allows to classify NP-hard
problems on a finer scale than in the classical setting, where the complexity of a problem is only measured by the number of bits in the input.
The first systematic work on parameterized complexity was done by .
Under the assumption that P ≠ NP, there exist many natural problems that require superpolynomial running time
when complexity is measured in terms of the input size only, but that are computable in a time that is polynomial in the input size and exponential or worse in a parameter k. Hence, if k is fixed at a small value and the growth of the function over k is relatively small then such problems can still be considered "tractable" despite their traditional classification as "intractable".
The existence of efficient, exact, and deterministic solving algorithms for NP-complete
, or otherwise NP-hard
, problems is considered unlikely, if input parameters are not fixed; all known solving algorithms for these problems require time that is exponential in the total size of the input. However, some problems can be solved by algorithms that are exponential only in the size of a fixed parameter while polynomial in the size of the input. Such an algorithm is called a fixed-parameter tractable (fpt-)algorithm, because the problem can be solved efficiently for small values of the fixed parameter.
Problems in which some parameter k is fixed are called parameterized problems. A parameterized problem that allows for such an fpt-algorithm is said to be a fixed-parameter tractable problem and belongs to the class , and the early name of the theory of parameterized complexity was fixed-parameter tractability.
Many problems have the following form: given an object and a nonnegative integer k, does x have some property that depends on k? For instance, for the vertex cover problem, the parameter can be the number of vertices in the cover. In many applications, for example when modelling error correction, one can assume the parameter to be "small" compared to the total input size. Then it is interesting to see whether we can find an algorithm which is exponential only in k, and not in the input size.
In this way, parameterized complexity can be seen as two-dimensional complexity theory. This concept is formalized as follows:
For example, there is an algorithm which solves the vertex cover problem in time , where is the number of vertices and is the size of the vertex cover. This means that vertex cover is fixed-parameter tractable with the size of the solution as the parameter.
An example is the satisfiability problem, parameterised by the number of variables. A given formula of size m with k variables can be checked by brute force in time . A vertex cover
of size k in a graph of order n can be found in time , so this problem is also in FPT.
An example of a problem that is not supposed to be in FPT is graph coloring
parameterised by the number of colors. It is known that 3-coloring is NP-hard
, and an algorithm for graph k-colouring in time for k=3 would run in polynomial time in the size of the input. Thus, if graph coloring parameterised by the number of colors were in FPT, then P=NP.
There are a number of alternative definitions of FPT. For example, the running time requirement can be replaced by . Also, a parameterised problem is in FPT if it has a so-called kernel. Kernelization
is a preprocessing technique that reduces the original instance to its “hard kernel”, a possibly much smaller instance that is equivalent to the original instance but has a size that is bounded by a function in the parameter.
FPT is closed under a parameterised reduction
called fpt-reduction, which simultaneously preserves the instance size and the parameter.
Obviously, FPT contains all polynomial-time computable problems. Moreover, it contains all optimisation problems in NP that allow a Fully polynomial-time approximation scheme.
Note that FPT = W[0] and W[i] W[j] for all . The classes in the W hierarchy are also closed under fpt-reduction.
Many natural computational problems occupy the lower levels, W[1] and W[2].
It is known that FPT is contained in W[P], and the inclusion is believed to be strict. However, resolving this issue would imply a solution to the P versus NP problem.
Other connections to unparameterised computational complexity are that FPT equals W[P] if and only if circuit satisfiability can be decided in time , or if and only if there is a computable, nondecreasing, unbounded function f such that all languages recognised by a nondeterministic polynomial-time Turing machine using f(n)log n nondeterministic choices are in P.
Computational complexity theory
Computational complexity theory is a branch of the theory of computation in theoretical computer science and mathematics that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other...
in computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
that focuses on classifying computational problems according to their inherent difficulty with respect to multiple parameters of the input. The complexity of a problem is then measured as a function
Function (mathematics)
In mathematics, a function associates one quantity, the argument of the function, also known as the input, with another quantity, the value of the function, also known as the output. A function assigns exactly one output to each input. The argument and the value may be real numbers, but they can...
in those parameters. This allows to classify NP-hard
NP-hard
NP-hard , in computational complexity theory, is a class of problems that are, informally, "at least as hard as the hardest problems in NP". A problem H is NP-hard if and only if there is an NP-complete problem L that is polynomial time Turing-reducible to H...
problems on a finer scale than in the classical setting, where the complexity of a problem is only measured by the number of bits in the input.
The first systematic work on parameterized complexity was done by .
Under the assumption that P ≠ NP, there exist many natural problems that require superpolynomial running time
Running Time
Running Time may refer to:* Running Time * see Analysis of algorithms...
when complexity is measured in terms of the input size only, but that are computable in a time that is polynomial in the input size and exponential or worse in a parameter k. Hence, if k is fixed at a small value and the growth of the function over k is relatively small then such problems can still be considered "tractable" despite their traditional classification as "intractable".
The existence of efficient, exact, and deterministic solving algorithms for NP-complete
NP-complete
In computational complexity theory, the complexity class NP-complete is a class of decision problems. A decision problem L is NP-complete if it is in the set of NP problems so that any given solution to the decision problem can be verified in polynomial time, and also in the set of NP-hard...
, or otherwise NP-hard
NP-hard
NP-hard , in computational complexity theory, is a class of problems that are, informally, "at least as hard as the hardest problems in NP". A problem H is NP-hard if and only if there is an NP-complete problem L that is polynomial time Turing-reducible to H...
, problems is considered unlikely, if input parameters are not fixed; all known solving algorithms for these problems require time that is exponential in the total size of the input. However, some problems can be solved by algorithms that are exponential only in the size of a fixed parameter while polynomial in the size of the input. Such an algorithm is called a fixed-parameter tractable (fpt-)algorithm, because the problem can be solved efficiently for small values of the fixed parameter.
Problems in which some parameter k is fixed are called parameterized problems. A parameterized problem that allows for such an fpt-algorithm is said to be a fixed-parameter tractable problem and belongs to the class , and the early name of the theory of parameterized complexity was fixed-parameter tractability.
Many problems have the following form: given an object and a nonnegative integer k, does x have some property that depends on k? For instance, for the vertex cover problem, the parameter can be the number of vertices in the cover. In many applications, for example when modelling error correction, one can assume the parameter to be "small" compared to the total input size. Then it is interesting to see whether we can find an algorithm which is exponential only in k, and not in the input size.
In this way, parameterized complexity can be seen as two-dimensional complexity theory. This concept is formalized as follows:
- A parameterized problem is a language , where is a finite alphabet. The second component is called the parameter of the problem.
- A parameterized problem is fixed-parameter tractable if the question “?” can be decided in running time , where is an arbitrary function depending only on . The corresponding complexity class is called FPT.
For example, there is an algorithm which solves the vertex cover problem in time , where is the number of vertices and is the size of the vertex cover. This means that vertex cover is fixed-parameter tractable with the size of the solution as the parameter.
FPT
FPT contains the fixed parameter tractable problems, which are those that can be solved in time for some computable function f. Typically, this function is thought of as single exponential, such as but the definition admits functions that grow even faster. This is essential for a large part of the early history of this class. The crucial part of the definition is to exclude functions of the form , such as . The class FPL is the class with problems solvable in time for some computable function f [Grohe, 1999]. FPL is thus a subclass of FPT.An example is the satisfiability problem, parameterised by the number of variables. A given formula of size m with k variables can be checked by brute force in time . A vertex cover
Vertex cover
In the mathematical discipline of graph theory, a vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex of the set....
of size k in a graph of order n can be found in time , so this problem is also in FPT.
An example of a problem that is not supposed to be in FPT is graph coloring
Graph coloring
In graph theory, graph coloring is a special case of graph labeling; it is an assignment of labels traditionally called "colors" to elements of a graph subject to certain constraints. In its simplest form, it is a way of coloring the vertices of a graph such that no two adjacent vertices share the...
parameterised by the number of colors. It is known that 3-coloring is NP-hard
NP-hard
NP-hard , in computational complexity theory, is a class of problems that are, informally, "at least as hard as the hardest problems in NP". A problem H is NP-hard if and only if there is an NP-complete problem L that is polynomial time Turing-reducible to H...
, and an algorithm for graph k-colouring in time for k=3 would run in polynomial time in the size of the input. Thus, if graph coloring parameterised by the number of colors were in FPT, then P=NP.
There are a number of alternative definitions of FPT. For example, the running time requirement can be replaced by . Also, a parameterised problem is in FPT if it has a so-called kernel. Kernelization
Kernelization
In computer science, a kernelization is an efficient algorithm that preprocesses instances of decision problems by mapping them to equivalent instances with a guaranteed upper bound on the size of the output, called the kernel of the instance. Kernelization is often achieved by applying a set of...
is a preprocessing technique that reduces the original instance to its “hard kernel”, a possibly much smaller instance that is equivalent to the original instance but has a size that is bounded by a function in the parameter.
FPT is closed under a parameterised reduction
Reduction (complexity)
In computability theory and computational complexity theory, a reduction is a transformation of one problem into another problem. Depending on the transformation used this can be used to define complexity classes on a set of problems....
called fpt-reduction, which simultaneously preserves the instance size and the parameter.
Obviously, FPT contains all polynomial-time computable problems. Moreover, it contains all optimisation problems in NP that allow a Fully polynomial-time approximation scheme.
W hierarchy
The W hierarchy is a collection of computational complexity classes. A parameterised problem is in the class W[i], if every instance can be transformed (in fpt-time) to a combinatorial circuit that has height at most i, such that if and only if there is a satisfying assignment to the inputs, which assigns 1 to at most k inputs. The height thereby is the largest number of logical units with unbounded fan-in on any path from an input to the output. The number of logical units with bounded fan-in on the paths must be limited by a constant that holds for all instances of the problem.Note that FPT = W[0] and W[i] W[j] for all . The classes in the W hierarchy are also closed under fpt-reduction.
Many natural computational problems occupy the lower levels, W[1] and W[2].
W[1]
W[1]-complete problems are- deciding if a given graph contains a cliqueClique (graph theory)In the mathematical area of graph theory, a clique in an undirected graph is a subset of its vertices such that every two vertices in the subset are connected by an edge. Cliques are one of the basic concepts of graph theory and are used in many other mathematical problems and constructions on graphs...
of size k - deciding if a given graph contains an independent setIndependent set (graph theory)In graph theory, an independent set or stable set is a set of vertices in a graph, no two of which are adjacent. That is, it is a set I of vertices such that for every two vertices in I, there is no edge connecting the two. Equivalently, each edge in the graph has at most one endpoint in I...
of size k - deciding if a given nondeterministic single-tape Turing machine accepts within k steps ("short Turing machine acceptance" problem)
W[2]
W[2]-complete problems are- deciding if a given graph contains a dominating setDominating setIn graph theory, a dominating set for a graph G = is a subset D of V such that every vertex not in D is joined to at least one member of D by some edge...
of size k - deciding if a given nondeterministic multi-tape Turing machine accepts within k steps ("short multi-tape Turing machine acceptance" problem)
W[P]
W[P] is the class of problems that can be decided by a nondeterministic polynomial-time Turing-machine that makes at most nondeterministic choices in the computation on (a k-restricted Turing-machine).It is known that FPT is contained in W[P], and the inclusion is believed to be strict. However, resolving this issue would imply a solution to the P versus NP problem.
Other connections to unparameterised computational complexity are that FPT equals W[P] if and only if circuit satisfiability can be decided in time , or if and only if there is a computable, nondecreasing, unbounded function f such that all languages recognised by a nondeterministic polynomial-time Turing machine using f(n)log n nondeterministic choices are in P.