An O*(2^n ) Algorithm for Graph Coloring and Other Partitioning Problems via Inclusion--Exclusion

Mikko Koivisto
2006 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06)  
We use the principle of inclusion and exclusion, combined with polynomial time segmentation and fast Möbius transform, to solve the generic problem of summing or optimizing over the partitions of n elements into a given number of weighted subsets. This problem subsumes various classical graph partitioning problems, such as graph coloring, domatic partitioning, and MAX k-CUT, as well as machine learning problems like decision graph learning and model-based data clustering. Our algorithm runs in
more » ... * (2 n ) time, thus substantially improving on the usual O * (3 n )-time dynamic programming algorithm; the notation O * suppresses factors polynomial in n. This result improves, e.g., Byskov's recent record for graph coloring from O * (2.4023 n ) to O * (2 n ). We note that twenty five years ago, R. M. Karp used inclusion-exclusion in a similar fashion to reduce the space requirement of the usual dynamic programming algorithms from exponential to polynomial. c f c (A c ), can be reduced to the problem of computing a partition sum of the form (1) via an integer-coding technique and self-reducibility (for similar techniques see, e.g., [29, 19] ). Our algorithms do not rely on any intrinsic properties of the functions f c . Thus, for specific problems, such as the chromatic number problem, even faster algorithms may exist. On the other hand, the presented algorithms are suitable
doi:10.1109/focs.2006.11 dblp:conf/focs/Koivisto06 fatcat:rjb5ch4azbew5brgekdihsg224