1 Introduction
All graphs considered in this paper are finite, simple and undirected. For a graph , we let and denote its vertex set and edge set, respectively. The neighborhood of a vertex in , denoted by , is the set . We abbreviate it to just when the graph is clear from the context. Given a graph , the degree of a vertex is and is denoted by . The maximum degree of a graph , denoted by , is defined to be . When the graph under consideration is clear, we sometimes abbreviate to just . For any terms not defined here, please refer [8].
Given a graph on vertices and an integer , an ordering of the vertices of such that for each , and is called a degeneracy ordering of . A graph is said to be degenerate if it has a degeneracy ordering. Equivalently, a graph is degenerate if every subgraph of has minimum degree at most . The class of 3degenerate graphs is well studied in the literature and contains many well known graph classes like trianglefree planar graphs and graphs of treewidth at most 3 (also called partial 3trees, this class contains outerplanar graphs and seriesparallel graphs). Note that even though a 3degenerate graph can contain only as many edges as a planar graph on vertices—at most edges—they contain a large number of nonplanar graphs as well.
An edge coloring of a graph using the colors is a mapping . Given an edge coloring using colors , the color class , for some , is the set of edges .
Graphs without cycles are known as forests. The arboricity of a graph is the minimum integer such that its edge set can be partitioned into forests. A linear forest is a forest whose each connected component is a path. The linear arboricity of a graph is the minimum number of linear forests into which its edge set can be partitioned.
A linear coloring of a graph is an edge coloring of such that each color class is a linear forest. Or in other words, it is an edge coloring in which every vertex has at most two edges of the same color incident with it and there is no cycle in the graph whose edges all receive the same color. The linear arboricity of a graph is clearly the smallest integer such that it has a linear coloring and is denoted by . The parameter was introduced by Harary [14]. The linear arboricity conjecture, first stated by Akiyama, Exoo and Harary [1], is as follows.
Conjecture 1 (Linear Arboricity Conjecture)
For every graph ,
1.1 Brief history
Note that for any graph , , since in any linear coloring of , there can be at most 2 edges of the same color incident with any vertex. In fact, as noted by Harary [14], if is a regular graph, then . The linear arboricity conjecture suggests that this lower bound for regular graphs is tight. The conjecture has been proven for all graphs such that [1, 2, 9, 12] and was shown to be true for planar graphs by Wu and Wu [18, 19]. Cygan et al. [7] proved that the linear arboricity of planar graphs which have is . Works of Alon [3], Alon and Spencer [4], and Ferber et al. [10] show that the conjecture holds asymptotically — in particular, for any there exists a such that whenever . From Vizing’s Theorem [17], which says that any graph can be properly edge colored with colors, we get that for any graph . The best known general bound for linear arboricity is when is even and for odd, obtained by Guldan [12, 13].
Although arboricity can be computed in polynomial time [11], computing linear arboricity is NPhard [16]. As for any graph , a 2factor approximation algorithm for computing linear arboricity can be obtained using Vizing’s Theorem. Cygan et al. [7] showed an algorithm that produces a linear coloring of every planar graph on vertices with the optimum number of colors when . Linear arboricity has applications in File Retrieval Systems [15].
1.2 Our result
It is known that the conjecture is true for 2degenerate graphs from the fact that the acyclic chromatic index of 2degenerate graphs is at most [5]. (The acyclic chromatic index of a graph is the minimum number of colors required to properly color the edges of — i.e. no two incident edges get the same color — such that the union of any two color classes is a forest. Since the union of any two color classes in such a coloring will always be a linear forest, we get that .)
We prove the following theorem which shows that the linear arboricity conjecture is true for 3degenerate graphs.
Theorem 1.1
Let be a 3degenerate graph having , where is a positive integer. Then .
Our proof also serves as an alternative (we believe, simpler) proof for the the result of Akiyama, Exoo and Harary [1] that every cubic graph has a 2linear coloring. Graphs having treewidth at most 3, also called partial 3trees, are 3degenerate graphs, and hence our result establishes the linear arboricity conjecture for this class of graphs. Our result provides an alternative proof for the conjecture for some other classes of 3degenerate graphs like trianglefree planar graphs and Halin graphs.
We convert the proof to a linear time algorithm that computes a linear coloring for any input 3degenerate graph . For trianglefree planar graphs or partial 2trees, our algorithm has better asymptotic runtime complexity than the algorithm for planar graphs given in [7], with the caveat that our algorithm may produce a linear coloring using one more color than the optimum number of required colors.
2 Notation and preliminaries
Given a graph and a set , we denote by the graph obtained by removing the vertices in from , i.e. and . When , we abuse notation to let denote the graph obtained by removing the edges in from ; i.e. and . In both cases, if , we sometimes denote by just .
Let be a degenerate graph. A pivot in is a vertex that has at most neighbors of degree more than . A pivot edge in is an edge between a pivot and a vertex with degree at most .
Observation 1
Every degenerate graph has at least one pivot edge.
Proof
If , then every vertex of is a pivot, and every edge of is a pivot edge. If , then the graph contains at least one vertex. Since is also degenerate (as every subgraph of a degenerate graph is also degenerate), there exists a vertex such that . It can be seen that . As , we have that is a pivot in . Also, as , there exists having . Then is a pivot edge in . ∎
Alternatively, given a degeneracy ordering of a graph , consider the first vertex such that it has a neighbor before it in the ordering. It is not difficult to see that is a pivot edge of .
The following observation about linear forests is easy to see.
Observation 2
Let be a linear forest and let and be two paths in having end vertices and respectively such that , , and . Then at least one of has degree 2 in .
Identification of vertices: Given a graph and vertices such that and , we let denote the graph obtained by “identifying” the vertex with . That is, and . Note that given a linear coloring of , the vertex can be “split back” into the vertices and so as to obtain the graph together with a linear coloring of it. The following observation states this fact.
Observation 3
Let be a graph and such that and . If is a linear coloring of , then
is a linear coloring of .
Definition 1
Let be a linear coloring of a graph . For a vertex , we define to be the set of colors in that appear on the edges incident with . Further, we define to be the colors in that do not appear on any edge incident with , to be the set of colors that appear on two edges incident with , and to be the set of colors that appear on exactly one edge incident with .
Note that for any vertex , and also that the degree of in is .
3 Proof of Theorem 1.1
We prove the theorem using induction on . We assume that all 3degenerate graphs having maximum degree at most and less than edges can be linearly colored using colors. We shall show that can be linearly colored using colors.
Let be a pivot edge of such that and is a pivot.
Lemma 1
If , then has a linear coloring.
Proof
Let . By the induction hypothesis, there is a linear coloring of .
Claim
If either

