Colorings with Few Colors: Counting, Enumeration and Combinatorial Bounds
Total Page:16
File Type:pdf, Size:1020Kb
Colorings With Few Colors: Counting, Enumeration and Combinatorial Bounds Petr A. Golovach1, Dieter Kratsch2, and Jean-Francois Couturier2 1 School of Engineering and Computing Sciences, Durham University, South Road, Durham, DH1 3LE, United Kingdom. [email protected] 2 Laboratoire d’Informatique Th´eorique et Appliqu´ee, Universit´ePaul Verlaine - Metz, 57045 Metz Cedex 01, France. (kratsch|couturier)@univ-metz.fr Abstract. We provide exact algorithms for enumeration and counting problems on edge colorings and total colorings of graphs, if the number of (available) colors is fixed and small. For edge 3-colorings the follow- ing is achieved: there is a branching algorithm to enumerate all edge 3- 5n/8 colorings of a connected cubic graph in time O∗(2 ). This implies that the maximum number of edge 3-colorings in an n-vertex connected cubic 5n/8 graph is O∗(2 ). Finally, the maximum number of edge 3-colorings in an n-vertex connected cubic graph is lower bounded by 12n/10.Similar results are achieved for total 4-colorings of connected cubic graphs. We also present dynamic programming algorithms to count the number of edge k-colorings and total k-colorings for graphs of bounded pathwidth. These algorithms can be used to obtain fast exact exponential time al- gorithms for counting edge k-colorings and total k-colorings on graphs, if k is small. 1 Introduction Graph coloring is one of the classical subjects in graph theory. The four color conjecture asking whether every planar graph can be vertex-colored using at most 4 colors has been triggering the research in graph theory for more than a century. From an algorithmic point of view, for many coloring type problems, like vertex coloring, edge coloring and total coloring, the existence problem asking whether the graph has a coloring with a given number of colors is NP-complete. Even more, these coloring problems remain NP-complete when the question is whether there is a coloring of the input graph with a fixed (and small) number of colors [12, 13, 20]. (For Definitions see Section 2.) The first author has been supported by EPSRC under project EP/G043434/1. The second and third author have been supported by ANR Blanc AGAPE (ANR-09- BLAN-0159-03). Exact algorithms to solve NP-hard problems are a challenging research sub- ject in graph algorithms. Many papers on exact exponential time algorithms n have been published in the last decade. One of the major results is the O∗(2 ) inclusion-exclusion algorithm to compute the chromatic number of a graph first presented at FOCS 2006 by Bj¨orklund, Husfeldt [2] and Koivisto [14]. 3 This ap- n proach can also be used to establish a O∗(2 ) algorithm to count the k-colorings m and to compute the chromatic polynomial of a graph. It also implies a O∗(2 ) n+m algorithm to count the edge k-colorings and a O∗(2 ) algorithm to count the total k-colorings of the input graph. The existence problem asking whether a graph has a k-coloring for a fixed and small value of k also attracted a lot of attention. For vertex-colorability the n fastest algorithm for k =3hasrunningtimeO∗(1.3289 ) and was proposed by Beigel and Eppstein [1], and the fastest algorithm for k = 4 has running time n O∗(1.7272 ) and was given by Fomin et al. [7]. They also established algorithms for counting vertex k-colorings for k = 3 and 4 [7]. The existence problem for an edge 3-coloring is considered in [1, 15] and the currently fastest algorithm with the running time O(1.344n) is due to Kowalik [15]. Very recently Bj¨orklund et al. showed how to detect whether a d-regular graph admits an edge d-coloring (d 1)n/2 in time O∗(2 − ) [3]. Combinatorial bounds on the maximum number of combinatorial objects in any n-vertex graph, as e.g. maximal independent sets or k-colorings, are of interest in combinatorics. Such upper bounds can sometimes be achieved via algorithms to enumerate all these objects. A well-known example is a branching algorithm to enumerate all maximal independent sets of a graph that can be used n/3 to establish an O∗(3 ) upper bound for the number of maximal independent sets in an n-vertex graph. Originally in 1965 Moon and Moser showed by an inductive proof that the maximum number of maximal independent sets in an n-vertex graph is 3n/3 [18]. Another interesting example is the upper bound of O(1.7159n) on the number of minimal dominating sets of an n-vertex graph established via a branching enumeration algorithm and its Measure & Conquer analysis by Fomin et al. [10]. Our Results. For edge 3-colorings we achieve the following enumeration algo- rithm and related combinatorial bounds. – There is a branching algorithm to enumerate all edge 3-colorings of a con- 5n/8 n nected cubic graph of running time O∗(2 )=O(1.5423 ) using polyno- mial space (Subsection 3.1). – The maximum number of edge 3-colorings in an n-vertex connected cubic 5n/8 n graph is at most O∗(2 )=O(1.5423 ) (Subsection 3.1). – The maximum number of edge 3-colorings in an n-vertex connected cubic graph is lower bounded by 12n/10 = Ω(1.2820n) (Subsection 3.3). For the counting problem of edge k-colorings of graphs we achieve the following algorithms. 3 As has recently become standard, we write f(n)=O∗(g(n)) if f(n) p(n) g(n) for ≤ · some polynomial p(n). – The edge k-colorings of a graph given with a path decomposition of width k p+1 at most p can be counted in time roughly O∗( k/2 ) by a dynamic programming algorithm using exponential space (Section 4). 4 n/6 – The number of edge 3-colorings of a graph can be counted in time O∗(3 ) = O(1.201n) and exponential space (Section 4). n/3 – The number of edge 4-colorings of a graph can be counted in time O∗(6 ) = O(1.8172n) and exponential space (Section 4). Note that our algorithm to count edge 3-colorings in time O(1.201n)improves upon the O(1.344n) time of Kowalik’s polynomial space branching algorithm solving the decision problem [15]. For total k-colorings of graphs we achieve the following results. – There is a branching algorithm to enumerate the total 4-colorings of a con- 13n/8 n nected cubic graph in time O∗(2 )=O(3.0845 ), implying that the maximum number of total 4-colorings in an n-vertex connected cubic graph 13n/8 n is at most O∗(2 )=O(3.0845 ) (Subsection 3.2). – The number of total k-colorings of a graph given with a path decomposition k 1 p+1 of width at most p can be counted in time roughly O∗( k (k −1)/2 ) 4 · − (Section 4). – The number of total 4-colorings of a graph G can be counted in time O(12n/6) = O(1.5131n) (Section 4). Let us emphasize that edge 3-colorings and total 4-colorings exist only for graphs of maximum degree at most 3. Furthermore the largest number of such colorings for connected graphs is achieved by the n-vertex path. To avoid such trivial cases, it is natural to study these problems on connected cubic graphs; a well-known class of graphs for which upper bounding the number of colorings (of both types) is a non trivial and challenging task. Furthermore we achieved similar results for the L(2, 1)-labeling problem of graphs. Due to space restrictions only a short summary is given in Section 5. For the same reason some proofs will be omitted. 2 Preliminaries We consider finite undirected graphs without loops or multiple edges. The vertex set of a graph G is denoted by V (G) and its edge set by E(G), or simply by V and E if this does not create confusion. For a set of edges S E(G), G S is the ⊆ − graph obtained from G by removing the edges of S. We denote by degG(v)the degree of a vertex v. For a vertex v, EG(v) is the set of edges incident with v.We may omit indices if the graph under consideration is clear from the context. The maximum degree of a graph G is denoted by ∆(G). Let r be a positive integer. A graph G is called r-regular if all vertices of G have degree r.Acubic graph is a 3-regular graph. 4 See Theorem 3 for a precise estimation of the running time. Let k be a positive integer. A vertex (edge) k-coloring of a graph G is an assignment c: V (G) 1,...,k (c: E(G) 1,...,k respectively) of a positive integer (color→) to{ each vertex} (edge) of→G{such that} adjacent vertices (edges) receive distinct colors. A total k-coloring of a graph G is a mapping c: V (G) E(G) 1,...,k such that adjacent vertices and adjacent edges have different∪ colors,→{ and for} any edge e incident to vertex v, c(v) = c(e). The chromatic number of G (denoted by χ(G)) is the minimum k such that there is a vertex k-coloring of G.Thechromatic index (or edge chromatic number)is the smallest k for which an edge k-coloring of G exists. We denote the chromatic index by χ(G). The total coloring number τ(G)istheminimumk for which there is a total k-coloring of G.