Faster Edge Coloring by Partition Sieving

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 2mpoly(n) time and polynomial space, and in graphs with average degree d in 2(1-d)mpoly(n) time and exponential space, where d = (1/d)(d3). We present an algorithm that solves Edge Coloring in 2m-3n/5poly(n) time and polynomial space. Our result is the first algorithm for this problem which simultaneously runs in faster than 2mpoly(m) time and uses only polynomial space. In graphs of average degree d, our algorithm runs in 2(1-6/(5d))mpoly(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 Le⊂eq\1, …, k\ 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))mpoly(n) time and polynomial space. The previous best algorithm for List Edge Coloring took 2mpoly(n) time and space.

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…