language-icon Old Web
English
Sign In

Parameterized complexity

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 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 by the number of bits in the input. The first systematic work on parameterized complexity was done by Downey & Fellows (1999). 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 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 by the number of bits in the input. The first systematic work on parameterized complexity was done by Downey & Fellows (1999). Under the assumption that P ≠ NP, there exist many natural problems that require superpolynomial 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 k. Hence, if k is fixed at a small value and the growth of the function over 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 (or at least superpolynomial) 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 for small values of the fixed parameter. Problems in which some parameter 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 FPT, and the early name of the theory of parameterized complexity was fixed-parameter tractability. Many problems have the following form: given an object x and a nonnegative integer k, does x have some property that depends on 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 which is exponential only in 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: For example, there is an algorithm which solves the vertex cover problem in O ( k n + 1.274 k ) {displaystyle O(kn+1.274^{k})} time, where n is the number of vertices and 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. FPT contains the fixed parameter tractable problems, which are those that can be solved in time f ( k ) ⋅ | x | O ( 1 ) {displaystyle f(k)cdot {|x|}^{O(1)}} for some computable function f. Typically, this function is thought of as single exponential, such as 2 O ( k ) {displaystyle 2^{O(k)}} 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 f ( n , k ) {displaystyle f(n,k)} , such as n k {displaystyle n^{k}} . The class FPL (fixed parameter linear) is the class of problems solvable in time f ( k ) ⋅ | x | {displaystyle f(k)cdot |x|} for some computable function f Grohe (1999). FPL is thus a subclass of FPT. An example is the satisfiability problem, parameterised by the number of variables. A given formula of size m with k variables can be checked by brute force in time O ( 2 k m ) {displaystyle O(2^{k}m)} . A vertex cover of size k in a graph of order n can be found in time O ( 2 k n ) {displaystyle O(2^{k}n)} , so this problem is also in FPT.

[ "Algorithm", "Combinatorics", "Mathematical optimization", "Closest string", "Activity selection problem", "Average-case complexity", "regular model checking", "Kernelization" ]
Parent Topic
Child Topic
    No Parent Topic