🤖 AI Summary
This paper addresses the NP-hard edge coloring and list edge coloring problems on undirected graphs: assigning colors to edges such that no two edges incident to the same vertex share a color, while minimizing the total number of colors (edge coloring) or respecting pre-specified color lists per edge (list edge coloring). We propose the first dynamic programming algorithm based on partition sieving and combinatorial compression. It achieves an exact solution in $2^{m - 3n/5}operatorname{poly}(n)$ time using only polynomial space. For graphs with average degree $d$, the runtime improves to $2^{(1 - 6/(5d))m}operatorname{poly}(n)$—the first sub-$2^m$ exponential base with significantly improved $d$-dependence over prior work. The same framework uniformly handles list edge coloring, yielding $2^{(1 - 6/(5k))m}operatorname{poly}(n)$ time, where $k$ is a lower bound on list sizes. All results are the best known under polynomial-space constraints.
📝 Abstract
In the Edge Coloring problem, we are given an undirected graph $G$ with $n$ vertices and $m$ edges, and are tasked with finding the smallest positive integer $k$ so that the edges of $G$ can be assigned $k$ colors in such a way that no two edges incident to the same vertex are assigned the same color. Edge Coloring is a classic NP-hard problem, and so significant research has gone into designing fast exponential-time algorithms for solving Edge Coloring and its variants exactly. Prior work showed that Edge Coloring can be solved in $2^m ext{poly}(n)$ time and polynomial space, and in graphs with average degree $d$ in $2^{(1-varepsilon_d)m} ext{poly}(n)$ time and exponential space, where $varepsilon_d = (1/d)^{Theta(d^3)}$. We present an algorithm that solves Edge Coloring in $2^{m-3n/5} ext{poly}(n)$ time and polynomial space. Our result is the first algorithm for this problem which simultaneously runs in faster than $2^m ext{poly}(m)$ time and uses only polynomial space. In graphs of average degree $d$, our algorithm runs in $2^{(1-6/(5d))m} ext{poly}(n)$ time, which has far better dependence in $d$ than previous results. We also generalize our algorithm to solve a problem known as List Edge Coloring, where each edge $e$ in the input graph comes with a list $L_esubseteqleft{1, dots, k
ight}$ of colors, and we must determine whether we can assign each edge a color from its list so that no two edges incident to the same vertex receive the same color. We solve this problem in $2^{(1-6/(5k))m} ext{poly}(n)$ time and polynomial space. The previous best algorithm for List Edge Coloring took $2^m ext{poly}(n)$ time and space.