Factors With Multiple Degree Constraints in Graphs Richard C. Brewster, Sean McGuinness, and Morten Hegner Nielsen Thompson Rivers University Kamloops, BC V2C0C8 Canada August 9, 2013
Abstract For a graph G and for each vertex v ∈ V (G), let ΛG (v) = {EG (v, 1), EG (v, 2), . . . , EG (v, kv )} be a partition of the edges incident with v. Let ΛG = {ΛG (v) v ∈ V (G)}. We call the pair (G, ΛG ) a partitioned graph. Let k = maxv kv and let g, f : V (G) × {1, . . . , k} → N and t, u : V (G) → N be functions where for all vertices v ∈ V (G) (i) g(v, i) ≤ f (v, i) ≤ dG (v, i) i = 1, . . . , kv (ii) u(v) ≤ t(v) ≤ dG (v) Pkv Pkv (iii) u(v) ≤ i=1 f (v, i) and i=1 g(v, i) ≤ t(v). A subgraph H of the partitioned graph is said to be a (g, f, u, t)factor if all vertices v ∈ V (G) satisfy (a) g(v, i) ≤ dH (v, i) ≤ f (v, i), i = 1, . . . , kv and (b) u(v) ≤ dH (v) ≤ t(v) where dH (v, i) = |E(H) ∩ EG (v, i)|. In this paper, we shall show via a reduction to a matching problem, that there is a good algorithm for determining whether a partitioned graph has a (g, f, u, t)-factor. Secondly, we shall also prove a theorem which characterizes the existence of (0, f, t, u)-factors in a partitioned graph when u(v) < f (v, i) for all v and i. As a special case, we obtain Lov´asz’s (g, f )-factor theorem.
1
1 1.1
Introduction Notation
Let G be a graph. For U ⊆ V (G), let U = V (G)\U . For v ∈ V (G), let NG (v) denote the set of neighbours of v in G, let EG (v) be the set of edges incident with v, and let dG (v) = |EG (v)|. For U ⊆ V (G), we let EG (U ) = ∪v∈U EG (v) and dG (U ) = |EG (U )|. For sets U, W ⊆ V , EG (U, W ) shall denote the set of edges joining a vertex in U to a vertex in W and dG (U, W ) shall denote the cardinality of this set. For a real-valued function φ defined on V (G) and a set S ⊆ V (G), we P function defined on V (G), let φ(S) = s∈S φ(s). If ψ is another real-valued ψ(v) < φ(v)} and Vψ=φ = {v ∈ we define two sets V = {v ∈ V (G) ψ dG (v, i) − b g(v, i) − 1 = |(Y (v, i) ∪ Z(v, Si)) \ {x}|. Thus γ(G, w) equals the number of M -unsaturated vertices of v X(v). Let µ(v, i) (for all v, i) denote the number of M -unsaturated vertices of X(v, i) and let H be the spanning subgraph of G consisting of the edges e ∈ E(G) where eb ∈ M. Now consider any pair v, i. We shall show that defH (v, i) = µ(v, i) for all v, i. Suppose µ(v, i) ≥ 1. By maximality of M , every vertex of Y (v, i)∪Z(v, i) is matched to a vertex in X(v, i) and so defH (v, i) = max{g(v, i) − dH (v, i), 0} = max{g(v, i) − (|X(v, i)| − |Y (v, i) ∪ Z(v, i)| − µ(v, i)), 0} = µ(v, i). Suppose µ(v, i) = 0. Let β denote the number of edges of M between X(v, i) and Z(v, i); note that β ≤ |Z(v, i)| = f (v, i) − g(v, i). Then defH (v, i) = max{g(v, i) − dH (v, i), 0} = max{g(v, i) − (|X(v, i)| − |Y (v, i)| − β), 0} = max{g(v, i) − f (v, i) + β, 0} = 0 = µ(v, i). It follows that defH (v, i) = µ(v, i) for all v, i and hence δ(G, g, f, t) ≤ b w). γ(G, b w) ≤ δ(G, g, f, t). To complete the proof, we need only show that γ(G, Suppose H is a minimum-deficiency (0, f, t, 0)-subgraph of G and let M b consisting of exactly those edges eb ∈ E(G) b where be the matching in G
9
e ∈ E(H). Suppose defH (v, i) > 0. Then defH (v, i) = g(v, i) − dH (v, i) and hence dG (v, i) = |X(v, i)| = dH (v, i) + defH (v, i) + dG (v, i) − g(v, i) = dH (v, i) + defH (v, i) + |Y (v, i) ∪ Z(v, i)|. Denote by M (v, i) a perfect matching between Y (v, i) ∪ Z(v, i) and any |Y (v, i)∪Z(v, i)| M -unsaturated vertices in X(v, i); then the extended matching M ∪M (v, i) leaves exactly defH (v, i) vertices unmatched in X(v, i). Now suppose defH (v, i) = 0. Then |X(v, i)| − dH (v, i) satisfies |Y (v, i)| = dG (v, i) − f (v, i) ≤ |X(v, i)| − dH (v, i) ≤ dG (v, i) − g(v, i) = |Y (v, i) ∪ Z(v, i)|. Denote by M (v, i) a perfect matching between the |X(v, i)| − dH (v, i) M unsaturated vertices of X(v, i) and the set Y (v, i)∪Z 0 (v, i), for some Z 0 (v, i) ⊆ Z(v, i) where |Z 0 (v, i)| = |X(v, i)| − dH (v, i) − |Y (v, i)| = f (v, i) − dH (v, i). Then the extended matching M ∪ M (v, i) leaves exactly |Z(v, i) \ Z 0 (v, i)| = dH (v, i) − g(v, i) vertices unmatched in Z(v, i). It now follows that, for any v ∈ V (G), X (dH (v, i) − g(v, i)) ≤ t(v) = |W (v)|. i : defH (v,i)=0
Therefore, forSeach vertex v ∈ V (G) in turn, we may S further extend the matching M ∪ v,i M (v, i) by a perfect matching between i : defH (v,i)=0 (Z(v, i)\ Z 0 (v, i)) and some subset of W (v). The resulting matching has the same b w) ≤ δ(G, g, f, t). deficiency as H, and we conclude that γ(G, It is well known that a maximum-weight matching in a (vertex- or edge-) weighted graph can be found in polynomial time (see [7]). Note also that the proof of Theorem 3.2 shows how to construct a minimumdeficiency (0, f, t, 0)-subgraph of a graph G from a maximum-weight matchb w); thus we have the following corollary (where digraphs may ing in (G, contain parallel arcs and 2-cycles). 3.3 Corollary → − → − Let G be a digraph with associated functions g − , g + , f − , f + , t : V ( G ) → N + + + satisfying that 0 ≤ g − (v) ≤ f − (v) ≤ d− − → (v), 0 ≤ g (v) ≤ f (v) ≤ d− → (v), G G → − and g − (v) + g + (v) ≤ t(v) ≤ f − (v) + f + (v) for every v ∈ V ( G ). Then there is a polynomial time algorithm for constructing a spanning → − → − subdigraph H of G satisfying 10
→ − + − + → (v) ≤ t(v) for all v ∈ V ( G ); (i) d− − → (v) ≤ f (v), d− → (v) ≤ f (v), and d− H H
H
P − (v) − d− (v), 0} + max{g + (v) − d+ (v), 0} → (ii) the deficiency v∈V (− max{g − → − → G) H H → − → − of H is minimum over all spanning subdigraphs of G that satisfy (i).
An immediate consequence of Corollary 3.3 is that a cycle factor (i.e., a spanning collection of pairwise disjoint directed cycles) in a digraph can be found in polynomial time, if one exists.
4
The Tutte-Berge Formula and Barriers
We shall make use of the classical Tutte-Berge formula (see [1], Corollary 16.12). Suppose w : V (G) → {0, 1} is a weighting of the vertices of a graph G. Let S ⊆ V (G); we let K(G\S) (respectively, Ko (G\S)) denote the set of components (respectively, odd components) of G\S. For each component K ∈ K(G\S), we say that K is odd with respect to w if K ∈ Ko (G\S) and all vertices of K have weight one. If K is not odd with respect to w, it is o (G\S) be the set of odd components of G\S with respect to even. We let Kw o (G\S)|. Let ξ (S) = max{o (G\S) − |S|, 0} and w and let ow (G\S) = |K w w w let ξw (G) = max{ξw (S) S ⊆ V (G)}. We then have the following theorem which can be derived from the classic Tutte-Berge formula (where w(v) = 1 for all vertices v). 4.1 Theorem ( Weighted Tutte-Berge ) γ(G, w) = ξw (G) Let G be a graph and w : V (G) → {0, 1} be a weighting of the vertices of G. We say that a set S ⊆ V (G) is a barrier for the weighted graph (G, w) if ξw (S) > 0. Moreover, S ∗ is a maximum barrier for (G, w) if (I) S ∗ is a barrier for which ξw (S ∗ ) is maximum; (II) |S ∗ | is minimum among all barriers that satisfy (I). The next lemma describes some useful properties pertaining to S ∗ . 4.2 Lemma Suppose S ∗ is a maximum barrier for the weighted graph (G, w). Then: o (G \ S ∗ ). (i) Each x ∈ S ∗ is adjacent to at least one odd component of Kw
11
(ii) Each x ∈ S ∗ with w(x) = 1 is adjacent to at least two odd components o (G \ S ∗ ); furthermore, if x is adjacent to no components in of Kw K(G \ S ∗ ) having a vertex of weight zero, then x is adjacent to at least three odd components. (iii) Each x ∈ S ∗ with w(x) = 0 is adjacent to at least two components of K(G \ S ∗ ). (iv) For each pair x1 , x2 of non-adjacent vertices of G where w(xi ) = 1 and |NG (xi ) \ NG (x3−i )| ≤ 1, i = 1, 2, either {x1 , x2 } ⊆ S ∗ or {x1 , x2 } ⊆ S∗. o (G \ S ∗ ), then the Proof. If x ∈ S ∗ is adjacent to no odd components of Kw ∗ ∗ ∗ set T = S \ {x} satisfies ξw (T ) ≥ ξw (S ) and |T | < |S |, contradicting the choice of S ∗ . This proves (i). Let x ∈ S ∗ where w(x) = 1. By (i), x is adjacent to at least one odd o (G \ S ∗ ). Let T = S ∗ \ {x}. If x is adjacent to only one component of Kw odd component, then x together with all the components of K(G \ S ∗ ) that are adjacent to x become one even component in K(G \ T ); this means that ξw (T ) ≥ ξw (S ∗ ) and so T is a barrier for (G, w) with |T | < |S ∗ |, contradicting the choice of S ∗ . So x is adjacent to at least two odd components of o (G \ S ∗ ). Kw If x is adjacent to no components K ∈ K(G\S ∗ ) having vertices of weight zero, and x is adjacent to exactly two odd components, then x together with all the components in K(G \ S ∗ ) to which it is adjacent become one o (G \ T ); again, it follows that ξ (T ) ≥ ξ (S ∗ ) and odd component in Kw w w ∗ |T | < |S |, contradicting the choice of S ∗ . This proves (ii). Suppose x ∈ S ∗ has weight w(x) = 0 and is adjacent to at most one component of K(G \ S ∗ ). Let T = S ∗ \{x}. Then ξw (T ) > ξw (S ∗ ), if x is o (G \ S ∗ ), and ξ (T ) = ξ (S ∗ ), if not adjacent to any odd component of Kw w w o (G \ S ∗ ). Since |T | < |S ∗ |, this x is adjacent to an odd component of Kw contradicts the minimality of S ∗ . This proves (iii) Suppose x1 , x2 are as stated in (iv) and x1 ∈ S ∗ and x2 ∈ S ∗ . Then x2 belongs to a component K in K(G \ S ∗ ). Suppose that x1 is adjacent to at least three components in K(G \ S ∗ ); such components contain vertices of NG (x1 ). Since |NG (x1 ) \ NG (x2 )| ≤ 1, at least two such components also contain vertices of NG (x2 ). Given that x2 ∈ V (K), both components must be contained in K, a contradiction. So x1 is adjacent to at most two components of K(G \ S ∗ ). The first part of (ii) implies that x1 is adjacent to
12
exactly two components, both of which are odd; however, this contradicts the last part of (ii). This proves (iv).
5
A theorem on (0, f, t, u)-factors
In this section, we shall prove Theorem 1.5.
5.1
e w) The weighted graph (G,
Let (G, ΛG ) be a partitioned graph, and let g, f, u, t be functions satisfying conditions (i),(ii), and (iii) given in the abstract where we shall assume that g = 0. For convenience, we shall extend the notation EG (v, i) by defining EG (v, i) = Ø, whenever i > kv . e w) as follows: for each v ∈ We shall construct a weighted graph (G, V (G), let X(v, 1), X(v, 2), . . . , X(v, kv ), Y (v, 1), Y (v, 2), . . . , Y (v, kv ) be disjoint sets with cardinalities |X(v, i)| = dG (v, i) and |Y (v, i)| = dG (v, i) − f (v, i), where i = 1, 2, . . . , kv . Let W (v) and Z(v) be disjoint sets, where |W (v)| = f (v) − t(v) and |Z(v)| = t(v) − u(v). For all v ∈ V (G) and all i ∈ {1, . . . , kv }, each vertex of X(v, i) shall be joined to each vertex of Y (v, i) ∪ W (v) ∪ Z(v). For v ∈ V (G), let Ve (v) = X(v) ∪ Y (v) ∪ W (v) ∪ Z(v). For a subset U ⊆ V (G), let X(U ) = ∪v∈U X(v), Y (U ) = ∪v∈U Y (v), and Ve (U ) = ∪v∈U Ve (v). For v ∈ V (G), i ∈ {1, . . . , kv }, and I ⊆ {1, . . . , kv }, let Ve (v, i) = X(v, i) ∪ Y (v, i)∪W (v)∪Z(v) and Ve (v, I) = ∪i∈I Ve (v, i). Given that |X(v)| = dG (v), we may assign to each edge e ∈ EG (v) a distinct vertex ve ∈ X(v). For each e as follows: if e has endvertices edge e ∈ E(G), we shall assign an edge ee in G e u and v, then let ee be the edge joining the vertices ue and ve in G. e Finally, the weight function w : V (G) → {0, 1} shall be defined as follows: S 0, if v ∈ u Z(u); w(v) = 1, otherwise. We have the following lemma whose proof is left as an easy exercise. 5.1 Lemma The partitioned graph (G, ΛG ) has an (0, f, t, u)-subgraph if and only if e w) has a matching which saturates all vertices of weight 1. (G,
13
5.2
Proof of the (0, f, t, u)-factor theorem
e defined above. For each We shall make one modification to the graph G v ∈ Vu=t , we may assume that kv = 1 (since t(v) = u(v) < f (v, i), for all i = 1, . . . , kv ); furthermore, we may assume that Y (v), W (v), and Z(v) are sets such that |W (v)| = dG (v) − u(v) and Y (v) = Z(v) = Ø. Lemma e Suppose that H is 5.1 is seen to hold even with this modification to G. a (0, f, t, u)-subgraph of (G, ΛG ). Let H = G\E(H). Let A1 , . . . , A2k be disjoint (possibly empty) subsets of V (G) and let A = A1 ∪ A2 ∪ · · · A2k . Let K0 be the set of components of G0 = G\A. We shall show that (2) holds. We first observe that k
2 X
k
k
2 X
2 X
dG (A1 ; Ai , Ii ) = dH (A1 ; Ai , Ii ) + dH (A1 ; Ai , Ii ). i=2 i=2 i=2 K0 where K is odd with respect to A1 , . . . , A2k . Since V (K)
(3)
Let K ∈ ⊆ Vu=t , it (v) = u(v) = t(v) for all v ∈ V (K). Thus u(V (K)) = P follows that dHP u(v) = v∈V (K) v∈V (K) dH (v) ≡ dH (V (K), V (K)) (mod 2). Given that K is odd, we have that dH (V (K), V (K))+dG (A1 , V (K)) ≡ 1 (mod 2). Since dG (A1 , V (K)) = dH (A1 , V (K)) + dH (A1 , V (K)) and dH (V (K), V (K)) = dH (A1 , V (K))+dH (A\A1 , V (K)), we see that dH (A1 , V (K))+dH (A\A1 , V (K)) ≡ 1 (mod 2). Since K is odd with respect to A1 , A2 , . . . , A2k we have that dG (V (K); Ai , I i ) = 0, i = 1, . . . , 2k . Thus we have dH (A\A1 , V (K)) = P2k P2k i=2 dH (Ai , Ii ; V (K)). It follows that dH (A1 , V (K))+ i=2 dH (Ai , Ii ; V (K)) ≡ 1 (mod 2). Thus we have k
q(A1 , . . . , A2k ) ≤ dH (A1 , A) +
2 X
dH (Ai , Ii ; A).
(4)
i=2
Thus k
2 X
k
dG (A1 ; Ai , Ii ) + q(A1 , . . . , A2k ) =
i=2
2 X
dH (A1 ; Ai , Ii )
i=2 k
+
2 X
dH (A1 ; Ai , Ii ) + q(A1 , . . . , A2k )
i=2 k
≤
2 X
k
dH (A1 ; Ai , Ii ) +
i=2
2 X
dH (A1 ; Ai , Ii )
i=2 k
+ dH (A1 , A) +
2 X i=2
14
dH (Ai , Ii ; A).
(5)
We also have k
2 X
dH (A1 ; Ai , Ii ) + dH (A1 , A) ≤ dH (A1 )
i=2
≤
X
(dG (v) − u(v))
v∈A1
= dG (A1 ) − u(A1 ),
(6)
and k
2 X
k
dH (A1 ; Ai , Ii ) +
i=2
2 X
dH (Ai , Ii ; A)
i=2
≤
k −1 2X
f (Ai , Ii ) + dH (A1 , A2k ) + dH (A2k , A)
i=2
≤
k −1 2X
f (Ai , Ii ) + t(A2k ).
(7)
i=2
It follows from (5), (6), and (7) that (2) holds. Suppose now that (G, ΛG ) has no (0, f, t, u)-subgraph. We shall find pairwise disjoint subsets of vertices A1 , A2 , . . . , A2k for which (2) does not hold. e w) Given that there is no (0, f, t, u)-subgraph, Lemma 5.1 implies that (G, e has no matching which saturates all vertices of weight 1. Thus ξw (G) > 0; let non−sing e e Denote by osing e ∗ S ∗ be a maximum barrier for G. (G\S ∗ ) w (G\S ) and ow the number of odd singleton and odd non-singleton components, respece ∗ with respect to w. tively, of G\S Using Lemma 4.2, one can show the following: (i) W (v) ∪ Z(v) ⊆ S ∗ or W (v) ∪ Z(v) ⊆ S ∗ , for all v ∈ V (G). (ii) X(v, i) ⊆ S ∗ or X(v, i) ⊆ S ∗ , for all v ∈ V (G) and i = 1, . . . , kv . (iii) Y (v, i) ⊆ S ∗ or Y (v, i) ⊆ S ∗ , for all v ∈ V (G) and i = 1, . . . , kv . In addition, we have the following properties (iv)–(vii): (iv) For all v ∈ V (G), if W (v)∪Z(v) ⊆ S ∗ , then X(v) ⊆ S ∗ and Y (v) ⊆ S ∗ . Proof. Suppose W (v)∪Z(v) ⊆ S ∗ . If v ∈ Vu=t , then kv = 1 and Y (v) = Z(v) = Ø. Thus each vertex of W (v) is only adjacent to vertices in 15
X(v) = X(v, 1). It follows by (ii) and Lemma 4.2 (ii) that X(v) ⊆ S ∗ . Thus we may assume that v ∈ Vu ξw (S ∗ ), where the last inequality follows from the fact that f (v, i) > u(v). Thus ξw (T ∗ ) > ξw (S ∗ ) and this contradicts the fact that S ∗ is a maximum barrier. It follows that X(v) ⊆ S ∗ . We shall show that Y (v) ⊆ S ∗ . Suppose to the contrary that Y (v, i) ⊆ S ∗ for some i ∈ {1, . . . , kv }. Then X(v, i) ∪ Y (v, i) ⊆ V (K) for some e ∗ . Let T ∗ = S ∗ \Ve (v). Then all the vertices of component K of G\S e e ∗ . Furthermore, we see that V (v) belong to a single component of G\T X ξw (T ∗ ) ≥ ξw (S ∗ ) + |W (v)| + |Z(v)| − 1 − f (v, j) j6=i
= ξw (S ∗ ) + f (v) − u(v) − 1 −
X
f (v, j)
j6=i
= ξw (S ∗ ) + f (v, i) − u(v) − 1 ≥ ξw (S ∗ ). Thus ξw (T ∗ ) ≥ ξw (S ∗ ); however, |T ∗ | < |S ∗ | and this contradicts the fact that S ∗ is a maximum barrier. Therefore, Y (v) ⊆ S ∗ . This completes the proof of (iv). (v) For all vertices v ∈ V (G), if W (v) ∪ Z(v) ⊆ S ∗ , then for i = 1, . . . , kv we have either X(v, i) ⊆ S ∗ and Y (v, i) ⊆ S ∗ or Ve (v, i) ⊆ V (K), for e ∗. some component K of G\S 16
Proof. Let v ∈ V (G) and suppose that W (v) ∪ Z(v) ⊆ S ∗ . Let i ∈ {1, . . . , kv }. If X(v, i) ⊆ S ∗ , then (iii) and Lemma 4.2 (i) imply that Y (v, i) ⊆ S ∗ . We suppose therefore that X(v, i) ⊆ S ∗ . Then X(v, i) ∪ e ∗ . Now Lemma 4.2 W (v)∪Z(v) ⊆ V (K), for some component K of G\S ∗ (ii) implies that Y (v, i) ⊆ S . In particular, this means that Y (v, i) ⊂ V (K) as well. This completes the proof of (v). Recall that the sets I1 , I2 , . . . , I2k denote the subsets of {1, 2, . . . , k} where I1 = Ø and I2k = {1, 2, . . . , k}. For each v ∈ V (G), let Iv = {i ∈ W (v) ∪ Z(v) ⊆ S ∗ }. {1, . . . , k} X(v, i) ⊆ S ∗ }. Let A1 = {v ∈ V (G) ∗ For i = 2, . . . , 2k − 1, let Ai = {v ∈∗ V (G) Iv = Ii ; X(v) 6⊆ S }. Let A2k = {v ∈ V (G) X(v) ⊆ S } and A = A1 ∪ · · · ∪ A2k . By (iv), it follows that Iv = I1 = Ø for all v ∈ A1 . Let v ∈ Vu=t . Then X(v) = X(v, 1) and Y (v) = Z(v) = Ø. There are three possibilities for v, namely: either X(v) ⊆ S ∗ and W (v) ⊆ S ∗ , or X(v) ⊆ S ∗ and W (v) ⊆ S ∗ , or X(v) ∪ W (v) ⊆ S ∗ . Thus either v ∈ A2k , or v ∈ A1 , or v ∈ A, according to the choices above. Thus Vu=t ⊆ A1 ∪ A2k ∪ A and hence A\(A1 ∪ A2k ) ⊆ Vu