Klam value

From HandWiki

In the parameterized complexity of algorithms, the klam value of a parameterized algorithm is a number that bounds the parameter values for which the algorithm might reasonably be expected to be practical.[1][2] and has since been used by other researchers in parameterized complexity both as a way of comparing different algorithms to each other and in order to set goals for future algorithmic improvements.


An algorithm is said to be fixed-parameter tractable if the number of elementary operations it performs has a bound of the form [math]\displaystyle{ O(n^c)+f(k) }[/math], where [math]\displaystyle{ n }[/math] is some measure of the input size (such as the number of vertices in a graph), [math]\displaystyle{ k }[/math] is a parameter describing the complexity of the input (such as the treewidth of the graph), [math]\displaystyle{ c }[/math] is a constant that does not depend on [math]\displaystyle{ n }[/math] or [math]\displaystyle{ k }[/math], and [math]\displaystyle{ f }[/math] is a computable function.

Given a time bound of this form, the klam value of the algorithm (or more properly of the time bound) is defined to be the largest value of [math]\displaystyle{ k }[/math] such that [math]\displaystyle{ f(k) }[/math] does not exceed "some reasonable absolute bound on the maximum number of steps of any computation".[1] More precisely both (Downey Fellows) and (Niedermeier 1998) use the number 1020 as this bound, and this has been followed by later researchers. To prevent artificially improving the klam value of an algorithm by putting more of its complexity into the [math]\displaystyle{ O(n^c) }[/math] part of the time bound, (Downey Fellows) also limit [math]\displaystyle{ c }[/math] to be at most three, valid for many known fixed-parameter tractable algorithms.


(Niedermeier 1998) cites the example of vertex cover, with its natural parameter (the number of vertices in the cover). At that time the best known parameterized time bound had [math]\displaystyle{ f(k)=O(k^2 1.3248^k) }[/math]. Solving [math]\displaystyle{ k^2 1.3248^k=10^{20} }[/math] gives a klam value of approximately 129. However, the [math]\displaystyle{ k^2 }[/math] part of the time bound can be simplified out of it, giving a bound of the form [math]\displaystyle{ O(1.3248^k) }[/math] with both a larger constant factor hidden in the O-notation and a larger base of the exponent hidden in its approximate decimal value. For a simple exponential bound [math]\displaystyle{ f(k)=c^k }[/math]such as this one, one can solve directly [math]\displaystyle{ k=20/\log_{10} c }[/math] from which Niedermeier derives a klam value of approximately 165. Subsequent research has developed parameterized vertex cover algorithms with [math]\displaystyle{ f(k)=O(1.2738^k) }[/math][3] giving a klam value of approximately 190. That is, one can conclude from this analysis that vertex cover instances with cover size greater than 190 are out of reach of this algorithm, but instances whose cover size is sufficiently far below this limit are likely to be solvable.

Another example of a problem in which the klam value has been explicitly used as a goal for future research is the maximum leaf spanning tree problem, in which the goal is to find a spanning tree of a graph with as many leaf nodes as possible (parameterized by the number of leaves). (Fellows McCartin) develop an algorithm for this problem which they compare using the klam value to previous work on the same problem: previous algorithms had klam values of 1 and 5, and theirs has a klam value of 16.[4] However, they also suggest that it should be possible to provide improved algorithms for this problem with a klam value of at least 50. Although this remains open, several later papers have incrementally improved the klam value of this problem to 37.[5]


  1. 1.0 1.1 Niedermeier, Rolf (1999), "Some prospects for efficient fixed parameter algorithms", in Rovan, Branislav, Parameterized Complexity, Monographs in Computer Science, 1521, Springer, pp. 13–14, doi:10.1007/978-1-4612-0515-9, ISBN 0-387-94883-X .
  2. (Niedermeier 1998) uses the klam value and was published earlier than (Downey Fellows), but gives credit to Downey and Fellows for the concept.
  3. Chen, Jianer; Kanj, Iyad A.; Xia, Ge (2006), "Improved parameterized upper bounds for vertex cover", MFCS 2006: Mathematical Foundations of Computer Science, Lecture Notes in Computer Science, 4162, Springer, pp. 238–249, doi:10.1007/11821069_21 .
  4. "Coordinatized kernels and catalytic reductions: an improved FPT algorithm for max leaf spanning tree and other problems", FST-TCS 2000: Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Comput. Sci., 1974, Springer, Berlin, 2000, pp. 240–251, doi:10.1007/3-540-44450-5_19 .
  5. Binkele-Raible, Daniel; Fernau, Henning (2014), "A parameterized measure-and-conquer analysis for finding a k-leaf spanning tree in an undirected graph", Discrete Mathematics & Theoretical Computer Science 16 (1): 179–200 .