Discrete Mathematics 341 (2018) 820–824
Contents lists available at ScienceDirect
Discrete Mathematics journal homepage: www.elsevier.com/locate/disc
Note
Multi-set neighbor distinguishing 3-edge coloring Bojan Vučković Mathematical Institute, Serbian Academy of Science and Arts, Kneza Mihaila 36 (P.O. Box 367), 11001 Belgrade, Serbia
article
info
Article history: Received 18 October 2016 Received in revised form 7 July 2017 Accepted 1 December 2017
Keywords: Multi-set neighbor distinguishing edge coloring
a b s t r a c t Let G be a graph without isolated edges, and let c : E(G) → {1, . . . , k} be a coloring of the edges, where adjacent edges may be colored the same. The color code of a vertex v is the ordered k-tuple (a1 , a2 , . . . , ak ), where ai is the number of edges incident with v that are colored i. If every two adjacent vertices of G have different color codes, such a coloring is called multi-set neighbor distinguishing. In this paper, we prove that three colors are sufficient to produce a multi-set neighbor distinguishing edge coloring for every graph without isolated edges. © 2017 Elsevier B.V. All rights reserved.
1. Introduction All graphs considered in this paper are finite and simple. Let V (G) and E(G) denote the vertex set and the edge set of a graph G, respectively. Let N(v ) denote the set of neighbors of a vertex v and d(v ) denote the degree of v . A dominating set S of a graph G is a set of vertices such that each vertex of V (G) is either in the set S or is adjacent in G to a vertex of S. A set of vertices is independent if no two vertices in the set are adjacent. For a subset S of V (G), the subgraph G[S ] of G induced by S has S as its vertex set and two vertices of S are adjacent in G[S ] if and only if they are adjacent in G. For notation not defined here, we refer the reader to [2]. A graph G is normal if it contains no isolated edges. Let G be a normal graph, and let c : E(G) → {1, . . . , k} be a coloring of the edges, where adjacent edges may be colored the same. If c uses k colors we say that c is a k-edge coloring. The color code of a vertex ∑k v is the ordered k-tuple code(v ) = (a1 , . . . , ak ), where ai is the number of edges incident with v that are colored i. Thus i=1 ai = d(v ). If every two adjacent vertices of a graph G have different color codes, such a coloring is called multi-set neighbor distinguishing. Since a graph that contains isolated edges does not accept such a coloring, we only consider normal graphs. Karoński, Łuczak, and Thomason proved in [3] that if a normal graph G has chromatic number at most 3, it is possible to color the edges with the colors 1, 2 and 3, so that for every two adjacent vertices u and v of G, the sum of the colors of the edges incident with u is different from the sum of the colors of the edges incident with v . This implies that for an arbitrary normal graph G with chromatic number at most 3, three colors are sufficient to produce a multi-set neighbor distinguishing edge coloring. The best result concerning an arbitrary normal graph stating that four colors are sufficient to produce such a coloring was proved by Addario-Berry et al. in [1]. We improve this result in Theorem 1 by showing that, in fact, three colors are sufficient. Theorem 1. For every normal graph G, there exists a multi-set neighbor distinguishing 3-edge coloring of G. Note that, in general case, three colors are necessary. There are many graphs that do not allow a multi-set neighbor distinguishing edge coloring with less than three colors. Examples of such graphs are Kn when n ≥ 3, and Cn when n ≥ 3 and n ̸ ≡ 0 mod 4. E-mail address:
[email protected]. https://doi.org/10.1016/j.disc.2017.12.001 0012-365X/© 2017 Elsevier B.V. All rights reserved.
B. Vučković / Discrete Mathematics 341 (2018) 820–824
821
If the colors of some of the edges incident with v are left unassigned, a color code that includes the number of already colored edges incident with v is called a partial color code, and we denote it by codep (v ). In order to prove Theorem 1, we need the following lemma. Lemma 2. Let G be an induced subgraph of a graph H, where G is a connected bipartite graph with partite sets V1 and V2 . Let there be given a partial edge coloring φ of H with arbitrary colors assigned to every edge uv with u ∈ V (G) and v ∈ V (H) \ V (G). Then, for arbitrary v ∈ V1 , there exists an extension of the coloring φ such that all the edges of G are assigned colors from {a, b} and all the vertices of V1 \ {v} have in H an even (odd) number of incident edges colored a, while all the vertices of V2 have in H an odd (even, respectively) number of incident edges colored a. Proof. First, we color all the edges of G with the color a. While there exist two or more vertices in V1 \ {v} that are incident with an odd number of edges colored a, we do the following. Let w1 and w2 be two such vertices. We interchange the colors a and b for every edge on a path between w1 and w2 in G. This way the parity of the number of edges incident with w1 and w2 colored a is changed, while the parity of the number of edges colored a incident with any other vertex of G stays the same. At the end of this procedure, there is at most one vertex in V1 \ {v} that has an odd number of incident edges colored a. Next, while there exist two or more vertices in V2 that are incident with an even number of edges colored a, we do the following. Let u1 and u2 be two such vertices. We interchange the colors a and b for every edge on a path between u1 and u2 in G. At the end of this procedure there is at most one vertex in V2 that has an even number of incident edges colored a. If there are vertices w ∈ V1 \ {v} with an odd number of incident edges colored a, and u ∈ V2 with an even number of incident edges colored a, then we interchange the colors a and b for every edge on a path between w and u in G. Now, there might be only one vertex y of (V1 \ {v}) ∪ V2 with the undesired parity of the number of incident edges colored a. If such a vertex exists we interchange the colors a and b for every edge on a path between y and v in G, thus obtaining the desired edge coloring. The proof is analogous for the case when we want to obtain that all the vertices of V1 \ {v} have an odd number, and the vertices of V2 have an even number of incident edges colored a. □ 2. Proof of Theorem 1 Proof of Theorem 1. If the statement of Theorem 1 holds for any connected graph with at least two edges, than it clearly holds for any normal graph. Thus we may assume that G is a connected graph with two or more edges. Let V = V (G) = V1 ∪· · ·∪ Vk , where V1 is an independent dominating set of G, and Vi is an independent dominating set of G[V \ (
⋃
Vj )]
j
for every 1 < i < k, while Vk is an independent set. Thus for every v ∈ Vi with 1 < i ≤ k, the vertex v has at least one neighbor in every set Vj with 1 ≤ j < i, and none in the set Vi . Let v be a vertex of Vi with code(v ) = (b1 , b2 , b3 ). The idea of the proof is to color the edges of G in such a way that, except in a few special cases, the following properties hold: 1. 2. 3. 4. 5. 6.
if i = 2l + 3 with l ≥ 1, then b1 ≥ 1, b2 = l and b3 is an odd number greater than 1, if i = 2l + 2 with l ≥ 1, then b1 = l, b2 ≥ 1 and b3 is an even number greater than 0, if i = 3, then b1 = 0, b2 ≥ 1 and b3 ≥ 1, if i = 2 and v has a neighbor in Vj with j > 2, then b1 + b2 ≥ 2 and b3 = 0, if i = 1 and v has a neighbor in Vj with j > 2, then b1 ≥ 0, b2 = 0 and b3 ≥ 1, if v ∈ V1 ∪ V2 and v has no neighbor outside of V1 ∪ V2 , we only take care that v has a different color code from all of its neighbors.
First, we assign the color 3 to all the edges joining the vertices of V1 with the vertices of Vi , for every integer i with 3 ≤ i ≤ k. Next, we color all the edges incident with the vertices of Vk , proceed with coloring of the edges incident with the vertices of Vk−1 , and gradually decrease to V2 . Let us assume that we have colored all the edges incident with the vertices of Vl , for all l with i < l ≤ k. We now assign colors to the edges joining the vertices of Vi and Vj , for all j with 1 ≤ j < i. For each v ∈ Vi we proceed as follows. Let codep (v ) = (a1 , a2 , a3 ). We color the edges incident with v , depending on the value of i. 1. For i > 5: We consider two cases, depending on the parity of i. (a) i = 2l + 3, for some l ≥ 2. Since v has at least one neighbor in V1 , we have a3 ≥ 1. For i = k we have a1 = a2 = 0, and for i < k we have a1 ≥ 0 and a2 = 0. Colors have already been assigned to all the edges joining v with the vertices of V1 and Vj with j > i. We now assign colors to the edges joining v with the vertices of Vj , for every j with 4 < j < i: i. when j is odd, we color all such edges with 1, ii. when j is even, we color an edge between v and one of the vertices of Vj (such a vertex always exists) with 2, and all the remaining edges with 3.
822
B. Vučković / Discrete Mathematics 341 (2018) 820–824
Next, we assign the color 3 to all the edges joining v with the vertices of V4 . Let u ∈ V2 ∩ N(v ) and w ∈ V3 ∩ N(v ). We assign 1 to all the edges joining v with the vertices of V2 \ {u}, and 3 to all the edges joining v with the vertices of V3 \ {w}. Thus codep (v ) = (b1 , l − 1, b3 ), where b1 ≥ 1 and b3 ≥ 2, and v u and vw are the only uncolored edges incident with v . i. If b3 is even we color v u with 2, and vw with 3. ii. If b3 is odd we color v u with 1, and vw with 2. Finally, we have code(v ) = (c1 , l, 2c3 + 1), where c1 ≥ 1 and c3 ≥ 1. Hence the vertex v has a different color code from every u with code(u) = (x1 , x2 , x3 ), where x2 ̸ = l or x3 even. (b) i = 2l + 2, for some l ≥ 2. Since v has at least one neighbor in V1 , we have a3 ≥ 1. For i = k we have a1 = a2 = 0, and for i < k we have a1 = 0 and a2 ≥ 0. Colors have already been assigned to all the edges joining v with the vertices of V1 and Vj with j > i. We now assign colors to the edges joining v with the vertices of Vj , for all j with 3 < j < i: i. when j is even, we color all such edges with 2. ii. when j is odd, we color an edge between v and one of the vertices of Vj (such a vertex always exists) with 1, and all the remaining edges with 3. Let u ∈ V2 ∩ N(v ) and w ∈ V3 ∩ N(v ). We assign the color 1 to the edge v u, the color 2 to edges joining v with all the vertices of V2 \ {u}, and the color 3 to all the edges joining v with the vertices of V3 \ {w}. Thus v is incident with at least one edge colored 3, exactly l edges colored 1, and at least one edge colored 2. Therefore, codep (v ) = (l, b2 , b3 ), and we are left to color the edge vw . If b3 is odd, we color vw with 3, while if b3 is even, we color vw with 2. Finally, we have code(v ) = (l, c2 , 2c3 ), where c2 ≥ 1 and c3 ≥ 1. Hence v has a different color code from all of its neighbors from Vj , for every j > i. 2. For i = 5: We have that a1 ≥ 0, a2 = 0 and a3 ≥ 1. Let u ∈ V2 ∩N(v ), w ∈ V3 ∩N(v ) and y ∈ V4 ∩N(v ). For every x ∈ (V4 \{y})∩N(v ), we proceed as follows. If x has an incident edge already colored 1, we color the edge v x with 3, otherwise we color it with 1. Next, we color with 1 all the edges joining v with the vertices of V2 \ {u}; we color with 3 all the edges joining v with the vertices of V3 \ {w}. Thus codep (v ) = (b1 , 0, b3 ), where b1 ≥ 0 and b3 ≥ 1, and we are left to color the edges v u, vw and v y. We consider two cases. (a) y is not incident with any edge already colored 1. We assign the color 1 to the edge v y. Next, we consider three cases. i. b3 is even. We assign 2 and 3 to v u and vw , respectively. ii. b3 = 1. We assign 2 to both v u and vw . iii. b3 is odd, where b3 ≥ 3. We assign 1 and 2 to v u and vw , respectively. Thus we have that either code(v ) = (c1 , 1, 2c3 + 1), c1 ≥ 1 and c3 ≥ 1, or code(v ) = (c1 , 2, 1) and c1 ≥ 1. For every u ∈ Vl with l > 5, where code(u) = (x1 , x2 , x3 ), we have x3 ≥ 2 and either x2 ≥ 2 or x3 is even. Thus code(v ) ̸ = code(u). (b) y is incident with an edge already colored 1. We consider three cases, depending on the values of b1 and b3 . Case 1. b3 is even. We assign the colors 1, 2 and 3 to the edges v u, vw and v y, respectively. Case 2. b3 is odd, and b1 = 0. We note that this means that v does not have a neighbor in any Vl , where l is an odd number greater than 5, since in this case there would be an edge incident with v colored 1. We assign the colors 1, 2 and 2 to the edges v u, vw and v y, respectively. Case 3. b3 is odd, and b1 ≥ 1. We assign the colors 2, 3 and 3 to the edges v u, vw and v y, respectively. Note that in Case 2 we have code(v ) = (1, 2, 2c3 + 1), where c3 ≥ 0, and v has no neighbor in any Vj with j = 2l + 3 and l ≥ 2. In all other cases we have code(v ) = (c1 , 1, 2c3 + 1), where c1 , c3 ≥ 1. Hence v has a different color code from every u ∈ (N(v ) ∩ Vj ) with j > 5. 3. For i = 4: We have that a1 ≤ 1, a2 ≥ 0 and a3 ≥ 1. Let u ∈ V2 ∩ N(v ) and w ∈ V3 ∩ N(v ). We assign 2 to the edges joining v and the vertices of V2 \ {u}, and we assign 3 to the edges joining v and the vertices of V3 \ {w}. Let codep (v ) = (b1 , b2 , b3 ). Thus b1 ≤ 1, b2 ≥ 0, b3 ≥ 1. We consider three cases, depending on the values of b1 and b2 . (a) b1 = b2 = 0. Because of the way the edges between V4 and V5 were colored, this means that v does not have a neighbor in V5 . We assign the colors 1 and 2 to the edges v u and vw , respectively. Now, all the edges incident with v are colored and code(v ) = (1, 1, b3 ). We know that every vertex of Vj with j ≥ 6, has at least two incident edges colored 1 (for even j), or at least two incident edges colored 2 (for odd j). Since v has no neighbor in V5 , it follows that code(v ) ̸ = code(u) for every u ∈ Vj ∩ N(v ) with j > 4.
B. Vučković / Discrete Mathematics 341 (2018) 820–824
823
(b) b1 = 0, b2 ≥ 1. If b3 is even, we color the edges v u and vw with 1 and 2, respectively. If b3 is odd, we color the edges v u and vw with 1 and 3, respectively. In both cases, code(v ) = (1, c2 , 2c3 ), where c2 , c3 ≥ 1. Since every vertex of V2l+2 with l ≥ 2 is incident with at least two edges colored 1, and every vertex of V2l+1 with l ≥ 2 is incident with an odd number of edges colored 3, the vertex v has a different color code from all of them. (c) b1 = 1. We color v u with 2. Next, if b3 is even, we color the edge vw with 2, and if b3 is odd we color vw with 3. Now, every edge incident with v is colored. Hence code(v ) = (1, c2 , 2c3 ), where c2 , c3 ≥ 1. As in the previous case, it follows that v has a different color code from all of its neighbors from Vj with j > i. 4. For i = 3: We have that a1 = 0, a2 ≥ 0 and a3 ≥ 1. We assign the color 2 to the edges joining v with the vertices of V2 . Now, v has a color code (0, b2 , b3 ), where b2 , b3 ≥ 1. Since all the vertices of Vl with l > 3 have at least one incident edge colored 1, it follows that v has a different color code from all of them. 5. For i = 2: Note that for every u ∈ N(v ) ∩ Vl with l ≥ 4 the vertex u has exactly one incident edge colored 3 only when one of the following two holds: (a) code(u) = (1, 1, 1) and u ∈ V4 , (b) code(u) = (c1 , 2, 1), where c1 ≥ 1 and u ∈ V5 . Let W1 be the subset of the vertices from V1 having at least one neighbor in some Vl with l > 2. Let U1 be the subset of the vertices from V2 having at least one neighbor in some Vl with l > 2. Now let W2 = V1 \ W1 and U2 = V2 \ U1 . First, we assign the color 1 to all the edges joining the vertices of W1 and V2 . We will later change the color of some of these edges to 3, thus no edge incident with any vertex of W1 will be colored 2. We now assign colors to the remaining edges, which join the vertices of W2 and V2 . Let H = G[W2 ∪ V2 ] and let Hj , 1 ≤ j ≤ n, be the components of H. We now color the edges of Hj for each j in such a way that the codes of neighboring vertices in Hj differ, and that for every u ∈ U1 with code(u) = (c1 , c2 , c3 ) one of the following holds: (a) (b) (c) (d)
c3 c1 c1 c1
= 0, ≥ 2, c2 is odd and c3 = 1, ≥ 1, c2 = 0, c3 = 1, and u has exactly one neighbor w in W1 , while w has at least two incident edges colored 3, ≥ 1, c2 = 0, c3 ≥ 1, and u has no neighbor in W1 .
Thus u will have a different color code from all of its neighbors from W1 and Vl with l > 2. Let L = Hj . We consider two cases, depending on whether V (L) contains a vertex of U2 . (a) V (L) contains a vertex u ∈ U2 . We consider two cases, depending on whether u has a neighbor in W1 . i. u has a neighbor w ∈ W1 . We color, by Lemma 2, all the edges of L with the colors 1 and 2 in such a way that all the vertices of V (L) ∩ (V2 \ {u}) have an even number of incident edges colored 2, and all the vertices of V (L) ∩ W2 have an odd number of incident edges colored 2. If also u has an even number of incident edges colored 2 we are done, since in this case every vertex of L has a different color code from all of its neighbors. If u has an odd number of incident edges colored 2, we change the color of the edge uw from 1 to 3. Now for every vertex of N(u) ∩ W1 none of its incident edges is colored 2, while for every vertex of N(u) ∩ W2 none of its incident edges is colored 3. Thus every vertex of L has a different color code from all of its neighbors. ii. u has no neighbor in W1 . We color, by Lemma 2, all the edges of L with colors 1 and 2 in such a way that all the vertices of V (L) ∩ (V2 \ {u}) have an odd number of incident edges colored 2, and all the vertices of V (L) ∩ W2 have an even number of incident edges colored 2. If u has an odd number of incident edges colored 2 we are done, since in this case every vertex of L has a different color code from all of its neighbors. If u has an even number of incident edges colored 2, we change the color of every edge incident with u to 3. If u has only one neighbor w , then since G is a connected graph with at least two edges, it follows that w has at least one more neighbor. Therefore, w and u have different color codes. If u has more than one neighbor, it again has a color code different from all of its neighbors, since none of them has more than one incident edge colored 3. For any w ∈ N(u), none of the neighbors of w other than u has an incident edge colored 3. Thus w has a different color code from all of them. (b) V (L) contains no vertex of U2 . Let X denote the subset of the vertices from U1 that are joined with the vertices of Vl with l > 2 only by edges colored 1. Next, let X0 denote the subset of the vertices from X having no neighbor in W1 , and let X1 denote the subset of the vertices from X having exactly one neighbor in W1 . Furthermore, let X2 = X \ (X0 ∪ X1 ) and Y = U1 \ X . We consider two cases, depending on whether V (L) contains a vertex of X2 . i. V (L) contains a vertex u ∈ X2 . Hence codep (u) = (b1 , 0, 0), where b1 ≥ 3. We color, by Lemma 2, all the edges of L with the colors 1 and 2 in such a way that all the vertices of V (L) ∩ W2 have an odd number of incident edges colored 2, and all the vertices of V (L) ∩ (V2 \ {u}) have an even number of incident edges colored 2. If u has an even number of incident edges colored 2 all of the vertices of V (L) have different color codes from their neighbors, and we are done. Otherwise, let w be one of the neighbors of u from W1 . We change the color of
824
B. Vučković / Discrete Mathematics 341 (2018) 820–824
the edge uw from 1 to 3. Now, code(u) = (c1 , c2 , 1), c1 ≥ 2 and c2 is odd. For every w ∈ N(u) ∩ W1 there is no edge incident with w colored 2. Furthermore, for every w ∈ N(u) ∩ Vl with l ≥ 3 and code(w ) = (x1 , x2 , x3 ), if x3 = 1 then either x1 < 2 or x2 is even. Thus u has a different color code from all of its neighbors. ii. V (L) ∩ X2 = ∅. We now color all the edges of L. Let W ′ be the subset of the vertices from W2 having a neighbor in X0 . Next, let X ′ be the subset of the vertices from X1 having a neighbor in W ′ . For every u ∈ X0 ∩ V (L) and every v ∈ W ′ ∩ N(u) we color uv with 3. For every u ∈ W ′ ∩ V (L) and every v ∈ (Y ∪ X ′ ) ∩ N(u) we color uv with 2. For every u ∈ X1 \ X ′ we do as follows. Let N(u) ∩ W1 = {w}. We change the color of the edge uw from 1 to 3. Note that now the vertex w has at least two incident edges colored 3, while u has only one incident edge colored 3. Finally, we color all the remaining edges of L with 1. After the described coloring, for u ∈ V (L) ∩ W2 and code(u) = (b1 , b2 , b3 ) we have the following: A. if u ∈ W ′ , then b1 = 0, b2 ≥ 0, b3 ≥ 1, B. if u ∈ W2 \ W ′ , then b1 ≥ 1, b2 = 0 and b3 = 0. For v ∈ V (L) ∩ V2 and code(v ) = (c1 , c2 , c3 ) we have the following: A. if v ∈ Y , then c1 ≥ 0, c2 ≥ 1 and c3 = 0, B. if v ∈ X ′ , then c1 ≥ 1, c2 ≥ 1 and c3 = 0, C. if v ∈ X1 \ X ′ , then c1 ≥ 1, c2 = 0, c3 = 1, and v has only one neighbor w in W1 , while w has at least two incident edges colored 3, D. if v ∈ X0 , then c1 ≥ 1, c2 = 0 and c3 ≥ 1, and v has no neighbor in W1 . Hence code(u) ̸ = code(v ) for every uv ∈ E(L), completing the proof. Acknowledgments The author would like to thank the anonymous referee for careful reading and valuable comments and suggestions, which improved the presentation of this manuscript. The author was supported by the grant III044006 of the Ministry of Education and Science of Serbia. References [1] L. Addario-Berry, R.E.L. Aldred, K. Dalal, B.A. Reed, Vertex coloring edge partitions, J. Combin. Theory Ser. B 94 (2005) 237–244. [2] G. Chartrand, P. Zhang, Chromatic Graph Theory, Chapman & Hall/CRC, Boca Raton, 2009. [3] M. Karonski, T. Luczak, A. Thomason, Edge weights and vertex colors, J. Combin. Theory Ser. B 91 (2004) 151–157.