Parameterized complexity: Difference between revisions

Content deleted Content added
m Fix Category:Pages using citations with accessdate and no URL when perm identifier present (doi|bibcode|arxiv|pmid|jstor|isbn|issn|lccn|oclc|ismn|hdl): rem access-date using AWB
m \mathsf
Line 2:
The first systematic work on parameterized complexity was done by {{harvtxt|Downey|Fellows|1999}}.
 
Under the assumption that [[P versus NP problem|P&nbsp;≠&nbsp;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 <math>{{mvar|k</math>}}. Hence, if <math>{{mvar|k</math>}} is fixed at a small value and the growth of the function over <math>{{mvar|k</math>}} 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 time|exponential]] (or at least superpolynomial) 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 <math>{{mvar|k</math>}} 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 <math>{{sans-serif|FPT</math>}}, and the early name of the theory of parameterized complexity was '''fixed-parameter tractability'''.
 
Many problems have the following form: given an object <math>{{mvar|x</math>}} and a nonnegative integer <math>{{mvar|k</math>}}, does <math>{{mvar|x</math>}} have some property that depends on <math>{{mvar|k</math>}}? 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 <math>{{mvar|k</math>}}, 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:
Line 14:
:A ''parameterized problem'' is a language <math>L \subseteq \Sigma^* \times \N</math>, where <math>\Sigma</math> is a finite alphabet. The second component is called the ''parameter'' of the problem.
 
:A parameterized problem <math>{{mvar|L</math>}} is ''fixed-parameter tractable'' if the question &ldquo;<math>(x, k) \in L</math>?&rdquo; can be decided in running time <math>f(k) \cdot |x|^{O(1)}</math>, where <math>{{mvar|f</math>}} is an arbitrary function depending only on <math>{{mvar|k</math>}}. The corresponding complexity class is called '''FPT'''.
 
For example, there is an algorithm which solves the vertex cover problem in <math>O(kn + 1.274^k)</math> time, <ref>{{harvnb|Chen|Kanj|Xia|2006}}</ref> where <math>{{mvar|n</math>}} is the number of vertices and <math>{{mvar|k</math>}} 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.
 
== Complexity classes ==
 
=== FPT ===
FPT contains the ''fixed parameter tractable'' problems, which are those that can be solved in time <math>f(k) \cdot {|x|}^{O(1)}</math> for some computable function <math>{{mvar|f</math>}}. Typically, this function is thought of as single exponential, such as <math>2^{O(k)}</math> 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 <math>f(n,k)</math>, such as <math>n^k</math>. The class '''FPL''' (fixed parameter linear) is the class of problems solvable in time <math>f(k) \cdot |x|</math> for some computable function <math>{{mvar|f</math>}} {{harvtxt|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 <math>{{mvar|m</math>}} with <math>{{mvar|k</math>}} variables can be checked by brute force in time <math>O(2^km)</math>. A [[vertex cover]] of size <math>{{mvar|k</math>}} in a graph of order <math>{{mvar|n</math>}} can be found in time <math>O(2^kn)</math>, so this problem is also in FPT.
 
An example of a problem that is thought not 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 <math>{{mvar|k</math>}}-colouring in time <math>f(k)n^{O(1)}</math> for <math>k=3</math> 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 versus NP problem|P&nbsp;=&nbsp;NP]].
 
There are a number of alternative definitions of FPT. For example, the running time requirement can be replaced by <math>f(k) + |x|^{O(1)}</math>. 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.
Line 36:
The '''''W'' hierarchy''' is a collection of computational complexity classes. A parameterised problem is in the class ''W''[''i''], if every instance <math>(x, k)</math> can be transformed (in fpt-time) to a combinatorial circuit that has [[weft (circuit)|weft]] at most ''i'', such that <math>(x, k)\in L</math> 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 <math>\mathsf{FPT&nbsp;} =&nbsp;'' W''[0]</math> and <math>W[''i''] <math>\subseteq</math> ''W''[''j'']</math> for all <math>i\le j</math>. 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].
Line 52:
 
==== ''W''[''t''] ====
<math>W[t]</math> can be defined using the family of Weighted Weft-<math>{{mvar|t</math>}}-Depth-<math>{{mvar|d</math>}} SAT problems for <math>d\geq t</math>:
<math>W[t,d]</math> is the class of parameterized problems that fpt-reduce to this problem, and <math>W[t] = \bigcup_{d\geq t} W[t,d]</math>.
 
Here, '''Weighted Weft-<math>{{mvar|t</math>}}-Depth-<math>{{mvar|d</math>}} SAT''' is the following problem:
 
* Input: A Boolean formula of depth at most <math>{{mvar|d</math>}} and weft at most <math>{{mvar|t</math>}}, and a number <math>{{mvar|k</math>}}. The ''depth'' is the maximal number of gates on any path from the root to a leaf, and the ''weft'' is the maximal number of gates ''of fan-in at least three'' on any path from the root to a leaf.
* Question: Does the formula have a satisfying assignment of Hamming weight at most <math>{{mvar|k</math>}}?
 
It can be shown that the problem Weighted <math>{{mvar|t</math>}}-Normalize SAT is complete for <math>W[t]</math> under fpt-reductions.<ref>{{cite journal |author=Buss, Jonathan F, Islam, Tarique |title=Simplifying the weft hierarchy |journal=Theoretical Computer Science |year=2006 |volume=351 |number=3 |pages=303–313 |publisher=Elsevier |doi=10.1016/j.tcs.2005.10.002}}</ref>
Here, '''Weighted <math>{{mvar|t</math>}}-Normalize SAT''' is the following problem:
 
* Input: A Boolean formula of depth at most <math>{{mvar|t</math>}} with an AND-gate on top, and a number <math>{{mvar|k</math>}}.
* Question: Does the formula have a satisfying assignment of Hamming weight at most <math>{{mvar|k</math>}}?
 
==== ''W''[''P''] ====
Line 71:
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 <math>\exp(o(n))m^{O(1)}</math>, 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&nbsp;''P''.
 
=== XP ===
'''XP''' is the class of parameterized problems that can be solved in time <math>n^{f(k)}</math> for some computable function <math>{{mvar|f</math>}}.
 
{{Expand section|date=April 2011}}