×

Set partitioning via inclusion-exclusion. (English) Zbl 1215.05056

Summary: Given a set \(N\) with \(n\) elements and a family \(\mathcal{F}\) of subsets, we show how to partition \(N\) into \(k\) such subsets in \(2^n n^{O(1)}\) time. We also consider variations of this problem where the subsets may overlap or are weighted, and we solve the decision, counting, summation, and optimization versions of these problems. Our algorithms are based on the principle of inclusion-exclusion and the zeta transform. In effect we get exact algorithms in \(2^n n^{O(1)}\) time for several well-studied partition problems including domatic number, chromatic number, maximum \(k\)-cut, bin packing, list coloring, and the chromatic polynomial.
We also have applications to Bayesian learning with decision graphs and to model-based data clustering. If only polynomial space is available, our algorithms run in time \(3^n n^{O(1)}\) if membership in \(\mathcal{F}\) can be decided in polynomial time. We solve chromatic number in \(O(2.2461^n)\) time and domatic number in \(O(2.8718^n)\) time. Finally, we present a family of polynomial space approximation algorithms that find a number between \(\chi(G)\) and \(\lceil(1+\epsilon)\chi(G)\rceil\) in time \(O(1.2209^n+2.2461^{e^{-\epsilon}n})\).

MSC:

05C15 Coloring of graphs and hypergraphs
68W01 General topics in the theory of algorithms
68R10 Graph theory (including graph drawing) in computer science
90C27 Combinatorial optimization
Full Text: DOI