, or

and ,
then has a linear coloring.
First, suppose that . Since , we have , and therefore there exists a color . Then, by coloring with , we can get a linear coloring of , and we are done. Next, suppose that and . Then there exist and . If , then we can color with to obtain a linear coloring of . Otherwise, since , we have , implying that we can color with to obtain a linear coloring of . This proves the claim.
Observe that . From the above claim, if , then we are done. Therefore, we shall assume that . As , this means that . Since , we have , implying that . Thus, we have . Since , we get . Since , we have and . We are now done by the above claim. ∎
By the above lemma, we shall assume from here onwards that . Also, we can assume that , as the statement of the theorem can be easily seen to be true for the case . Since has at most 3 neighbors having degree more than 3, it has at least neighbors with degree at most 3. If , then , implying that every vertex in has degree at most 3. If , then has at least neighbors having degree at most 3. Thus, in any case, there exists such that .
Lemma 2
If , then has a linear coloring.
Proof
Let . Let be a neighbor of other than . Note that may not exist (i.e. if ). Similarly, let be a neighbor of other than , if such a neighbor exists. We shall assume from here onwards that both and exist, since if one of them, say , does not exist, then we can just add a new vertex that is adjacent to only and continue the proof. By the inductive hypothesis, there exists a linear coloring of . Since , there exists a color . Color with . Since , we know that either:

, or

