Abstract :
We use the principle of inclusion and exclusion, combined with polynomial time segmentation and fast Mobius 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 O*(2n) time, thus substantially improving on the usual O*(3n)-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.4023n) to O*(2n). 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
Keywords :
computational complexity; dynamic programming; graph colouring; transforms; dynamic programming algorithm; fast Mobius transform; graph coloring; graph partitioning; inclusion-exclusion; machine learning; polynomial time segmentation; Clustering algorithms; Computer science; Dynamic programming; Heuristic algorithms; Machine learning; Machine learning algorithms; Partitioning algorithms; Polynomials; Upper bound;