We give a deterministic $n^{O(\log d)}$-time algorithm for isomorphism of graphs with $n$ vertices and maximum degree $d$. Since $d<n$, this is an $n^{O(\log n)}$-time algorithm for graph isomorphism. To our knowledge, this is the first proof of such a worst-case bound for general graphs. It improves the explicit cubic logarithmic exponent in the analysis of the corrected Luks--Babai algorithm. For graphs of maximum degree $d$, the best previous bound known to us, due to Grohe, Neuen, and Schweitzer, is $n^{O((\log d)^c)}$ for an absolute constant $c$. The algorithm uses the local-certificate and color-refinement steps of Babai's quasipolynomial algorithm, but retains the decomposition of each recursive instance when it solves an auxiliary coloring problem. There are two reasons for retaining this information. First, a local test can make progress without removing many vertices: it can eliminate a layer of permutation symmetry. A logarithmic bound on the total weight of these layers allows tests of constant size. Second, the auxiliary bipartite graphs arising in the symmetry-breaking step can be represented inside the current instance, after retaining a row decomposition when necessary. These recursive calls inherit the progress already made. Two further observations give the dependence on the degree. The recursive calls made by a local test check disjoint parts of the instance, so together they cost about as much as one call on the whole instance. And for graphs of maximum degree $d$, each large symmetric action that the algorithm must break acts on at most $d$ points. We present the algorithm through colorings, partitions, and bipartite graphs, and collect the permutation-group ingredients in one appendix. The result extends to string isomorphism and returns one isomorphism and generators for the full automorphism group.
翻译:暂无翻译