Vertex colouring edge weightings: A logarithmic upper bound on weight-choosability

A graph G is said to be (k,m)-choosable if for any assignment of k-element lists Lv ⊂ R to the vertices v ∈ V (G) and any assignment of m-element lists Le ⊂ R to the edges e ∈ E(G) there exists a total weighting w : V (G) ∪ E(G) → R of G such that w(v) ∈ Lv for any vertex v ∈ V (G) and w(e) ∈ Le for any edge e ∈ E(G) and furthermore, such that for any pair of adjacent vertices u, v, we have w(u)+ ∑ e∈E(u)w(e) 6= w(v)+ ∑ e∈E(v)w(e), where E(u) and E(v) denote the edges incident to u and v respectively. In this paper we give an algorithmic proof showing that any graph G without isolated edges is (1, 2dlog2(∆(G))e+ 1)-choosable, where ∆(G) denotes the maximum degree in G. Mathematics Subject Classifications: 05C07, 05C15

it satisfies the 1-2-3 Conjecture. Bartnicki et al. [1] proved that trees and complete graphs (which are not K 2 ) are 3-choosable and conjectured that any graph without an isolated edge is 3-choosable. A more general concept of weight-choosability where there are also weights on the vertices was introduced in [10] by Wong and Zhu and is defined as follows: a graph G is said to be (k, m)-choosable if for any assignment of k-element lists L v ⊂ R to the vertices v ∈ V (G) and any assignment of m-element lists L e ⊂ R to the edges e ∈ E(G) there exists a total weighting w : V (G)∪E(G) → R of G such that w(v) ∈ L v for any vertex v ∈ V (G) and w(e) ∈ L e for any edge e ∈ E(G) and furthermore, such that for any pair of adjacent vertices u, v, we have w(u) + e∈E(u) w(e) = w(v) + e∈E(v) w(e). In particular, any graph which is (1, k)-chooseable is also k-chooseable. This concept introduced by Wong and Zhu also generalizes the so-called 1-2 Conjecture formulated in [6] which states that for any graph G there exists a total weighting w : V (G) ∪ E(G) → {1, 2} such that for any pair of adjacent vertices u, v, we have w(u) + e∈E(u) w(e) = w(v) + e∈E(v) w(e). Wong and Zhu [10] proved that any graph is (2, 3)-choosable. As mentioned above, the case of (k, m)-chooseability where k = 1 is particularly interesting since it directly relates to the 1-2-3 Conjecture. However, there is still no constant c known for which any graph without an isolated edge is (1, c)-choosable and the known results in this area mostly concern the maximum degree instead: Seamone showed in [7] that any graph G without an isolated edge is (1, 2∆(G) + 1)-choosable and other linear bounds have also been proven in [3], [5] and [8]. The best result so far is the result by Ding et al. [2] mentioned by Wong and Zhu in [9] which says that any graph G without an isolated edge is (1, ∆(G) + 1)-choosable. The present paper shows that any graph G without an isolated edge is (1, 2 log 2 (∆(G)) + 1)-choosable, replacing the linear term of ∆(G) by a logarithmic term. This is implied by a slightly stronger statement which is proved in the next section. The proof describes a linear time algorithm for finding appropriate edge weights.

