Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Parameterized complexity
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== 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</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 {{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 the vertex cover problem is also in FPL. 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}}-coloring 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 = 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. FPT is closed under a parameterised notion of [[Reduction (complexity)|reductions]] called '''''fpt-reductions'''''. Such reductions transform an instance <math>(x,k)</math> of some problem into an equivalent instance <math>(x',k')</math> of another problem (with <math>k' \leq g(k)</math>) and can be computed in time <math>f(k)\cdot p(|x|)</math> where <math>p</math> is a polynomial. 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 that assigns 1 to exactly ''k'' inputs. The '''weft''' is the largest number of logical units with fan-in greater than two on any path from an input to the output. The total number of logical units on the paths (known as depth) must be limited by a constant that holds for all instances of the problem. 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}}</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] ==== Examples of ''W''[2]-complete problems include * deciding if a given graph contains a [[dominating set]] of size ''k'' * deciding if a given nondeterministic [[Turing machine equivalents#Multi-tape Turing machines|multi-tape Turing machine]] accepts within ''k'' steps ("short multi-tape Turing machine acceptance" problem). Crucially, the branching is allowed to depend on ''n'' (like the W[1] variant), as is the number of tapes. An alternate ''W''[2]-complete formulation allows only single-tape Turing machines, but the alphabet size may depend on ''n''. ==== ''W''[''t''] ==== <math>W[t]</math> can be defined using the family of Weighted Weft-{{mvar|t}}-Depth-{{mvar|d}} 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-{{mvar|t}}-Depth-{{mvar|d}} SAT''' is the following problem: * 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]] exactly {{mvar|k}}? 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 |last1=Buss |first1=Jonathan F |last2=Islam |first2=Tarique |title=Simplifying the weft hierarchy |journal=[[Theoretical Computer Science (journal)|Theoretical Computer Science]] |year=2006 |volume=351 |number=3 |pages=303β313 |doi=10.1016/j.tcs.2005.10.002|doi-access=free }}</ref> 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 exactly {{mvar|k}}? ==== ''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 choices in the computation on <math>(x,k)</math> (a ''k''-restricted Turing machine). {{harvtxt|Flum|Grohe|2006}} 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 {{mvar|S}} of {{mvar|n}} items, and we want to find a subset <math>T \subset S</math> of size {{mvar|k}} such that a certain property holds. We can encode a choice as a list of {{mvar|k}} integers, stored in binary. Since the highest any of these numbers can be is {{mvar|n}}, <math>\lceil\log_2 n\rceil</math> bits are needed for each number. Therefore <math>k \cdot \lceil\log_2 n\rceil </math> total bits are needed to encode a choice. Therefore we can select a subset <math>T\subset S</math> with <math>O(k\cdot \log n)</math> nondeterministic choices. === 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 [[nondeterministic algorithm]] in time <math>f(k) \cdot |x|^{O(1)}</math> for some computable function {{mvar|f}}. It is known that <math>\textsf{FPT}=\textsf{para-NP}</math> if and only if <math>\textsf{P}=\textsf{NP}</math>.{{sfnp|Flum|Grohe|2006|page=39}} A problem is '''para-NP-hard''' if it is <math>\textsf{NP}</math>-hard already for a constant value of the parameter. That is, there is a "slice" of fixed {{mvar|k}} that is <math>\textsf{NP}</math>-hard. A parameterized problem that is <math>\textsf{para-NP}</math>-hard cannot belong to the class <math>\textsf{XP}</math>, unless <math>\textsf{P}=\textsf{NP}</math>. A classic example of a <math>\textsf{para-NP}</math>-hard parameterized problem is [[graph coloring]], parameterized by the number {{mvar|k}} of colors, which is already <math>\textsf{NP}</math>-hard for <math>k=3</math> (see [[Graph coloring#Computational complexity]]). === 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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)