In computer science, fixed-parameter algorithms are an approach to attacking NP-hard problems with multiple inputs. It is believed to be difficult to find efficient, exact, deterministic solutions to these problems; all known solutions require time that is exponential in the total size of the inputs. However, it may be possible to find an algorithm which is exponential in the size of only one input and polynomial in the size of the other inputs. Such an algorithm is called a fixed-parameter algorithm, because if we fix the single troublesome input at any one value, the problem can be solved efficiently.
In particular, many problems have the following general form: given an object and a nonnegative integer , does have some property that depends on ? 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 , 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 , where is a finite alphabet. The second component is called the parameter of the problem.
- A parameterized problem is fixed-parameter tractable if the question “?” can be decided in running time , where is an arbitrary function depending only on . The corresponding complexity class is called FPT.
For example there is an algorithm which solves the vertex cover problem in time, where is the number of vertices and is the size of the vertex cover. This proves that vertex cover is fixed-parameter tractable with respect to this parameter.
References
- Downey, Rod (1997). Parameterized complexity. Springer.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) ISBN 0-387-94883-X