(1, φ)-choosablity
Let G be a graph, let k be a natural number and let φ : E(G) → N be a mapping. A (k, φ)-list assignment to G is an assignment of lists L e ⊂ R, e ∈ E(G) to the edges of G such that the size of any list L e is φ(e), together with an assignment of k-element lists L v ⊂ R, v ∈ V (G) to the vertices. We say that G is (k, φ)-choosable if for any (k, φ)-list assignment to G there exists a total weighting w : E(G) ∪ V (G) → R of G such that for any edge e = uv we have that w(u) + e∈E(u) w(e) = w(v) + e∈E(v) w(e) and that w(v) ∈ L v for any vertex v ∈ V (G) and w(e) ∈ L e for any edge e ∈ E(G). Given a total weighting w : E(G) ∪ V (G) → R of a graph G and a vertex u in G the term w(u) + e∈E(u) w(e) is also called the colour of u induced by w and is denoted by C w (u). If for two adjacent vertices u, v we have C w (u) = C w (v), then we call this pair of vertices a conflict. In the following we prove that any graph without isolated edges is (1, φ)-choosable when φ : E(G) → N is defined by φ(e) = log 2 (d(u)) + log 2 (d(v)) + 1 for e = uv ∈ E(G). The proof describes an algorithm for finding appropriate edge weights and greedily assigns as small edge-weights as possible. This is done stepwise where in each step we choose a special vertex v and assign the smallest possible weights to all edges incident to v while increasing the weight on an edge in E(u) \ E(v) for each neighbour u of v in order to avoid the potential conflicts between u and its neighbours. This greedy approach is the main idea of the algorithm, but some additional procedures are needed in order to ensure that we end up with no conflicts.
Proof. Let G be a graph with n vertices and without any isolated edges. Let e 1 , . . . , e m denote the edges of G. For any vertex v let s v denote the prescribed weight (making up the list of size 1) on v and for j = 1, . . . , m let L j = {t j,1 , . . . , t j,φ(e j ) } be a list associated with e j and assume that the ordering is such that t j,1 < . . . < t j,φ(e j ) . We will, through a number of steps, recursively construct a sequence of total weight functions w i : V (G) ∪ E(G) → R for i = 0, . . . , k + 1 n + 1 where each w i+1 will be a modification of w i and where w k+1 will be our final total weight function. All the total weight functions will agree with the lists assigned to the edges, that is, w i (e j ) ∈ L j and w i (v) = s v for all i = 0, . . . , k + 1 and j = 1, . . . , m and all vertices v ∈ V (G). A "step" in the algorithm is when we move from considering w i to considering w i+1 , so the algorithm will consist of k + 1 steps and in each step we define a set of edges whose weights will never be changed again. This defines a sequence of edge sets These values might be modified through the k + 1 steps of the algorithm so for each edge e j we let denote the values within and after the i'th step. If nothing else is explicitly stated it will always be the case that We will also define a sequence of subsets of V (G) × E(G): ∅ = T 0 ⊂ T 1 ⊂ · · · ⊂ T k during the first k steps of the algorithm. Each element (v , uv) of T k will represent a triangle v uv in the graph where the only possible conflicts are between v and u or v and v. These potential conflicts will be the only possible conflicts after the first k steps of the algorithm and they will be disposed of in the last part of the algorithm. In the algorithm we will in each of the first k steps choose at most four vertices and extend a vertex set V i , which is initialized as V 0 = ∅, by adding those vertices. This will define a sequence of vertex sets The algorithm consists of two parts: Procedure 1 followed by Procedure 2 described below. The first part, Procedure 1, is a greedy way to assign the edge-weights and allows us to keep track of potential conflicts. These conflicts will then be disposed of in Procedure 2.

10:
for any edge e j ∈ E(G) do 11: if u is adjacent to v i and v is not adjacent to v i as in Figure 1 15:

16:
for any edge e j ∈ E(G) do 17: if v i is not incident to an isolated edge 23:

32:
for any edge e j ∈ E(G) do 33:

34:
Replace i with i + 1. When Procedure 1 terminates we have a well-defined weight function w k : E(G) → R and a set T k ⊂ V (G) × E(G) representing some triangles in G. Let (u 1 , e 1 ), . . . , (u |T k | , e |T k | ) denote the elements of T k enumerated in the order they appear in Procedure 1. Note that when we repair conflicts in Procedure 2 below, we consider the triangles in T k in reverse order starting with (u |T k | , e |T k | ). When Procedure 2 terminates we have a weight function w k+1 and it remains to show that for any pair of adjacent vertices u, v we have C w k+1 (u) = C w k+1 (v) and that f k+1 (e) φ(e) holds for any edge e ∈ E(G). Define (v , uv) = (u i , e i ).

3:
if one of u, v, say, v has the same colour as v then

7:
for any edge e j ∈ E(G) do
First we prove that for any edge uv we have C w k+1 (u) = C w k+1 (v). To do this we look at three different cases:

Case 1:
We look at two separate subcases. Subcase 1.1: For some i k the edge uv is isolated in G − E i . Let i k be the smallest index such that uv is an isolated edge in G − E i . In a later loop of Procedure 1 one of u, v, say u, is chosen as the vertex with minimum potential. That is, for some smallest i > i we have u = v i , v / ∈ V i and u / ∈ V i −1 . Since uv is an isolated edge in G−E i and hence also in G−E i −1 it follows from lines 4-11 in Procedure 1 that in the i 'th loop of Procedure 1 no edge-weights changed and E i = E i −1 ∪{uv}. Also the weight of uv does not change during Procedure 2. Thus, C w i (u) = C w k (u) = C w k+1 (u) and C w i (v) = C w k (v) = C w k+1 (v), so it suffices to show that C w i (u) = C w i (v). If the if-statement in line 4 of Procedure 1 was satisfied in the i'th loop C w i (u) = C w i (v) follows immediately, so we can assume that the if-statement in line 12 was satisfied in the i'th loop of Procedure 1. Furthermore, if the if-statement in line 20 was satisfied, then it follows from the lines 20-33, that any isolated edge in G − E i is also an isolated edge in G − E i−1 and this contradicts the choice of i. Thus, we can assume that the if-statement in line 13 was satisfied in the i'th loop of Procedure 1. Now it follows from lines 13-19 in Procedure 1 that C w i (u) = C w i (v).

