∆-List Vertex Coloring in Linear Time

∆-List Vertex Coloring in Linear Time

∆-List Vertex Coloring in Linear Time San Skulrattanakulchai Department of Computer Science, University of Colorado at Boulder, Boulder CO 80309 USA [email protected] Abstract. We present a new proof of a theorem of Erd}os,Rubin, and Taylor, which states that the list chromatic number (or choice number) of a connected, simple graph that is neither complete nor an odd cycle does not exceed its maximum degree ∆. Our proof yields the first-known linear-time algorithm to ∆-list-color graphs satisfying the hypothesis of the theorem. Without change, our algorithm can also be used to ∆- color such graphs. It has the same running time as, but seems to be much simpler than, the current known algorithm, due to Lov´asz,for ∆- coloring such graphs. We also give a specialized version of our algorithm that works on subcubic graphs (ones with maximum degree three) by exploiting a simple decomposition principle for them. 1 Introduction This paper presents efficient algorithms for a list vertex coloring problem. Our main contribution is a new proof of a theorem of Erd}os,Rubin, and Taylor [1]. Our proof yields the first-known linear-time algorithm to ∆-list-color graphs that do not contain a complete graph or an odd cycle as a connected component. Without change, our algorithm can also be used to ∆-color such graphs. It has the same running time as, but seems to be much simpler than, the current known algorithm for ∆-coloring such graphs. We also give a specialized version of our algorithm that works on subcubic graphs. (A subcubic graph has maximum degree 3.) The notations and the definitions of the graph terms we use are given in Sect. 1.1. We now discuss the problem we solve in detail. In the list vertex coloring problem [2], we are given a graph every vertex of which has been assigned its own list of colors as part of the input. Our task is to assign to every vertex a color chosen from its color list so that adjacent vertices receive distinct colors. A graph is list-colorable if the task is possible. The list vertex coloring problem is a generalization of the usual vertex coloring problem [2]. In the usual problem, we are given a graph and a constant number k of colors. Our task is to assign to every vertex a color chosen from the given k colors so that adjacent vertices receive distinct colors. A graph is k-colorable if the task is possible. To k-color the graph is to find such a color assignment. The chromatic number of a graph is the least k for which it is k-colorable. A graph is k-list-colorable if it is list-colorable given any list assignment as long as the size of each list is at least k. To find such a color assignment is to k-list-color the graph. The list chromatic number (or choice number) of a graph is the least k for which it is k-list-colorable. More generally, for any list size assignment f : V IN, we say that a graph is f-choosable if it is list-colorable given any list assignment! as long as the list size of any vertex v is at least f(v). For example, a d-choosable graph is one that is list-colorable whenever every vertex's color list contains at least as many colors as its degree. Observe that a k-list-colorable graph is always k-colorable since any algo- rithm for k-list-coloring can be used for k-coloring: simply assign the same list of k colors to every vertex of the input graph, and run the k-list-coloring al- gorithm on it. Note also that a graph is list-colorable if and only if each of its connected components is. Therefore, one needs only consider list-colorability of connected graphs. A Brooks graph is a connected graph that is neither complete nor an odd cycle. In [1] Erd}oset al. prove that a connected graph is d-choosable if and only if at least one of its biconnected components is a Brooks graph. Consequently, they obtain the list version of Brooks' Theorem: the list chromatic number (or choice number) of a Brooks graph does not exceed its maximum degree. In other words, a Brooks graph is ∆-list-colorable. In their proof they check biconnectivity of the graph at every inductive step following a sequence of vertex and edge deletions. This is an expensive operation: no algorithm is known that can dynamically compute graph biconnectivity under vertex and edge deletions in O(m+n) time. We give a new proof of their theorem and also derive the first O(m + n)-time ∆-list-coloring algorithm. Both their and our proofs rely on existence of some special types of induced subgraphs in a biconnected Brooks graph. They identify two types of special subgraphs. By adding another type to their list we are able to obtain a more efficient algorithm. Our success rests on the simple fact that it is easier to find objects of one's desire when there are more of them around. Our algorithm naturally specializes to the problem of finding a coloring in the original Brooks' Theorem [3]: the chromatic number of a Brooks graph does not exceed its maximum degree. In other words, a Brooks graph is ∆-colorable. The current known efficient algorithm for ∆-coloring Brooks graphs is due to Lov´asz[4]. (See also Problem 9.13, pp. 67 in [5].) By using the ideas given in Sect. 2.2, it is possible to implement his algorithm to make it run in O(m + n) time. Lov´asz'salgorithm computes a separating pair of vertices [6]. In contrast, our algorithm explores the graph in search of an occurrence of any one of a few simple unavoidable patterns, whose existence gives a straightforward coloring algorithm for the whole graph. Both Lov´asz'sand our algorithms call upon a subroutine to compute biconnected components. This is fine since there exist many simple biconnected components algorithms in the literature. (See [7, 8], for example.) Again, our algorithm is simpler than Lov´asz'sin this respect. All it needs from the biconnectivity computation is one biconnected component. In contrast, Lov´asz'salgorithm has to construct the so-called block-cutpoint tree from all the biconnected components. Another difference between the two algo- rithms concerns recoloring. Lov´asz'salgorithm colors each biconnected compo- nent separately, then put these colorings together by appropriately \permuting colors" in each component. Our algorithm never recolors. A class of graphs that has proven itself to be of special interest is the class of subcubic graphs [9]. References [10, 11] show that a simple decomposition principle for subcubic graphs give efficient algorithms for solving various coloring problems on them. We will exploit this principle to obtain a version of our algorithm that is specialized to subcubic Brooks graphs and that is simpler than the general version. It even does away with the biconnectivity computation altogether. In the rest of this section we discuss terminology. In Sect. 2 we develop our proof and algorithm for the theorem of Erd}oset al. on general graphs. In Sect. 3 we develop an algorithm for the case of subcubic graphs. 1.1 Terminology For any positive integer n, the set of all positive integers not greater than n is denoted [n]. We follow the terminology of [12] and consider only undirected graphs with- out parallel edges. By default, G = (V; E) denotes the graph under consideration with V = n and E = m. The degree of a vertex v is usually denoted d(v), and j j j j also as dG(v) whenever G needs to be distinguished from some other graph also under consideration. The minimum (maximum) degree of the graph is denoted δ (∆). By a path we mean one with no repeated vertices. A cycle or path is even (odd) if it has an even (odd) number of edges. A wheel Wk consists of a cycle Ck, and a hub vertex w that is not on the cycle but is adjacent to every vertex on the cycle. The cycle vertices are the rim; the k edges joining the hub w to the rim are called spokes.A whel is a wheel Wk with ` spokes missing, where 1 ` < k 1. In other words, a whel can be obtained from a wheel by removing at≤ least one− spoke while keeping at least two spokes. A theta graph θ(a; b; c) consists of 3 internally disjoint paths Pa+1, Pb+1, and Pc+1 connecting 2 end vertices, where the path lengths a, b, and c satisfy 0 < a b c.A diamond is ≤ ≤ the complete graph K4 with one edge missing. It is at the same time the smallest whel and the theta graph θ(1; 2; 2). Let H be a subgraph of G. A path avoids H if it uses no edge of H. A vertex w is called a neighbor of H if w is adjacent in G to some vertex of H but is itself not a vertex of H. We always use the term \induced" to mean \induced by its vertex set." For example, C is an induced cycle if C is a subgraph of G isomorphic to a cycle and C is induced by its own vertex set. We use the term available color at various places in the description of our algorithm. During the execution of the algorithm, a color c is available for a vertex v if it is in the color list of v and no vertex adjacent to v is already colored c.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us