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!
{{Short description|Branch of computational complexity theory}} 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 as a function of the number of bits in the input. This appears to have been first demonstrated in {{harvtxt|Gurevich|Stockmeyer|Vishkin|1984}}. The first systematic work on parameterized complexity was done by {{harvtxt|Downey|Fellows|1999}}. Under the assumption that [[P versus NP problem|P β NP]], there exist many natural problems that require super-polynomial [[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 {{mvar|k}}. Hence, if {{mvar|k}} is fixed at a small value and the growth of the function over {{mvar|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 time|exponential]] (so in particular super-polynomial) 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 (i.e., in polynomial time) for constant values of the fixed parameter. Problems in which some parameter {{mvar|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 {{sans-serif|FPT}}, and the early name of the theory of parameterized complexity was '''fixed-parameter tractability'''. 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 that is exponential ''only'' in {{mvar|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 <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'''. 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.
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)