Subcase 1.2:
For all i k the edge uv is not isolated in G − E i . Let i k be the smallest index such that uv ∈ E i . Without loss of generality we can assume that v / ∈ V i−1 , v ∈ V i and u / ∈ V i−1 . If also u ∈ V i , then since (v , uv) / ∈ T k for all v ∈ V (G), it follows from Procedure 1 that the if-statements in lines 12, 20 and 26 were satisfied in the i'th loop of Procedure 1 and that uv is a pendant edge in a component of G − E i−1 which is isomorphic to a triangle with a pendant edge added. In this case it follows from lines 26-33 in Procedure 1 that ∈ T k and (v, e ) / ∈ T k for all e ∈ E(u) ∪ E(v), the weight of u or v does not change in Procedure 2 and hence C w k+1 (u) = C w k+1 (v). Thus we can assume u / ∈ V i and since (v , uv) / ∈ T k for all v ∈ V (G) and (u, e ) / ∈ T k and (v, e ) / ∈ T k for all e ∈ E(u) ∪ E(v) we can assume that either the if-statement in line 4 or both the if-statements in lines 12 and 13 in Procedure 1 were satisfied in the i'th loop of Procedure 1. If the if-statement in line 4 was satisfied then C w i (v) < C w i (u) follows from lines 4-11 in Procedure 1 since uv is not an isolated edge in G − E i−1 . Also if the if-statements in lines 12 and 13 were satisfied C w i (v) < C w i (u) follows from lines 12-17 in Procedure 1. Thus we have that . By lines 20-33 in Procedure 1, we increased the value of C w i−1 (u) to make sure that C w i (u) = C w i (v) and never changed these two values before Procedure 2. Also, it follows from the lines 2-6 in Procedure 2 that we can only change the value of w k (uv), but not w k (uv ) or w k (vv ) in the finalisation. Thus we have that Case 3: Assume that (u, e ) ∈ T k and e = vv . At some point in Procedure 2 the triangle (u, e ) is considered. Note that there might exist a vertex u and an edge e incident to u such that (u , e ) ∈ T k . If this is the case then that triangle (u , e ) appeared later than (u, e ) in Procedure 1 and is therefore considered earlier than (u, e ) in Procedure 2 (see Figure 3). This implies that at the time Procedure 2 reaches (u, e ) and throughout the rest of Procedure 2 the colour of u does not change. By lines 2-6 in Procedure 2 we change the value of w k (e ) ensuring C w k+1 (u) = C w k+1 (v) as well as φ(e) = log 2 (d(u)) + log 2 (d(v)) + 1 holds for any edge e = uv in G. This time we also look at the three different cases mentioned above: Case 1: Let be the smallest index such that uv ∈ E . We may without loss of generality assume v / ∈ V −1 , v ∈ V and u / ∈ V −1 . We start by looking at how large f u, −1 (e) can possibly be. This is the number of times f u,i (e) (for i = 0, . . . , − 1) has increased during Procedure 1 before the step where uv was added to E . Suppose we increase f u,i−1 (e) In this case (u , e ) will be considered before (u, e ) in Procedure 2.
in the steps i = i 1 , i 2 , . . . , i f u, −1 (e) . Since we are interested in an upper bound for f u,i (e) we may assume that in any step j where Procedure 1 chose a vertex in N (u) as v j and e minimized f u,j −1 (x) for x ∈ E(u) − E j , the edge e was chosen (even if there where multiple minimizers) in line 8 in Procedure 1. Note that this implies that in each of the steps i j for j ∈ {1, . . . , f u, −1 (e)} the term f u,i j −1 (x) is constant for x ∈ E(u) − E i j . In step i 1 a vertex in N (u) was picked as v i 1 and put into V i 1 and f u,i 1 −1 (e) was increased by 1. Note that by the above we can assume that V i 1 ∩ N (u) = {v i 1 }. In step i 2 another vertex in N (u) was picked as v i 2 and f u,i 2 −1 (e) was increased because f u,i 2 −1 (x) was constant for x ∈ E(u) − E i 2 . Since f u,i 2 −1 (e) = 1 it follows that at least d(u) 2 of the edges incident to u were in E i 2 −1 , see Figure 4. Similarly, for step i 3 we have Note this is a non-decreasing function of |E(u) ∩ E i 2 −1 |, we have The five graphs illustrate the same vertices in five different steps j 1 , . . . , j 5 in the algorithm. A number on an edge e indicates how many times f u (e) has been increased and the red colour indicates vertices belonging to V j 1 , . . . , V j 5 . The five shown steps illustrate how the neighbours of u are, one by one, added into V j 1 , . . . , V j 5 in such a way that f u (uv) is increased as many times as possible. This can be thought of as a worst case scenario for f u (uv).
and v together into V i . At this step in Procedure 1 it follows from the same arguments as in Case 1 that f u,i−1 (e) log 2 (d(u)) − 1 as well as f v,i−1 (e) log 2 (d(v)) − 1, which means f i−1 (e) log 2 (d(u)) + log 2 (d(v)) − 2 + 1. Furthermore, in step i we increase f i−1 (e) at most twice and never change its value afterwards, thus f k+1 (e) φ(e).