An improved algorithm for finding cycles through elements

  • Authors:
  • Ken-ichi Kawarabayashi

  • Affiliations:
  • National Institute of Informatics, Tokyo, Japan

  • Venue:
  • IPCO'08 Proceedings of the 13th international conference on Integer programming and combinatorial optimization
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider the following problem: Given k independent edges in G. Is there a polynomial time algorithm to decide whether or not G has a cycle through all of these edges ? If the answer is yes, detect such a cycle in polynomial time. This problem can be viewed as an algorithmic aspect of the conjecture of Lovász [22] and Woodall [34]. For fixed k, it follows from the seminal result of Robertson and Seymour [29] that there is a polynomial time algorithm to decide this problem. But, the proof of its correctness requires the full power of machinery from the graph minor series of papers, which consist of more than 20 papers and 500 pages. In addition, the hidden constant is an extremely rapidly growing function of k. Even k = 3, the algorithm is not practical at all. Our main result is to give a better algorithm for the problem in the following sense. 1. Even when k is a non-trivially super-constant number (up to O((log log n)1/10)), there is a polynomial time algorithm for the above problem (So the hidden constant is not too large). 2. The time complexity is O(n2), which improves Robertson and Seymour's algorithm whose time complexity is O(n3). Our algorithm has several appealing features. Although our approach makes use of several ideas underlying the Robertson and Seymour's algorithm, our new algorithmic components allow us to give a self-contained proof within 10 pages, which is much shorter and simpler than Robertson and Seymour's. In addition, if an input is a planar graph or a bounded genus graph, we can get a better bound for the hidden constant. More precisely, for the planar case, when k is a non-trivially super-constant number up to k ≤ O((log n/(log log n))1/4), there is a polynomial time algorithm, and for the bounded genus case, when k is a nontrivially super-constant number up to k ≤ O((log (n/g)/(log log (n/g)))1/4), there is a polynomial time algorithm, where g is the Euler genus.