Content deleted Content added
m Edited sentence to indicate that problems with EPTAS's are also FPT. |
natural parameter |
||
(40 intermediate revisions by 33 users not shown) | |||
Line 1:
{{Short description|
In [[computer science]], '''parameterized complexity''' is a branch of [[computational complexity theory]] that focuses on classifying [[computational problems]] according to their inherent difficulty with respect to ''multiple'' parameters of the input or output. The complexity of a problem is then measured as a [[Function (mathematics)|function]] of those parameters. This allows the classification of [[NP-hard]] problems on a finer scale than in the classical setting, where the complexity of a problem is only measured
Under the assumption that [[P versus NP problem|P ≠ NP]], there exist many natural problems that require
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]] (
Problems in which some parameter {{mvar|k}} is fixed are called parameterized problems. A parameterized problem that allows for such an
Many problems have the following form: given an object {{mvar|x}} and a nonnegative integer {{mvar|k}}, does {{mvar|x}} have some property that depends on {{mvar|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 challenging to find an algorithm
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 {{mvar|L}} is ''fixed-parameter tractable'' if the question
:A parameterized problem uses the ''natural parameter'' when its parameter is the size of the solution to the problem.
For example, there is an algorithm == 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 {{mvar|f}}. 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>k^n
The class '''FPL''' (fixed parameter linear) is the class of problems solvable in time <math>f(k) \cdot |x|</math> for some computable function {{mvar|f}}.<ref>{{harvtxt|Grohe|1999}}</ref> FPL is thus a subclass of FPT. An example is the [[Boolean satisfiability]] problem, parameterised by the number of variables. A given formula of size {{mvar|m}} with {{mvar|k}} variables can be checked by brute force in time <math>O(2^km)</math>. A [[vertex cover]] of size {{mvar|k}} in a graph of order {{mvar|n}} can be found in time <math>O(2^kn)</math>, so
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 {{mvar|k}}-
There are a number of alternative definitions of FPT. For example, the running
FPT is closed under a parameterised notion of [[Reduction (complexity)|
Obviously, FPT contains all polynomial-time computable problems. Moreover, it contains all optimisation problems in NP that allow an [[Efficient polynomial-time approximation scheme|efficient polynomial-time approximation scheme (EPTAS)]].
=== ''W'' hierarchy ===
The '''''W'' hierarchy''' is a collection of computational complexity classes. A parameterized 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
Note that <math>\mathsf{FPT} = W[0]</math> and <math>W[i] \subseteq W[j]</math> for all <math>i\le j</math>. The classes in the ''W'' hierarchy are also closed under fpt-reduction.
A complete problem for ''W''[''i''] is '''Weighted ''i''-Normalized Satisfiability''':<ref>{{cite journal |last1=Downey |first1=Rod G. |last2=Fellows |first2=Michael R. |title=Fixed-Parameter Tractability and Completeness I: Basic Results |journal=SIAM Journal on Computing |date=August 1995 |volume=24 |issue=4 |pages=873–921 |doi=10.1137/S0097539792228228 |url=https://doi.org/10.1137/S0097539792228228 |language=en |issn=0097-5397|url-access=subscription }}</ref> given a Boolean formula written as an AND of ORs of ANDs of ... of possibly negated variables, with <math>i+1</math> layers of ANDs or ORs (and ''i'' alternations between AND and OR), can it be satisfied by setting exactly ''k'' variables to 1?
Many natural computational problems occupy the lower levels, ''W''[1] and ''W''[2].
==== ''W''[1] ====
{{Redirect|W(1)|the mathematical constant|omega constant}}
Examples of ''W''[1]-complete problems include
* deciding if a given graph contains a [[Clique (graph theory)|clique]] of size ''k''
* deciding if a given graph contains an [[Independent set (graph theory)|independent set]] of size ''k''
* deciding if a given nondeterministic single-tape Turing machine accepts within ''k'' steps ("short Turing machine acceptance" problem). This also applies to nondeterministic [[Turing machine|Turing machines]] with ''f''(''k'') tapes and even ''f''(''k'') of ''f''(''k'')-dimensional tapes, but even with this extension, the restriction to ''f''(''k'') tape alphabet size is fixed-parameter tractable. Crucially, the branching of the Turing machine at each step is allowed to depend on ''n'', the size of the input. In this way, the Turing machine may explore ''n''<sup>O(''k'')</sup> computation paths.
==== ''W''[2] ====
Line 58 ⟶ 63:
* Input: A Boolean formula of depth at most {{mvar|d}} and weft at most {{mvar|t}}, and a number {{mvar|k}}. 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]]
It can be shown that for <math>t\geq2</math> the problem Weighted {{mvar|t}}-Normalize SAT is complete for <math>W[t]</math> under fpt-reductions.<ref>{{cite journal |
Here, '''Weighted {{mvar|t}}-Normalize SAT''' is the following problem:
* Input: A Boolean formula of depth at most {{mvar|t}} with an AND-gate on top, and a number {{mvar|k}}.
* Question: Does the formula have a satisfying assignment of Hamming weight
==== ''W''[''P''] ====
''W''[''P''] is the class of problems that can be decided by a nondeterministic <math>h(k) \cdot {|x|}^{O(1)}</math>-time Turing machine that makes at most <math>O(f(k)\cdot \log n)</math> nondeterministic
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 {{tmath|f(n)\log n}} nondeterministic choices are in ''P''.
''W''[''P''] can be loosely thought of as the class of problems where we have a set
=== XP ===
'''XP''' is the class of parameterized problems that can be solved in time <math>n^{f(k)}</math> for some computable function {{mvar|f}}. These problems are called [[slicewise]] polynomial, in the sense that each "slice" of fixed k has a polynomial algorithm, although possibly with a different exponent for each k. Compare this with FPT, which merely allows a different constant prefactor for each value of k. XP contains FPT, and it is known that this containment is strict by diagonalization.
=== para-NP ===
'''para-NP''' is the class of parameterized problems that can be solved by a [[
A problem is '''para-NP-hard''' if it is <math>\
=== A hierarchy ===
The '''A hierarchy''' is a collection of computational complexity classes similar to the W hierarchy. However, while the W hierarchy is a hierarchy contained in NP, the A hierarchy more closely mimics the [[polynomial-time hierarchy]] from classical complexity. It is known that A[1] = W[1] holds.
== See also ==
* [[Parameterized approximation algorithm]], for [[Optimization problem|optimization problems]] an algorithm running in FPT time might [[Approximation algorithm|approximate]] the solution.
== Notes ==
Line 92 ⟶ 99:
== References ==
* {{cite
|first1 = Jianer
|last1 = Chen
Line 100 ⟶ 107:
|last3 = Xia
|title = Improved Parameterized Upper Bounds for Vertex Cover
|conference = Mathematical Foundations of Computer Science
|publisher = Springer
|publication-place = Berlin, Heidelberg
|volume = 4162▼
|pages = 238–249
|year = 2006
|doi = 10.1007/11821069_21
▲|volume = 4162
|isbn = 978-3-540-37791-7
|citeseerx = 10.1.1.432.831
Line 126 ⟶ 133:
}}
* {{cite book
|
|
|authorlink = Rod Downey
|last2 = Fellows
Line 137 ⟶ 144:
|url = https://www.springer.com/sgw/cda/frontpage/0,11855,5-0-22-1519914-0,00.html?referer=www.springer.de%2Fcgi-bin%2Fsearch_book.pl%3Fisbn%3D0-387-94883-X
|isbn = 978-0-387-94883-6
}}
* {{cite book
|
|
|authorlink = Jörg Flum
|last2 = Grohe
Line 151 ⟶ 157:
|url = https://www.springer.com/east/home/generic/search/results?SGWID=5-40109-22-141358322-0
|isbn = 978-3-540-29952-3
}}
*{{cite book
Line 161 ⟶ 166:
|title=Kernelization: Theory of Parameterized Preprocessing
|publisher=Cambridge University Press
|isbn=978-1107057760
|doi=10.1017/9781107415157
|page=528
}}
*{{cite book
|last1=Gurevich|first1=Yuri
|last2=Stockmeyer|first2=Larry
|last3=Vishkin|first3=Uzi
|year=1984
|title=Solving NP-hard problems on graphs that are almost trees and an application to facility ___location problems
|publisher=Journal of the ACM
|page=459-473}}
* {{cite book
|first = Rolf
Line 173 ⟶ 187:
|url = http://www.oup.com/uk/catalogue/?ci=9780198566076
|isbn = 978-0-19-856607-6
|url-status = dead
|
|
}}
* {{cite book
Line 190 ⟶ 203:
|pages = 14–31
|isbn = 978-3-540-66536-6
|doi = 10.1007/3-540-48168-0_3
|citeseerx = 10.1.1.25.9250
}}
* [[The Computer Journal]]. Volume 51, Numbers 1 and 3 (2008). [https://web.archive.org/web/20051125014940/http://comjnl.oxfordjournals.org/ The Computer Journal]. Special Double Issue on Parameterized Complexity with 15 survey articles, book review, and a Foreword by Guest Editors R. Downey, M. Fellows and M. Langston.
== External links ==
Line 200 ⟶ 212:
* [http://www.sprg.uniroma2.it/home/cesati/research/compendium/ Compendium of Parameterized Problems]
[[Category:Computational complexity theory]]▼
[[Category:Parameterized complexity| ]]
▲[[Category:Computational complexity theory]]
|