Color-coding

Abstract
We describe a novel randomized method, the method of color-coding for nding simple paths and cycles of a specied length k, and other small subgraphs, within a given graph G = (V;E). The randomized algorithms obtained using this method can be derandomized using families of perfect hash functions. Using the color-coding method we obtain, in particular, the following new results: For every xed k, if a graph G = (V;E) contains a simple cycle of size exactly k, then such a cycle can be found in either O(V !) expected time or O(V ! logV ) worst-case time, where ! < 2:376 is the exponent of matrix multiplication. (Here and in what follows we use V and E instead ofjVj andjEj whenever no confusion may arise.) For every xed k, if a planar graph G = (V;E) contains a simple cycle of size exactly k, then such a cycle can be found in either O(V ) expected time or O(V logV ) worst-case time. The same algorithm applies, in fact, not only to planar graphs, but to any minor closed family of graphs which is not the family of all graphs. If a graph G = (V;E) contains a subgraph isomorphic to a bounded tree-width graph H = (VH;EH) where jVHj = O(logV ), then such a copy of H can be found in polynomial time. This was not previously known even if H were just a path of length O(logV ). These results improve upon previous results of many authors. The third result resolves in the armative a conjecture of Papadimitriou and Yannakakis that the LOG PATH problem is in P. We can show that it is even in NC.