Abstract 1 Introduction 2 Preliminaries 3 Polynomial Sieving 4 Coloring Algorithm Template 5 Edge Coloring Algorithm 6 Conclusion References

Faster Edge Coloring by Partition Sieving

Shyan Akmal ORCID INSAIT, Sofia University “St. Kliment Ohridski”, Bulgaria Tomohiro Koana ORCID Utrecht University, The Netherlands
Research Institute for Mathematical Sciences, Kyoto University, Japan
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 2m3n/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(16/(5d))mpoly(n) time, which has far better dependence in d than previous results. We also consider a generalization of Edge Coloring called List Edge Coloring, where each edge e in the input graph comes with a list Le{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 show that this problem can be solved in 2(16/(5k))mpoly(n) time and polynomial space. The previous best algorithm for List Edge Coloring took 2mpoly(n) time and space.

Our algorithms are algebraic, and work by constructing a special polynomial P based off the input graph that contains a multilinear monomial (i.e., a monomial where every variable has degree at most one) if and only if the answer to the List Edge Coloring problem on the input graph is YES. We then solve the problem by detecting multilinear monomials in P. Previous work also employed such monomial detection techniques to solve Edge Coloring. We obtain faster algorithms both by carefully constructing our polynomial P, and by improving the runtimes for certain structured monomial detection problems using a technique we call partition sieving.

Keywords and phrases:
Coloring, Edge coloring, Chromatic index, Matroid, Pfaffian, Algebraic algorithm
Funding:
Shyan Akmal: Partially funded by the Ministry of Education and Science of Bulgaria (support for INSAIT, part of the Bulgarian National Roadmap for Research Infrastructure).
Tomohiro Koana: Supported by the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (project CRACKNP under grant agreement No. 853234). Also supported by JSPS KAKENHI Grant Numbers JP20H05967.
Copyright and License:
[Uncaptioned image] © Shyan Akmal and Tomohiro Koana; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Graph algorithms analysis
; Theory of computation Parameterized complexity and exact algorithms
Acknowledgements:
We thank the anonymous reviewers for helpful feedback on this work.
Related Version:
Full Version: https://arxiv.org/abs/2501.05570
Editors:
Olaf Beyersdorff, Michał Pilipczuk, Elaine Pimentel, and Nguyễn Kim Thắng

1 Introduction

Coloring graphs is a rich area of research in graph theory and computer science. Given a graph G, a proper vertex coloring of G is an assignment of colors to its nodes such that no two adjacent vertices receive the same color. In the Vertex Coloring problem, we are given an undirected graph G on n vertices, and are tasked with computing the smallest positive integer k such that G admits a proper vertex coloring using k colors. Vertex Coloring is a classic combinatorial problem, NP-hard to solve even approximately [27]. An influential line of research has worked on designing faster and faster exponential-time algorithms for this problem [24, 17, 13, 8], culminating in an algorithm solving Vertex Coloring in O(2n) time and space [11], where throughout we write O(f(n)) as shorthand for f(n)poly(n).

In this paper, we study exact algorithms for the closely related Edge Coloring problem. Given a graph G, a proper edge coloring of G is an assignment of colors to its edges such that no two edges incident to a common vertex receive the same color. The smallest positive integer k such that G admits a proper edge coloring using k colors is the chromatic index of G, denoted by χ(G). In the Edge Coloring problem, we are given an undirected graph G on n vertices and m edges, and are tasked with computing χ(G).

Let Δ denote the maximum degree of the input graph G. For each vertex v in G, a proper edge coloring of G must assign distinct colors to the edges incident to v. Thus χ(G)Δ. A classic result in graph theory known as Vizing’s theorem proves that in fact χ(G)Δ+1, so that the simple Δ lower bound is close to the truth. Moreover, a proper edge coloring of G using (Δ+1) colors can be found in near-linear time [2]. Consequently, solving Edge Coloring amounts to distinguishing between the cases χ(G)=Δ and χ(G)=Δ+1. Despite this powerful structural result, the Edge Coloring problem is NP-hard just like Vertex Coloring, even for graphs where all vertices have degree exactly Δ=3 [21].

In recent years, researchers have made major strides in our knowledge of algorithms for approximate variants of Edge Coloring in the distributed [19, 5, 3] and dynamic settings [15, 14, 6]. In comparison, much less is known about the exponential-time complexity for solving the Edge Coloring problem exactly.

A simple way to solve Edge Coloring is by reduction to Vertex Coloring. Given the input graph G, we can construct in polynomial time the line graph L(G) whose nodes are edges of G, and whose nodes are adjacent if the corresponding edges in G are incident to a common vertex. By construction, the solution to Vertex Coloring on L(G) gives the solution to Edge Coloring on G. If G has m edges and maximum degree Δ, then L(G) has m vertices and maximum degree (2Δ1). Using the aforementioned O(2n) time and space algorithm for Vertex Coloring, this immediately implies a O(2m) time and space algorithm for Edge Coloring. In graphs with maximum degree Δ, Vertex Coloring can be solved in O(2(1ε)n) time and space, where ε=(1/2)Θ(Δ) [9]. By applying the above reduction, Edge Coloring can similarly be solved in O(2(1ε)m) time and space, for ε=(1/2)Θ(Δ).

Line graphs are much more structured objects than generic undirected graphs (for example, there are small patterns that line graphs cannot contain as induced subgraphs [4, Theorem 3]), so one might hope to solve Edge Coloring faster without relying on a black-box reduction to Vertex Coloring. Nonetheless, there is only one result from previous work which solves Edge Coloring on general undirected graphs without using this reduction. Specifically, [10, Section 5.6] shows that Edge Coloring can be solved in O(2m) time and polynomial space. In comparison, it remains open whether Vertex Coloring can be solved in O(2n) time using only polynomial space.
In summary, algorithms from previous work can solve Edge Coloring in

  • O(2m) time using polynomial space, or in

  • faster than O(2m) time in bounded degree graphs, using exponential space.

Given this state of affairs, it is natural to ask:

Can Edge Coloring be solved in faster than O(2m) time, using only polynomial space?

We answer this question affirmatively by proving the following result.

Theorem 1.1.

There is a randomized algorithm which solves Edge Coloring with high probability and one-sided error in O(2m3n/5) time and polynomial space.

If the input graph has average degree d, then m=dn/2, so Theorem 1.1 equivalently states that Edge Coloring can be solved in O(2(1ε)m) time for ε=65d. In comparison, the current fastest algorithm for Vertex Coloring on graphs with average degree d takes O(2(1δ)n) time, where δ=(1/d)Θ(d3) [18, Lemma 4.4 and Theorem 5.4]. Prior to our work, the fastest algorithm for Edge Coloring in the special case of regular graphs (i.e., graphs where all vertices have the same degree) took O(2mn/2) time [10, Theorem 6]. The regularity assumption simplifies the Edge Coloring problem significantly, as in this case the problem reduces to finding a collection of (Δ1) mutually disjoint perfect matchings, which together consist of only (mn/2) edges. Theorem 1.1 improves upon this runtime with an algorithm that succeeds on all undirected graphs, not just regular graphs.

In the case of regular graphs, we obtain improvements beyond Theorem 1.1 when the graphs have high degree. We say a graph is d-regular if all its nodes have degree d. Given a positive integer k, let

Hk=j=1k1j (1)

denote the kth Harmonic number. We prove the following result.

Theorem 1.2.

For each integer d6, there is a randomized algorithm that solves Edge Coloring with high probability and one-sided error on d-regular graphs in O(2mαdn) time and polynomial space, for αd=1Hd+1/(d+1).

For example for d=6, Theorem 1.2 shows that we can solve Edge Coloring in 6-regular graphs in O(2m0.62n) time, slightly faster than the runtime presented in Theorem 1.1. The savings in the exponent are better for larger d, approaching a runtime of O(2mn) as the degree d grows since we have αd=1Θ((logd)/d).

We also consider a generalization of Edge Coloring called List Edge Coloring. In this problem, we are given an undirected graph G with m edges as before, together with a positive integer k and a list of possible colors Le{1,,k} for each edge e. We are tasked with determining whether G admits a proper edge coloring, which assigns each edge e a color from the list Le. If we set k=Δ to be the maximum degree of G and set Le={1,,k} for each edge e, we recover the standard Edge Coloring problem. Using more sophisticated arguments, we generalize Theorem 1.1 to the List Edge Coloring problem.

Theorem 1.3.

There is a randomized algorithm that solves List Edge Coloring with high probability and one-sided error in O(2m3n/5) time and polynomial space.

Prior to our work, no algorithm was known for List Edge Coloring which simultaneously ran in faster than O(2m) time and used polynomial space.

1.1 Our Techniques

Our algorithms for Edge Coloring and List Edge Coloring are algebraic, and involve reducing these problems to certain monomial detection tasks, by now a common paradigm in graph algorithms. To achieve the O(2m3n/5) runtime and polynomial space bounds for these problems, we combine and improve techniques in polynomial sieving, matroid constructions, and enumeration using matrices.

The main technical ingredient in our work builds off the determinantal sieving technique introduced in [16]. Given a homogeneous multivariate polynomial P(X) of degree k and a linear matroid on X of rank k, this technique allows one to test in O(2k) time whether P(X) contains a multilinear monomial (i.e., a monomial where each variable has degree at most one) that forms a basis in . We recall the formal definition of matroids in Section 2. For the purpose of this overview, a matroid is a family of subsets of variables of P satisfying certain properties, and a basis in is a set in this family whose size equals the rank k. In our applications, we construct P to enumerate certain structures in the input graph. Finding a multilinear monomial in P corresponds to identifying a particularly nice structure in the graph (e.g., a solution to the Edge Coloring problem). Determinantal sieving is useful because one can pick in such a way that identifying a monomial in P that forms a basis in recovers extra information about the relevant structures in the graph.

We build off determinantal sieving and introduce the partition sieving method. This technique involves a partition matroid 𝒟, which is a simple type of matroid defined using an underlying partition of the variable set of P. Given a partition matroid 𝒟 whose partition has p parts, and a polynomial P compatible with 𝒟 (“compatible” is a technical condition defined in Section 3 – intuitively, it requires that monomials in P have degrees respecting the partition defining 𝒟), we can test whether P contains a multilinear monomial forming a basis in 𝒟 in O(2kp) time and polynomial space. This offers an exponential speed-up over determinantal sieving. To apply partition sieving, we need to carefully design both the polynomial P and the partition matroid 𝒟 to be compatible in our technical framework.

We design the polynomial P using the notion of the Pfaffian of a matrix. If A is a symbolic skew-symmetric adjacency matrix of G, then its Pfaffian PfA is a polynomial that enumerates the perfect matchings in G. The Edge Coloring problem may be rephrased as asking whether the edge set of G can be partitioned into a collection of k matchings. One can design a polynomial that enumerates k matchings by computing a product of k Pfaffians of adjacency matrices. However, this simple construction does not meet the technical conditions we need to employ partition sieving. Instead we utilize the Ishikawa-Wakayama formula [22], a convolution identity for Pfaffians and determinants, to design a polynomial that enumerates matchings which satisfy certain degree constraints. Specifically, the formula lets us construct a polynomial P whose monomials correspond to k-tuples of matchings in G, where each vertex in G appears as an endpoint in exactly degG(v) of the matchings in the tuple.

We design the partition matroid 𝒟 in terms of a dominating set of the input graph. A subset of vertices D is a dominating set in G if every vertex in VD is adjacent to a node in D. Given a dominating set D in G, we show that it is always possible to construct a partition matroid 𝒟 with p=|VD| parts, compatible with our enumerating polynomial P (in our proofs, 𝒟 is actually only compatible with a polynomial obtained from P by the inclusion-exclusion principle, but we ignore that distinction in this overview). We achieve compatability using the degree condition imposed on P, mentioned at the end of the previous paragraph. Partition sieving then lets us detect a multilinear monomial in P, and thus solve Edge Coloring, in O(2m|VD|) time.

Lemma 1.4.

There is a randomized algorithm that, given a graph G on n vertices and m edges and a dominating set D of G, solves Edge Coloring on G with high probability and one-sided error in O(2mn+|D|) time and polynomial space.

In other words, by finding smaller dominating sets in G, we can solve Edge Coloring faster. In polynomial time, it is easy to construct a dominating set of size at most n/2 in any connected graph G with n vertices. Consequently, the partition sieving framework lets us solve Edge Coloring in O(2mn/2) time. We obtain faster algorithms using the fact that if a graph with n8 nodes has minimum degree two, then it contains a dominating set of size at most 2n/5 [29]. We make this result effective, showing how to find such a dominating set in O(2m3n/5) time and polynomial space. When solving Edge Coloring, it turns out one can assume without loss of generality that the graph has minimum degree two, and so this framework yields a O(2m3n/5) time algorithm for the problem. The situation is far more complex for List Edge Coloring, where unit-degree vertices cannot be removed freely. For this problem, we construct a more complicated polynomial P, by enforcing additional matroid conditions in the Ishikawa-Wakayama formula. Intuitively, we identify a subgraph Gnew of minimum degree two in G, and use P to determine whether Gnew admits a list edge coloring which can be extended to all of G.

Organization

In Section 2 we review notation, basic assumptions, and useful facts about polynomials, matrices, and matroids. In Section 3 we introduce our partition sieving method for monomial detection. In Section 4 we present a generic algorithmic template for solving coloring problems using polynomials. In Section 5 we apply this framework to design our algorithms for Edge Coloring and prove Theorems 1.1 and 1.2. We conclude in Section 6 with a summary of our work and some open problems. Our List Edge Coloring algorithm and the proof of Theorem 1.3 is deferred to the full version of this paper.

2 Preliminaries

General Notation

Given a positive integer a, we let [a]={1,,a} denote the set of the first a consecutive positive integers. Given a set S and positive integer k, we let (Sk) denote the family of subsets of S of size k. Given a positive integer k, we let Hk denote the kth Harmonic number, defined in Equation 1.

Graph Notation and Assumptions

Throughout, we consider graphs which are undirected. We let n and m denote the number of vertices and edges in the input graphs for the problems we study. We assume that the input graphs are connected, so that mn1. This is without loss of generality, since when solving Edge Coloring and List Edge Coloring on disconnected graphs, it suffices to solve the problems separately on each connected component. Given a graph G and vertex v, we let degG(v) denote the number of neighbors of v (i.e., the degree of v in G). For the List Edge Coloring problem where each edge is assigned a list of colors from a subset of [k], we assume that degG(v)k for all vertices v in G, since if some vertex v has degree greater than k, its incident edges must all be assigned distinct colors in a proper edge coloring, and the answer to the List Edge Coloring problem is trivially no.

We let Π(G) denote the set of perfect matchings of G – partitions of the vertex set of G into parts of size two, such that each part consists of two adjacent vertices.

Dominating Sets

A dominating set D in a graph G is a subset of vertices of G such that every vertex in G is either in D or adjacent to a node in D. We collect some useful results relating to finding small dominating sets in graphs.

Lemma 2.1 (Simple Dominating Set).

There is a polynomial time algorithm which takes in a connected graph on n nodes and outputs a dominating set for the graph of size at most n/2.

Lemma 2.1 is due to Ore [32], and we include a proof in the full version of this paper.

Lemma 2.2 (Dominating Sets in Dense Graphs [12, 29]).

If G has n8 nodes, and every vertex in G has degree at least two, then G has a dominating set of size at most 2n/5.

Lemma 2.3 (Dominating Sets in Regular Graphs [1, 33]).

Any d-regular graph on n vertices has a dominating set of size at most (Hd+1/(d+1))n.

Lemma 2.4 (Dominating Set Algorithm).

Let G be a graph obtained by starting with G, and repeatedly deleting vertices of degree one until no vertices of degree one remain. Suppose at most n/5 unit-degree vertices were deleted from G to produce G. Then a minimum-size dominating set of G can be found in O(2m3n/5) time and polynomial space.

Lemma 2.4 is proved in the full version of this paper.

Finite Field Arithmetic

Throughout, we work with polynomials and matrices over a field 𝔽=𝔽2 of characteristic two, where =poly(n) is sufficiently large. Arithmetic operations over 𝔽 take poly(n) time. All elements a𝔽 satisfy a2=a. Consequently, given any element a𝔽, we can compute its unique square root as a21 by repeated squaring in poly(n) time.

Polynomials

Let P(X) be a polynomial over a set of variables X={x1,,xn}. A monomial 𝐦 is a product 𝐦=x1m1xnmn for some nonnegative integers m1,,mn. A monomial 𝐦 is multilinear if mi1 for each i[n]. We say 𝐦 appears in the polynomial P if the coefficient of 𝐦 in P is nonzero. We define the support of 𝐦 to be the set of indices

supp(𝐦)={i[n]mi>0}

of variables which appear with positive degree in 𝐦.

Similarly, we define the odd support of 𝐦 to be the set

osupp(𝐦)={i[n]mi1mod2}

of indices of variables which appear with odd degree in 𝐦. By definition, osupp(𝐦)supp(𝐦) for all monomials 𝐦.

The degree of a monomial 𝐦=x1m1xnmn is defined to be deg(𝐦)=m1++mn. Given S[n], we define the degree of 𝐦 restricted to the variables indexed by S to be

iSmi.

The total degree (or just degree) of P is defined to be

degP=max𝐦deg(𝐦)

where the maximum is taken over all monomials 𝐦 with nonzero coefficient in P. We say that a polynomial P is homogeneous if deg(𝐦)=degP for all monomials 𝐦 in P.

We recall the Lagrange Interpolation formula, which allows one to recover coefficients of a low degree univariate polynomial from a small number of evaluations of that polynomial.

Proposition 2.5 (Lagrange Interpolation).

Let P(z) be a univariate polynomial of degree less than n. Suppose that P(zi)=pi for distinct z1,,zn𝔽. Then

P(z)=i[n]pij[n]{i}zzjzizj.

So given n evaluations of P at distinct points, we can compute all the coefficients of P(z) in polynomial time.

We also record the following observation, proven for example in [30, Theorem 7.2], which shows that to test whether a low degree polynomial P is nonzero, it suffices to check whether a random evaluation of P over a sufficiently large field is nonzero.

Proposition 2.6 (Schwartz-Zippel Lemma).

Let P be a nonzero polynomial over a finite field 𝔽 of degree at most d. If each variable of P is assigned an independent, uniform random value from 𝔽, then the corresponding evaluation of P is nonzero with probability 1d/|𝔽|.

Matrices

Given a matrix A and sets of rows I and columns J, we let A[I,J] denote the submatrix of A restricted to rows in I and columns in J. We let A[I,] denote the submatrix of A restricted to rows in I but using all columns, and A[,J] denote the submatrix of A restricted to columns in J but using all rows. If the rows and column sets of A are identical, we write A[S] as shorthand for A[S,S]. We let O denote the all-zeros matrix, whose dimensions will always be clear from context. We let A denote the transpose of A. A matrix A is symmetric if A=A, and skew-symmetric if it is symmetric and has zeros along its main diagonal (we employ this definition because we work over characteristic two).

If A is a square matrix, we let detA denote the determinant of A.

Given a set V, a perfect matching on V is a partition of V into sets of two elements each. We let Π(V) denote the set of perfect matchings on V. Given a skew-symmetric matrix A with rows and columns indexed by a set V, we define the Pfaffian of A to be

PfA=MΠ(V){u,v}MA[u,v]. (2)

The standard definition for Pfaffians involves a sign term (see e.g., [31, Section 7.3.2]), which we ignore here because we work over a field of characteristic two. It is well known that for all skew-symmetric A, we have detA=(PfA)2 (see e.g., [31, Proposition 7.3.3] for a proof). Consequently, the Pfaffian of matrix A over the field 𝔽2 can be computed in poly(n,)poly(n) time by using the equation PfA=detA=(detA)21.

We record the following useful facts for computation with Pfaffians and determinants.

Proposition 2.7 (Direct Sums).

For any skew-symmetric matrices A1 and A2, we have

Pf(A1OOA2)=(PfA1)(PfA2)

over a field of characteristic two.

Proposition 2.7 is proved in the full version of this paper.

Proposition 2.8 (Ishikawa-Wakayama Formula).

For a skew-symmetric n×n-matrix A and a k×n-matrix B with kn, we have

PfBAB=S([n]k)detB[,S]PfA[S].

Proposition 2.8 is due to [22] (see [23, Section 4.3] for a recent alternate proof).

Matroids

A matroid is a pair =(X,), consisting of a ground set X and a collection of subsets of X called independent sets, satisfying the following axioms:

  1. 1.

    .

  2. 2.

    If B and AB, then A.

  3. 3.

    For any A,B with |A|<|B|, there exists an element bBA such that A{b}.

A maximal independent set in a matroid is called a basis. It is well known that all bases of have the same size r, which is referred to as the rank of . We say SV spans if S is a superset of a basis of . If there exists a matrix A with column set X such that for every SX, the set S is independent in if and only if A[,S] has full rank, then we say that is a linear matroid represented by A. Provided we work over a large enough field of size poly(|X|), it is known that if is linear, then it can be represented by a matrix whose number of rows equals the rank of (see e.g., [26] or [28, Section 3.7]).

Given matroids 1,,k over disjoint ground sets X1,,Xk respectively, we define the direct sum

=i=1ki

of these matroids to be the ground set X=X1Xk together with the family of subsets S of X with the property that SXi is independent in i for all i[k]. It is well known that is a matroid as well, whose rank is equal to the sum of the ranks of the i.

The following result lets us represent direct sums of linear matroids [28, Section 3.4].

Proposition 2.9 (Matroid Sum).

Given linear matroids 1,,k represented by matrices A1,,Ak respectively, their direct sum is represented by the block-diagonal matrix

A=(A1OOOA2OOOAk).

In our Edge Coloring algorithm, we make use of two simple types of matroids: uniform and partition matroids. Given a ground set X and a nonnegative integer r, the uniform matroid over X of rank r has as its independent sets all subsets of X of size at most r.

Proposition 2.10 (Uniform Matroid Representation [28, Section 3.5]).

Given a set X, a nonnegative integer r, and a field 𝔽 with |𝔽|>|X|, we can construct an r×|X| matrix representing the uniform matroid over X of rank r in poly(|X|) time.

Given a set X partitioned X=X1Xk into parts Xi, and a list of nonnegative integer capacities c1,,ck, the partition matroid over the ground set X for this partition and list of capacities has as its independent sets all subsets SX satisfying |SXi|ci for all i[k]. Equivalently, is the direct sum of uniform matroids of rank ci over Xi for all i[k]. By definition, has rank r=(c1++ck). By Propositions 2.9 and 2.10 we see that we can efficiently construct representations of partition matroids [28, Proposition 3.5].

Proposition 2.11 (Partition Matroid Representation).

Given a partition matroid over X of rank r, and a field 𝔽 with |𝔽|>|X|, we can construct an r×|X| matrix representing in poly(|X|) time.

3 Polynomial Sieving

In this section, we develop faster algorithms for a certain monomial detection problem. This is our main technical result, which allows us to obtain faster algorithms for Edge Coloring and List Edge Coloring. We recall the following well-known sieving technique:

Proposition 3.1 (Inclusion-Exclusion).

Let P(X) be a polynomial over a field of characteristic two, with variable set X={x1,,xn}. Fix TX. Let Q(X) be the polynomial consisting of all monomials (with corresponding coefficients) in P that are divisible by xTx. Then

Q=STPS

where PS is the polynomial obtained from P by setting xi=0 for all iS.

See [35, Lemma 2] for a proof of Proposition 3.1.

Combining Propositions 2.5 and 3.1, we obtain the following result.

Lemma 3.2 (Coefficient Extraction).

Let P(X) be a polynomial over a field of characteristic two, with variable set X={x1,,xn}. For TX, let Q(XT) be the coefficient of xTx in P(X), viewed as a polynomial over the variable set XT. Then we can evaluate Q(XT) at a point as a linear combination of 2|T|poly(n) evaluations of P(X).

Proof.

Fix a subset TX. Let F be the polynomial with variable set X{z} obtained by substituting each variable xT with xz in P. Let G(X) be the coefficient of z|T| in F. By definition of F, G is the polynomial obtained by taking the monomials in P whose degree restricted to T equals |T|. By Proposition 2.5, we can compute G(X) at any point as a linear combination of poly(n) evaluations of P.

By definition, Q(XT) is the polynomial obtained by taking monomials of G(X) that are divisible by xTx, and then setting all variables in T equal to 1. So by Proposition 3.1 we can evaluate Q(XT) as the sum of 2|T| evaluations of G. Then by the conclusion of the previous paragraph, we get that we can evaluate Q(XT) at any point as a linear combination of 2|T|poly(n) evaluations of P as claimed.

The inclusion-exclusion principle allows us to sieve for the multilinear term in a polynomial that is the product of all its variables. This was extended to the parameterized setting, where the goal is to sieve for multilinear terms of degree k in O(2k) time [7, 10, 36], and then further extended to multilinear monomial detection in the matroid setting [16].

Lemma 3.3 (Basis Sieving [16, Theorem 1.1]).

Let P(X) be a homogeneous polynomial of degree k over a field 𝔽 of characteristic 2, and let =(X,) be a matroid on X of rank k, with a representation over 𝔽 given. Then there is a randomized algorithm running in O(2k) time and polynomial space, which determines with high probability if P(X) contains a multilinear monomial 𝐦 such that supp(𝐦) is a basis of .

Moreover, [16] introduced a variant of sieving that takes the odd support into account. This tool is key to our exponential speed-up for the Edge Coloring problem.

Lemma 3.4 (Odd Sieving [16, Theorem 1.2]).

Let P(X) be a polynomial of degree d over a field 𝔽 of characteristic 2, and let =(X,) be a matroid on X of rank k, represented by a k×n matrix over 𝔽. Then using O(d2k) evaluations of P(X) and polynomial space, we can determine if P(X) contains a monomial 𝐦 such that osupp(𝐦) spans .

Let P(X) be a homogeneous polynomial of degree d in variables X={x1,,xn}. Consider a partition X=X1Xp into parts Xi. Let c1,,cp0 be integers with

c1++cp=d.

Let be the partition matroid defined by the partition of X into the parts Xi and the capacities ci for i[p]. We say P(X) is compatible with if for every i[p] and every monomial 𝐦 in P, the degree of 𝐦 restricted to Xi equals ci1.

The following result gives an improvement over Lemma 3.3 for polynomials that are compatible with partition matroids.

Theorem 3.5 (Partition Sieving).

Let P(X) be a polynomial of degree d over a field 𝔽 of characteristic 2 with |𝔽|>d, and let =(X,) be a partition matroid on X of rank d with p partition classes. If P is compatible with , then there is a randomized algorithm which runs in O(2dp) time and polynomial space that determines with high probability if P(X) contains a monomial 𝐦 such that supp(𝐦) is a basis of .

Proof.

Let X=X1Xp be the partition and c1,,cp be the capacities defining the partition matroid . By assumption, ci1 for all i[p]. Let be the partition matroid over X defined by the same partition as , but with capacities (ci1) for i[p]. From this construction, has rank (dp).

Our algorithm to determine whether P(X) contains a monomial whose support spans works as follows. By Proposition 2.11, a linear representation of over 𝔽 can be computed in polynomial time. We run the odd sieving algorithm of Lemma 3.4 with P and to determine in O(2dp) time whether P contains a monomial whose odd support spans . We return YES if such a monomial exists, and return NO otherwise. We now prove that this algorithm is correct.

First, suppose that P(X) has a monomial 𝐦 whose support supp(𝐦) is a basis of . By the compatibility condition, 𝐦 is multilinear, which implies that supp(𝐦)=osupp(𝐦). Since osupp(𝐦) is a basis of , and thus spans , it follows that osupp(𝐦) spans .

Conversely, suppose P(X) has a monomial 𝐦 such that osupp(𝐦) spans . We claim that supp(𝐦) spans . Indeed, since osupp(𝐦) spans , the set osupp(𝐦) contains at least (ci1) variables of Xi for each i[p]. Hence its superset supp(𝐦) contains at least (ci1) variables of each part Xi as well.

Claim 3.6.

The set supp(𝐦) contains exactly ci variables of each part Xi.

Proof.

Suppose to the contrary that supp(𝐦) does not contain cj variables of Xj for some index j[p]. Then 𝐦 contains exactly (cj1) variables of Xj. Since P is compatible with , the monomial 𝐦 has degree exactly cj when restricted to Xj. The only way this is possible is if cj2, and 𝐦 has exactly (cj2) variables in Xj of degree one and a single variable in Xj with degree two. The variable of degree two does not show up in the odd support of 𝐦, which implies that osupp(𝐦) has at most (cj2) elements, which contradicts the assumption that osupp(𝐦) spans .

By 3.6, the set supp(𝐦) has exactly ci variables from Xi for each i[p]. Since P is compatible with , this implies that 𝐦 has degree one in every variable in X. Hence supp(𝐦)=osupp(𝐦) spans , as claimed.

This shows that the algorithm is correct, and proves the desired result.

4 Coloring Algorithm Template

Recall that in the List Edge Coloring problem we are given a graph G=(V,E), an integer k1, and lists Le[k] of colors for every edge eE, and are tasked with determining if G contains an assignment of colors c(e)Le to each edge such that no two edges incident to the same vertex are assigned the same color. We call such an assignment a proper edge coloring of G with respect to the lists Le, or just a proper list edge coloring if the Le are clear from context.

For each i[k], let Gi=(V,Ei) be the subgraph of G, where we define EiE to be the set of all edges e in the graph which have iLe available as a color. Let denote the collection of k-tuples (M1,,Mk) of matchings such that

  1. 1.

    for all i[k], Mi is a matching in Gi, and

  2. 2.

    for all vertices vV, v appears as the endpoint of exactly degG(v) of the Mi matchings.

Observe that G admits a proper list edge coloring if and only if contains a tuple of edge-disjoint matchings. Indeed, suppose G admits a proper list edge coloring. For each i[k], the set of edges assigned color i must be a matching MiEi in G. Moreover, every edge is assigned a color, so each vertex v appears as an endpoint in degG(v) of these matchings, hence the matchings form an edge-disjoint tuple in . Conversely, given an edge-disjoint tuple (M1,,Mk), assigning the edges in Mi color i gives a color to every edge in G by condition 2 above, and thus yields a proper list edge coloring by condition 1.

The basic idea of our algorithmic template is to construct a polynomial P which enumerates a certain subfamily 𝒞. We then argue that P contains a multilinear monomial satisfying certain matroid constraints if and only if 𝒞 contains a tuple of edge-disjoint matchings. Using similar reasoning to the previous paragraph, this then lets us solve List Edge Coloring by running monomial detection algorithms on P.

4.1 Enumerating Matchings

In this section, we design a polynomial P whose monomials enumerate tuples of matchings satisfying special conditions. To construct P, we first define certain polynomial matrices.

For each edge eE we introduce a variable xe, and for each pair (e,i)E×[k] we introduce a variable yei. Let X be the set of xe variables and Y be the set of yei variables.

For each i[k], define Ai to be the matrix with rows and columns indexed by V with

Ai[u,w]=Ai[w,u]={xeyei if e={u,w}Ei,0 otherwise.

For each i[k], define Vi={vivV} to be a copy of V. Let

W=i=1kVi

be the union of these copies. Let A be the symmetric matrix with rows and columns indexed by W, defined by taking

A=(A1OOOA2OOOAk) (3)

and identifying Vi as the row and column set indexing Ai.

Note that A is (kn)×(kn), and over a field of characteristic two is skew-symmetric.

For each vertex vV, let Sv={vii[k]} be the set of k copies of v.

For each vertex v, let v be a linear matroid of rank degG(v) over Sv. These matroids will be specified later on, in our algorithms for Edge Coloring and List Edge Coloring. Let 𝒲 be the direct sum

𝒲=vVv (4)

of these matroids.

By Proposition 2.7 the matroid 𝒲 is linear and has rank equal to the sum of the degrees of vertices in G, which is 2m. Let B be a 2m×|W| matrix representing 𝒲.

Let 𝒞 be the collection of k-tuples of matchings (M1,,Mk) in G such that

  1. 1.

    all edges in Mi have lists containing the color i,

  2. 2.

    every vertex v is incident to exactly degG(v) edges across the matchings Mi, and

  3. 3.

    for each vertex v, the set of copies vi taken over all i such that v appears as an endpoint of an edge in Mi forms an independent set in v.

We define the polynomial

P(X,Y)=PfBAB. (5)

The next result shows that P enumerates tuples of matchings from 𝒞.

Lemma 4.1 (Enumerating Matchings).

We have

PfBAB=(M1,,Mk)𝒞cM1,,Mk(i[k]eMiyei)(eM1Mkxe),

where each cM1,,Mk0 is a constant depending only on M1,,Mk.

Proof.

Let UW be a subset of W of size 2m. By Proposition 2.8, we have

PfBAB=U(W2m)detB[,U]PfA[U]. (6)

By Equation 3 and Proposition 2.7, for every subset UW of size 2m we have

PfA[U]=i[k]PfAi[UVi].

Substituting the above equation into Equation 6 yields

PfBAB=U(W2m)detB[,U]i[k]PfAi[UVi].

Recall that given a graph H, we let Π(H) denote the set of perfect matchings of H. By expanding out the definition of PfAi[UVi] in the above equation, we see that

PfBAB=U(W2m)detB[,U]i[k]MiΠ(G[Ui])eMiAi[e],

where UiV is defined as a copy of UVi, i.e., Ui={vviUVi}. By interchanging the order of the product and the summation, we see that the above is equivalent to summing over all collections (M1,,Mk), where Mi is a matching in G[Ui] for each i[k]:

PfBAB=U(W2m)detB[,U](M1,,Mk)i[k]eMiAi[e].

Let M=(M1,,Mk) be a tuple such that the summand corresponding to M in the above equation appears with nonzeo coefficient in PfBAB. Since Ai[e] is nonzero if and only if iLe, the tuple M meets condition 1 in the definition of 𝒞. By the definition of B, we have detB[,U]0 if and only if USv is independent in v for every vertex vV. Thus M meets condition 3 the definition of 𝒞. Since v has rank degG(v) for each vertex v, U has size 2m, and the sum of degrees of vertices in G is 2m, we see that the only way for USv to be independent in v for all v is if in fact |USv|=degG(v) always. So M satisfies condition 2 from the definition of 𝒞.

Thus, the nonzero terms in the above sum correspond precisely to tuples M𝒞, which proves the desired result.

4.2 Partition Sieving With Dominating Sets

In this section, we describe a generic way of going from a dominating set in G to a certain partition matroid 𝒟. After defining this 𝒟, we will apply Theorem 3.5 to P and 𝒟 to achieve a fast algorithm for detecting a multilinear monomial in P.

Recall that a dominating set of a graph G is a subset of vertices D such that every vertex in G is either in D or adjacent to a vertex in D.

Fix a dominating set DV of the input graph G. Let V=VD. Let E be the set of edges in G with one endpoint in D and one endpoint in V, and X={xeeE} be the corresponding set of variables. For each vV, let

(v)={eEev}

be the set of edges incident to v which connect v to a vertex in D. By definition, we have a partition

E=vV(v).

Let 𝒟 be the partition matroid over E with respect to the above partition, and with capacities cv=degE(v) for each vV, where E is viewed as a subgraph of G. Since D is a dominating set, every vertex vV is adjacent to some node in D, and thus the capacities cv1 are all positive.

We now use this partition matroid to sieve over the polynomial P, defined in Equation 5.

Lemma 4.2 (Accelerated Multilinear Monomial Detection).

There is a randomized algorithm that determines with high probability whether P(X,Y) has a monomial divisible by eExe, running in O(2m|V|) time and polynomial space.

Proof.

Let Q(X,Y) be the coefficient of

eEExe

in P(X,Y). By definition, P(X,Y) contains a monomial divisible by eExe if and only if Q(X,Y) contains a monomial divisible by eExe.

Let R(Y) be the coefficient of eExe in Q, viewed as a polynomial with variable set Y. Note that the total degree of R(Y) is poly(n). Take a uniform random assignment over 𝔽 to the variables in Y. By Proposition 2.6, if R is nonzero, then it remains nonzero with high probability after this evaluation, provided we take |𝔽|=poly(n) to be sufficiently large. For the rest of this proof, we work with polynomials P,Q,R after this random evaluation, so that P is a polynomial in X, Q is a polynomial in X, and R is a field element.

By the discussion in the first paragraph of this proof, it suffices to check whether Q(X) contains the monomial eExe in O(2m|V|) time and polynomial space.

We observe the following helpful property of Q.

Claim 4.3.

The polynomial Q(X) is compatible with the matroid 𝒟.

Proof.

Take an arbitrary monomial 𝐦 in Q. By definition, there is a corresponding monomial

𝐦=𝐦eEExe

in P. By Lemma 4.1, for every vV, 𝐦 has degree exactly degG(v) when restricted to the variables xe corresponding to edges e containing v. Consequently, for all vV, 𝐦 has degree exactly

degG(v)|{eEev}|=degE(v)

when restricted to variables xe with e(v). Since this holds for arbitrary monomials 𝐦 in Q, the polynomial Q is compatible with the partition matroid 𝒟 as claimed.

By Lemma 4.1, P, viewed as a polynomial in X, is homogeneous of degree |E|=m. Hence Q, viewed as a polynomial in X, is homogeneous of degree d=|E|. By 4.3, Q is compatible with 𝒟. Since 𝒟 is a partition matroid with positive capacities and p=|V| parts in its underlying partition, by Theorem 3.5 we can determine whether Q contains a monomial 𝐦 in the X variables such that supp(𝐦) is a basis of 𝒟 using

O(d2dp)O(2|E||V|) (7)

evaluations of Q. Since E is the unique basis of 𝒟, this means we can test whether Q(X) contains the monomial eExe using O(2|E||V|) evaluations of Q(X).

By Lemma 3.2, Q(X) can be evaluated at any point by computing a linear combination of O(2m|E|) evaluations of P(X). Combining this observation with Equation 7, we get that we can determine whether Q(X) contains the monomial eExe by computing a linear combination of

O(2m|E|2|E||V|)O(2m|V|)

evaluations of P(X,Y). Each evaluation of P(X,Y)=PfBAB takes polynomial time, so the desired result follows.

5 Edge Coloring Algorithm

In this section, we present our algorithm for Edge Coloring and prove Theorems 1.1 and 1.2. Recall that in this problem, we are given an input graph G with n vertices, m edges, and maximum degree Δ. To solve the problem, it suffices to determine whether G admits a proper edge coloring using at most Δ colors (i.e., whether χ(G)Δ).

5.1 Removing Low Degree Vertices

Lemma 5.1 (Unit-Degree Deletion).

Let G be a graph with a vertex v of degree one. Let G be the graph obtained by deleting v from G. Then χ(G)Δ if and only if χ(G)Δ.

Proof.

If G admits a proper edge coloring with Δ colors, then this coloring is also a proper edge coloring for G with Δ colors.

Conversely, suppose G admits a proper edge coloring with Δ colors. Since degG(v)=1, there is a unique vertex w in G that v is adjacent to. Then

degG(w)degG(w)1Δ1

because G has maximum degree Δ. So vertex w has edges using at most (Δ1) distinct colors incident to it. Taking the coloring of G and assigning edge {v,w} a color not used by the edges incident to w in G recovers a proper edge coloring of G with at most Δ colors.

5.2 Instantiating the Template

Recall the definitions from Section 4. We view the Edge Coloring problem as a special case of List Edge Coloring, where k=Δ and every edge e is assigned the list Le=[Δ]. For each vertex v, we set v to be the uniform matroid over Sv of rank degG(v). Then by Equation 4, 𝒲 is the partition matroid over W defined by the partition

W=vVSv

and the capacities cv=degG(v) for parts Sv. By Proposition 2.11, we can construct the matrix B representing 𝒲 in polynomial time. In this case, condition 3 is identical to condition 2 in the definition of the collection 𝒞.

Lemma 5.2 (Characterization by Polynomials).

We have χ(G)Δ if and only if the polynomial P(X,Y) has a monomial divisible by eExe.

Proof.

Suppose P(X,Y)=PfBAB contains a monomial divisible by eExe. Since P is homogeneous of degree m in the X variables, by Lemma 4.1 this means there exists a Δ-tuple of edge-disjoint matchings (M1,,MΔ)𝒞, such that every edge of G appears in some matching Mi. Consequently, assigning the edges in Mi color i yields a proper edge coloring of G using at most Δ colors.

Conversely, suppose G has a proper edge coloring with Δ colors. Without loss of generality, let the set of colors used be [Δ]. For each i[Δ], let Mi be the set of edges assigned color i. Since this is a proper edge coloring, each Mi is a matching in G. Since every edge is assigned a unique color, each vertex v has exactly degG(v) edges across the matchings Mi. Hence (M1,,MΔ)𝒞. Then by Lemma 4.1, P contains a monomial divisible by eExe.

We can now prove Lemma 1.4 as a simple application of Lemma 5.2.

See 1.4

Proof.

Let G have vertex set V and edge set E, and let V=VD. By Lemma 5.2, we have χ(G)Δ if and only if P(X,Y) has a monomial divisible by eExe. By Lemma 4.2, we can determine whether such a monomial exists in

O(2m|V|)O(2mn+|D|)

time and polynomial space, as desired.

Having established Lemma 1.4, we are ready to present out Edge Coloring algorithms.

See 1.1

Proof.

To solve Edge Coloring, it suffices to determine whether χ(G)Δ.

If G has a vertex of degree one, delete it. Keep performing such deletions, until we are left with a graph containing no vertices of degree one. By repeated application of Lemma 5.1, the resulting graph admits a proper edge coloring using Δ colors if and only if χ(G)Δ. If the resulting graph has constant size, we can determine this trivially. Each such deletion decreases the number of edges and vertices in the graph by one, and thus also decreases the value of (m3n/5). Consequently, to show the desired result, we may assume without loss of generality that G has minimum degree two, and at least eight vertices.

Since G has minimum degree two and n8 nodes, by Lemma 2.2 the graph has a dominating set of size at most 2n/5. By Lemma 2.4, we can then find a dominating set D in G with |D|2n/5 in O(2m3n/5) time and polynomial space. Hence by Lemma 1.4 we can solve Edge Coloring on G in O(2m3n/5) time and polynomial space, as desired.

See 1.2

Proof.

Let G be the input graph. By exhaustive search over all subsets of vertices, we can find a minimum-size dominating set D of G in O(2n) time and polynomial space. Being d-regular, G has m=dn/23n edges, so we find D in O(2mn)O(2mαdn) time.

Since G is d-regular, by Lemma 2.3 we must have |D|n(Hd+1/(d+1)). Then by Lemma 1.4 we can solve Edge Coloring on G in

O(2mn+|D|)O(2mαdn)

time as claimed.

6 Conclusion

In this paper, we presented the first algorithms for Edge Coloring and List Edge Coloring which run in faster than O(2m) time while using only polynomial space. Our algorithm is based off a partition sieving procedure that works over polynomials of degree d and partition matroids with p parts. We showed how to implement this sieving routine in O(2dp) time when the polynomial is in some sense compatible with the matroid, an improvement over the O(2d) runtime that arose in previous techniques.

Overall, we solve Edge Coloring in faster than O(2m) time by

Step 1

designing a polynomial P enumerating matchings meeting certain degree constraints,

Step 2

finding a dominating set D of size at most 2n/5 in the input graph, and

Step 3

applying partition sieving with a partition matroid on p=|D| parts.

Implementing step 2 above was possible for Edge Coloring because we could assume that the input graph had minimum degree two without loss of generality, and such graphs on n8 nodes always have dominating sets of size at most 2n/5. For List Edge Coloring we cannot make this assumption, but nonetheless implement a variant of step 2 by identifying a subgraph with minimum degree two and using extension matroids to handle unit-degree vertices for free. For all sufficiently large n, it is also known that graphs on n nodes with minimum degree three have dominating sets of size at most 3n/8 [34]. If degree-two vertices could somehow be “freely removed” from the input graph just like unit-degree vertices can, one could use this bound on the dominating set to solve coloring problems faster. More general connections between the minimum degree of a graph and the minimum size of its dominating set have also been studied [20].

Understanding the precise time complexity of Edge Coloring and its variants remains an interesting open research direction. Is Edge Coloring solvable in O(1.9999m) time, or at least in O(2mn) time? Establishing any nontrivial lower bounds for Edge Coloring would also be very interesting. The reductions from [21] imply that solving Edge Coloring in graphs with maximum degree Δ=3 requires 2Ω(n) time, assuming the Exponential Time Hypothesis (ETH), a standard hypothesis from fine-grained complexity. Does ETH similarly imply a 2Ω(m) or even a 2Ω(nlogn) time lower bound for Edge Coloring in dense graphs (this question was previously raised in [25, Open problem 4.25])?

References

  • [1] Vladimir I Arnautov. Estimation of the exterior stability number of a graph by means of the minimal degree of the vertices. Prikl. Mat. i Programmirovanie, 11(3-8):126, 1974.
  • [2] Sepehr Assadi, Soheil Behnezhad, Sayan Bhattacharya, Martín Costa, Shay Solomon, and Tianyi Zhang. Vizing’s theorem in near-linear time, 2024. arXiv:2410.05240.
  • [3] Alkida Balliu, Sebastian Brandt, Fabian Kuhn, and Dennis Olivetti. Distributed edge coloring in time polylogarithmic in Δ. In Proceedings of the 2022 ACM Symposium on Principles of Distributed Computing, PODC ’22, pages 15–25. ACM, July 2022. doi:10.1145/3519270.3538440.
  • [4] Lowell W Beineke. Derived graphs and digraphs. Beiträge zur graphentheorie, pages 17–33, 1968.
  • [5] Anton Bernshteyn. A fast distributed algorithm for (Δ+1)-edge-coloring. Journal of Combinatorial Theory, Series B, 152:319–352, January 2022. doi:10.1016/j.jctb.2021.10.004.
  • [6] Sayan Bhattacharya, Martín Costa, Nadav Panski, and Shay Solomon. Arboricity-Dependent Algorithms for Edge Coloring. In Proceedings of the 19th Scandinavian Symposium and Workshops on Algorithm Theory (SWAT 2024), volume 294 of Leibniz International Proceedings in Informatics (LIPIcs), pages 12:1–12:15, Dagstuhl, Germany, 2024. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.SWAT.2024.12.
  • [7] Andreas Björklund. Determinant sums for undirected Hamiltonicity. SIAM Journal on Computing, 43(1):280–299, 2014. doi:10.1137/110839229.
  • [8] Andreas Björklund and Thore Husfeldt. Exact algorithms for exact satisfiability and number of perfect matchings. Algorithmica, 52(2):226–249, December 2007. doi:10.1007/s00453-007-9149-8.
  • [9] Andreas Björklund, Thore Husfeldt, Petteri Kaski, and Mikko Koivisto. Trimmed moebius inversion and graphs of bounded degree. Theory of Computing Systems, 47(3):637–654, January 2009. doi:10.1007/s00224-009-9185-7.
  • [10] Andreas Björklund, Thore Husfeldt, Petteri Kaski, and Mikko Koivisto. Narrow sieves for parameterized paths and packings. Journal of Computer and System Sciences, 87:119–139, 2017. doi:10.1016/j.jcss.2017.03.003.
  • [11] Andreas Björklund, Thore Husfeldt, and Mikko Koivisto. Set partitioning via inclusion-exclusion. SIAM Journal on Computing, 39(2):546–563, 2009. doi:10.1137/070683933.
  • [12] M Blank. An estimate of the external stability number of a graph without suspended vertices. Prikl. Mat. i Programmirovanie, 10:3–11, 1973.
  • [13] Jesper Makholm Byskov. Enumerating maximal independent sets with applications to graph colouring. Operations Research Letters, 32(6):547–556, November 2004. doi:10.1016/j.orl.2004.03.002.
  • [14] Aleksander B. G. Christiansen, Eva Rotenberg, and Juliette Vlieghe. Sparsity-Parameterised Dynamic Edge Colouring. In Proceedings of the 19th Scandinavian Symposium and Workshops on Algorithm Theory (SWAT 2024), volume 294 of Leibniz International Proceedings in Informatics (LIPIcs), pages 20:1–20:18, Dagstuhl, Germany, 2024. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.SWAT.2024.20.
  • [15] Ran Duan, Haoqing He, and Tianyi Zhang. Dynamic Edge Coloring with Improved Approximation, pages 1937–1945. Society for Industrial and Applied Mathematics, January 2019. doi:10.1137/1.9781611975482.117.
  • [16] Eduard Eiben, Tomohiro Koana, and Magnus Wahlström. Determinantal sieving. In David P. Woodruff, editor, Proceedings of the 2024 ACM-SIAM Symposium on Discrete Algorithms (SODA 2024), pages 377–423. SIAM, 2024. doi:10.1137/1.9781611977912.16.
  • [17] David Eppstein. Small Maximal Independent Sets and Faster Exact Graph Coloring, pages 462–470. Springer Berlin Heidelberg, 2001. doi:10.1007/3-540-44634-6_42.
  • [18] Alexander Golovnev, Alexander S. Kulikov, and Ivan Mihajlin. Families with infants: Speeding up algorithms for NP-hard problems using FFT. ACM Trans. Algorithms, 12(3):35:1–35:17, 2016. doi:10.1145/2847419.
  • [19] David G. Harris. Distributed local approximation algorithms for maximum matching in graphs and hypergraphs. In Proceedings of the 60th Annual Symposium on Foundations of Computer Science (FOCS 2019), pages 700–724, 2019. doi:10.1109/FOCS.2019.00048.
  • [20] Michael A. Henning. Bounds on domination parameters in graphs: a brief survey. Discuss. Math. Graph Theory, 42(3):665–708, 2022. doi:10.7151/DMGT.2454.
  • [21] Ian Holyer. The NP-completeness of edge-coloring. SIAM Journal on Computing, 10(4):718–720, 1981. doi:10.1137/0210055.
  • [22] Masao Ishikawa and Masato Wakayama. Minor summation formula of pfaffians. Linear and Multilinear algebra, 39(3):285–305, 1995.
  • [23] Tomohiro Koana and Magnus Wahlström. Faster algorithms on linear delta-matroids. arXiv preprint arXiv:2402.11596, 2024. doi:10.48550/arXiv.2402.11596.
  • [24] Eugene L. Lawler. A note on the complexity of the chromatic number problem. Inf. Process. Lett., 5(3):66–67, 1976. doi:10.1016/0020-0190(76)90065-X.
  • [25] Moshe Lewenstein, Seth Pettie, and Virginia Vassilevska Williams. Structure and hardness in P (dagstuhl seminar 16451). Dagstuhl Reports, 6(11):1–34, 2016. doi:10.4230/DAGREP.6.11.1.
  • [26] Daniel Lokshtanov, Pranabendu Misra, Fahad Panolan, and Saket Saurabh. Deterministic truncation of linear matroids. ACM Transactions on Algorithms, 14(2):14:1–14:20, 2018. doi:10.1145/3170444.
  • [27] Carsten Lund and Mihalis Yannakakis. On the hardness of approximating minimization problems. Journal of the ACM, 41(5):960–981, September 1994. doi:10.1145/185675.306789.
  • [28] Dániel Marx. A parameterized view on matroid optimization problems. Theoretical Computer Science, 410(44):4471–4479, 2009. doi:10.1016/j.tcs.2009.07.027.
  • [29] William McCuaig and Bruce Shepherd. Domination in graphs with minimum degree two. Journal of Graph Theory, 13(6):749–762, 1989. doi:10.1002/JGT.3190130610.
  • [30] Rajeev Motwani and Prabhakar Raghavan. Randomized Algorithms. Cambridge University Press, August 1995. doi:10.1017/cbo9780511814075.
  • [31] Kazuo Murota. Matrices and matroids for systems analysis, volume 20. Springer Science & Business Media, 1999.
  • [32] Oystein Ore. Theory of graphs. In Colloquium Publications. American Mathematical Society, 1962.
  • [33] Charles Payan. Sur le nombre d’absorption d’un graphe simple, 1975.
  • [34] Bruce A. Reed. Paths, stars and the number three. Comb. Probab. Comput., 5:277–295, 1996. doi:10.1017/S0963548300002042.
  • [35] Magnus Wahlström. Abusing the Tutte matrix: An algebraic instance compression for the K-set-cycle problem. In Proceedings of the 30th International Symposium on Theoretical Aspects of Computer Science (STACS 2013), volume 20 of LIPIcs, pages 341–352. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2013. doi:10.4230/LIPICS.STACS.2013.341.
  • [36] Ryan Williams. Finding paths of length k in O(2k) time. Information Processing Letter, 109(6):315–318, 2009. doi:10.1016/J.IPL.2008.11.004.