Recognizing k-leaf powers in polynomial time, for constant k
A graph G is a k-leaf power if there exists a tree T whose leaf set is V(G), and such that uv∈E(G) if and only if the distance between u and v in T is at most k. The graph classes of k-leaf powers have several applications in computational biology, but recognizing them has remained a challenging algorithmic problem for the past two decades. The best known result is that 6-leaf powers can be recognized in polynomial time. In this paper, we present an algorithm that decides whether a graph G is a k-leaf power in time O(nf(k)) for some function f that depends only on k (but has the growth rate of a power tower function). Our techniques are based on the fact that either a k-leaf power has a corresponding tree of low maximum degree, in which case finding it is easy, or every corresponding tree has large maximum degree. In the latter case, large degree vertices in the tree imply that G has redundant substructures which can be pruned from the graph. In addition to solving a longstanding open problem, we hope that the structural results presented in this work can lead to further results on k-leaf powers.