and .
First let us consider case (a). Color with two different colors in , and then color with the remaining color in . Since , we have either or . In the former case, we color with a color in and in the latter case, we color with a color in . We now have a linear coloring of .
Now let us consider case (b). We color with the color in and color with the color in . As , either or . If , then color with a color in . On the other hand, if , then color with a color in . This gives a linear coloring of . ∎
Lemma 3
If and have a common neighbor other than , then has a linear coloring.
Proof
Let be a common neighbor of and other than . Note that by Lemma 2, we can assume that . As in the proof of Lemma 2, we assume that has a neighbor other than and has a neighbor other than . Define . Clearly, and . Thus we have either or we have both and . We will use the weaker statement that either or both and . Since we also have that either or both and , we treat and symmetrically, so there are only three cases to consider. Note also that since , we have or , and we have or .
First, let us consider the case when , , , and . Choose , , , and . If , then color with , and with . If , then color with , with , with . Let denote the color so given to and the color so given to . Now color with a color in and with a color in . We now have a linear coloring of .
Next, suppose that , , and . Choose and . Color with , with , with a color in , with a color , with a color in , and with a color in . We now have a linear coloring of .
Finally, suppose that . Choose distinct . Color with , with a color in , with a color in , and with a color in . Then, if , let , otherwise let be a color in . Now color with and with a color in . This gives a linear coloring of . ∎
Now we are ready to complete the proof of Theorem 1.1. By Lemma 3, we can assume that and have no common neighbors other than . assume that has two neighbors and other than (if not, new vertices of degree one adjacent to can be added so as to ensure that and always exist). By Lemma 2, we can assume that , which further implies that and are distinct from .
Let . Let be the graph obtained by identifying the vertex with in ; i.e. . Figure 1 shows the construction of the graph from . Notice that and that the graph is nothing but , which is a 3degenerate graph as . Thus, is a 3degenerate graph having . Then by the inductive hypothesis, there exists a linear coloring of . Let be the coloring of obtained by “splitting” the vertex in to get back . Formally, we define for all
It can be seen that is a linear coloring of , which is a subgraph of . Note that since , either or . We first extend to a coloring of by coloring the edge by a color in . We now describe how the edges and can be colored so that a linear coloring of can be obtained.


(a)  (b) 
Since , we have that either both and , or . Suppose first that and . Let and . First, suppose that belongs to either or . We shall assume by the symmetry between and that . Color with and with (note that as if that were the case, would have three edges of color incident with it in ) to obtain a linear coloring of . So let us assume that . If , then we can color and with to obtain a linear coloring of . Thus, we can now assume that . If there is a path of color having endvertices and , then color with and with (we know by Observation 2 that there is no path of color having endvertices and ). Otherwise, color with and with . We now have a linear coloring of .
Next, suppose that . Let be the set of all the colors for which there is a path of that color having endvertices and in (such colors will all be in ). The fact that implies that and also that if , then . If , then color with a color in (again, by Observation 2, there is no path having a color in and having endvertices and ) and with a color in . Otherwise color with a color and with a color in . We now have a linear coloring of .
This completes the proof of Theorem 1.1.
4 A linear time algorithm
We now describe how to compute a linear coloring of a 3degenerate graph having . Our algorithm will be a lineartime algorithm; i.e. having a running time of , where and are the number of vertices and edges in respectively. Since is 3degenerate, we have , and therefore our algorithm will also be an time algorithm. We assume that the input graph is available in the form of an adjacency list representation.
Our general strategy will be to convert the inductive proof of Theorem 1.1 into a recursive algorithm, but there are some important differences, the main one being that the algorithm computes a more general kind of edge coloring using colors. The algorithm follows the proof of Theorem 1.1 and removes some edges and if needed identifies two vertices to obtain a smaller graph for which an edge coloring of the desired kind is found by recursing on it. The graph is changed back into by splitting back any identified vertices and adding the removed edges. The newly added edges are then colored to obtain an edge coloring of the desired kind for . During this process, we never change the color of an edge that is already colored. We shall first discuss why our algorithm needs to compute a generalized version of linear coloring.
If the algorithm were to construct a linear coloring of from a linear coloring of according to the proof of Theorem 1.1, and still have overall linear runtime, we would like to be able to decide the right color to be given to an uncolored edge of in time. This means that we need data structures that allow us to determine in time a color for such that:

, and

