We present a polynomial-space algorithm that computes the number of independent sets of any input graph in time O(1.1389 n ) for graphs with maximum degree 3 and in time O(1.2356 n ) for general graphs, where n is the number of vertices. Together with the inclusion-exclusion approach of Björklund, Husfeldt, and Koivisto [SIAM J. Comput. 2009], this leads to a faster polynomial-space algorithm for the graph coloring problem with running time O(2.2356 n ). As a byproduct, we also obtain an exponential-space O(1.2330 n ) time algorithm for counting independent sets. Our main algorithm counts independent sets in graphs with maximum degree 3 and no vertex with three neighbors of degree 3. This polynomial-space algorithm is analyzed using the recently introduced Separate, Measure and Conquer approach [Gaspers & Sorkin, ICALP 2015]. Using Wahlström's compound measure approach, this improvement in running time for small degree graphs is then bootstrapped to larger degrees, giving the improvement for general graphs. Combining both approaches leads to some inflexibility in choosing vertices to branch on for the small-degree cases, which we counter by structural graph properties. The main complication is to upper bound the number of times the algorithm has to branch on vertices all of whose neighbors have degree 2, while still decreasing the size of the separator each time the algorithm branches.
Since the fastest known polynomial-space algorithm computes the number of independent sets with running time O(1.2356 n ) REF , there is a polynomial-space O(2.2356 n )-time algorithm computing the chromatic number.
Faster Graph Coloring in Polynomial Space
ArXiv
ArXiv
Computer Science Mathematics