Content deleted Content added
mNo edit summary |
natural parameter |
||
(4 intermediate revisions by 4 users not shown) | |||
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 "<math>(x, k) \in L</math>?" can be decided in running time <math>f(k) \cdot |x|^{O(1)}</math>, where {{mvar|f}} is an arbitrary function depending only on {{mvar|k}}. The corresponding [[complexity class]] is called '''FPT'''.
: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 that solves the vertex cover problem in <math>O(kn + 1.274^k)</math> time,<ref>{{harvnb|Chen|Kanj|Xia|2006}}</ref> where {{mvar|n}} is the number of vertices and {{mvar|k}} 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 (its natural parameter). == Complexity classes ==
Line 38 ⟶ 40:
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 79 ⟶ 82:
=== 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 ===
|