if , there is no path colored having endvertices and .
The requirement (i) can be met by storing the sets and for every vertex as described in Section 4.3.
For (ii), we could store a collection of “path objects” representing the monochromatic paths in the current coloring in such a way that by examining these objects, we can determine in time whether there is a monochromatic path of color having endvertices and . In particular, for a monochromatic path having endvertices and , we could have a path object that stores the pointers to and . Further, we store the pointer to this object on the first and last edges of . In this way, given a vertex and an edge colored incident with , where , we can examine the path object whose pointer is stored on to determine in time the other endvertex of the path colored starting at . Note that as an edge gets colored with color , a path of color can get extended (if or ) or two paths of color can get fused into one path of color (if ). When two monochromatic paths get fused, we have to replace the two path objects corresponding to these paths with a single path object representing the new monochromatic path. If we store the pointer to a path object on each edge of the path it represents, then it becomes difficult to fuse a path with another path in time as we cannot afford to update the pointer stored on every edge of the path so as to point to the new path object. We can get around this difficulty by storing the pointer to a path object only on the first and last edges of the path represented by it. Since we do not need to know what the internal vertices or edges of a path are in order to fuse it with another path, this method could allow us to fuse two paths in time. As no edge that already has a color is ever recolored, a monochromatic path never gets split into two paths or gets shortened when an edge is colored. But a monochromatic path might need to get split into two monochromatic paths when a vertex is split into two vertices. Since we only split vertices of degree at most 3, at most one monochromatic path gets split during this operation. Suppose that a vertex that needs to be split into two vertices is an internal vertex of a monochromatic path . Since the internal vertices or edges of a path do not store the pointer to the corresponding path object, we cannot obtain the pointer to the path object representing , given just the vertex . We thus cannot update the collection of path objects so as to replace the monochromatic path with two new monochromatic paths. We solve this problem by making sure that two paths that meet at a point that will be split later are never fused together into one path. This is explained in more detail below.
We say that a path having an endvertex and containing the edge is “ending at through ”. Suppose that a vertex is identified with a vertex when is constructed from . It is clear from the proof of Theorem 1.1 that in , the vertex has degree at most 3, and there is possibly an edge that corresponds to an original edge in . Before recursing to find the coloring for , we mark the vertexedge pair as “special” (we call this a “special vertexedge incidence”; more details given in Section 4.1). This mark, which can be stored inside the adjacency list of , indicates that while computing the coloring for , a monochromatic path ending at through should not be fused with another monochromatic path ending at , even if they have the same color. Thus, while splitting the vertex back into and , no path needs to be split. Note that this means that while the coloring for is being computed, we might have a path object for a path colored ending at through and another path object for a path also colored and ending at , but through a different edge (as these paths will not be fused). Once this happens, if we denote the other endvertices of and by and respectively, then we can no longer detect that in the coloring constructed so far, there is a monochromatic path colored starting at and ending at , as there is no path object representing the monochromatic path colored having endvertices and . This means that the edge , if it exists, could get colored , and thus there may be a monochromatic cycle colored in the coloring of . We will allow this to happen, since this monochromatic cycle will anyway get destroyed when the vertex is split into and while recovering back from . Thus, at any stage of the recursion, we compute a coloring for a graph in which certain vertexedge pairs have been marked as special, and this coloring is not a linear coloring any more as it could contain monochromatic cycles. We call this kind of coloring a “pseudolinear coloring”. Since the path objects that we store do not correspond to maximal monochromatic paths anymore, we call them “segments” instead of paths. We now define these notions more rigorously.
4.1 Pseudolinear colorings and segments
We define a vertexedge incidence of a graph to be a pair consisting of a vertex and an edge incident with it; i.e. it is a pair of the form where and .
Given a graph and a set of vertexedge incidences in it, a mapping is said to be a pseudolinear coloring of if each color class is a disjoint union of paths and cycles, in which every cycle contains some edge such that . Given a pair , we call the set the special vertexedge incidences of .
Note that a pseudolinear coloring of is a linear coloring of and also that a linear coloring of is a pseudolinear coloring of for any set of vertexedge incidences of . Our algorithm computes a pseudolinear coloring for an input , where is a graph with and is a set of vertexedge incidences of that are marked as special.
Definition 2
Given a graph and a set of vertexedge incidences in it, a segment of is a sequence of vertices of , where , such that:

for each , ,

the edges are pairwise distinct and their union gives a path or cycle in , and

for each , .
Let be a segment of , We say that the edges are the “edges in the segment ”. We say that and are the terminal vertices of this segment. Note that the two terminal vertices of a segment can in fact be the same vertex (this happens when the edges in the segment form a cycle in ). Further, we call and the terminal vertexedge incidences of this segment. We also sometimes say that this segment is “ending at through the edge ” and “ending at through the edge ”. Note that every segment has exactly two terminal vertexedge incidences and they can be in .
Let be a pseudolinear coloring of . A segment of is said to be a monochromatic segment of color if every edge in it is colored . A segment is said to be contained in a segment if occur consecutively in that order in . A monochromatic segment that is not contained in any other monochromatic segment is called a maximal monochromatic segment of (the coloring is assumed to be clear from the context). Clearly, every edge belongs to some maximal monochromatic segment, as the edge by itself is a monochromatic segment. In fact, it can be seen that each edge belongs to a unique maximal monochromatic segment—the reason being that the union of any two monochromatic segments having a common edge gives another monochromatic segment. This means that the edge set of the graph decomposes into a collection of pairwise edgedisjoint maximal monochromatic segments in a unique way. It can be seen that if is a vertex such that , then is a terminal vertex of a maximal monochromatic segment of color if and only if either or there exists an edge of color incident with such that (note that in the latter case, may not belong to —trying to extend by including in it will result in not being a segment). Observe that a monochromatic cycle in the graph decomposes into a collection of such that maximal monochromatic segments.
At a given point of time, we maintain a set of segment objects, one corresponding to each maximal monochromatic segment of under the current pseudolinear coloring. The segment object corresponding to a maximal monochromatic segment stores just the terminal vertexedge incidences of the segment, as will be explained in Section 4.3. The following observations are easy to see.
Observation 4
Let be a pseudolinear coloring of and let be a collection of monochromatic segments of . The set is the set of all maximal monochromatic segments of if and only if:

every edge of is contained in exactly one segment in , and

there does not exist a vertex and segments (possibly ) ending at through distinct edges respectively such that and .
Observation 5
We can extend a pseudolinear coloring of to a pseudolinear coloring of , for some , by giving a color if:

, and

there is no maximal monochromatic segment of color having and as terminal vertices.
Details of implementation
We now present the details of our linear time algorithm that computes a pseudolinear coloring given an input graph having maximum degree at most and a set of vertexedge incidences in it that are marked as special. We first describe the various data structures that we use. Note that in the following, a “list” refers to a doublylinked list.
4.2 Encoding the graph
A representation of as described below can be computed using the input adjacency list representation of in linear time during the initialization phase. We maintain a list Edges of the edges of the graph. For each vertex , we maintain a list of the edges incident with . The node in corresponding to an edge incident with stores the pointer to the node for in the list Edges. For an edge , let and be the nodes corresponding to in the lists and respectively. The node for in the list Edges stores . Thus if we have the pointer to the node for an edge in the list Edges, the list , or the list , then the edge can be removed from the graph in time. It is easy to see that adding an edge, identifying a vertex of degree at most 1 with another of degree at most 2, and splitting a vertex of degree at most 3 into two vertices can all be done in time in this representation. For every vertex , we store its degree in the current graph . The degree of a vertex in the original input graph is assumed to be known at all times. If , then this fact is stored by setting a binary flag in the node corresponding to the edge in to true. We do not bother to record the vertex in each node of , since using our representation, given just the pointer to a node in the , we can anyway find in time using the Edges list. The set of special vertexedge incidences is encoded by means of binary flags inside the nodes of the Adj lists: we set the binary flag inside the node for an edge in to true if and only if .
4.3 Encoding the coloring
Let be the graph and the set of special vertexedge incidences at any stage of the algorithm. We encode the pseudolinear coloring of that we compute as follows.
We color the edges of the graph using the integers . Every node in the list Edges also contains a field in which the color assigned to the corresponding edge is stored. Every vertex maintains two lists of colors and , to store the sets and respectively. We simply let be a list that contains one node for each color in . The node corresponding to a color in also stores the pointer to the node in corresponding to the edge colored incident with . Note that we cannot store all the colors in in the list , because if we do, then initializing these lists for all the vertices will take too long ( time). To overcome this, we will use a trick from [6]: we store in only the colors in , where is the degree of in the graph given as input to the algorithm. Note that at any stage of the algorithm, if is the graph being colored by the recursive coloring procedure, for any vertex , . This way of storing the list ensures that the total size of these lists which is (as 3degenerate graphs have at most edges), where is the initial input graph. Thus we can initialize all these lists in linear time. This trick works even though may not contain all the colors in because we never need to check if some particular color is in unless , in which case we can do it in time by just checking the colors of all the edges incident with . For every vertex such that , we will only need to find some two colors in . The following observation shows we will never go wrong when trying to do this.
Observation 6
If , then .
Proof
If , we store all the colors in in , so we have nothing to prove. So let us assume that . Then both the sets and are subsets of , and therefore
Comments
There are no comments yet.