ON STAR FAMILY PACKING OF GRAPHS

. Let H be a family of graphs. An H -packing of a graph G is a set { G 1 , G 2 , . . . , G k } of disjoint subgraphs of G such that each G j is isomorphic to some element of H . An H -packing of a graph G that covers the maximum number of vertices of G is called a maximum H -packing of G . The H -packing problem seeks to ﬁnd a maximum H -packing of a graph. Let i be a positive integer. An i -star is a complete bipartite graph K 1 ,i . This paper investigates the H -packing problem with H being a family of stars. For an arbitrary family S of stars, we design a linear-time algorithm for the S -packing problem in trees. Let t be a positive integer. An H -packing is called a t + -star packing if H consists of i -stars with i ≥ t . We show that the t + -star packing problem for t ≥ 2 is NP-hard in bipartite graphs. As a consequence, the 2 + -star packing problem is NP-hard even in bipartite graphs with maximum degree at most 4. Let T and t be two positive integers with T > t . An H -packing is called a T \ t -star packing if H = { K 1 , 1 , K 1 , 2 , . . . , K 1 ,T } \ { K 1 ,t } . For t ≥ 2, we present a t t +1 -approximation algorithm for the T \ t -star packing problem that runs in O ( mn 1 / 2 ) time, where n is the number of vertices and m the number of edges of the input graph. We also design a 12 -approximation algorithm for the 2 + -star packing problem that runs in O ( m ) time, where m is the number of edges of the input graph. As a consequence, every connected graph with at least 3 vertices has a 2 + -star packing that covers at least half of its vertices.

Let H = {K 2 , F 1 , . . . , F k }. It was proved in [7] that if each F i is hypomatchable then there is a polynomialtime algorithm to find a maximum H-packing of any input graph. Let H be any subset of {K t | t ≥ 1}. It was mentioned in [7] that if K 1 ∈ H or K 2 ∈ H, then the H-packing problem can be solved in polynomial time, otherwise it is NP-complete. A complete classification of the complexities of H-packing problems for H = {K 2 , F } was given in [11]. Let H be a set of cycles. Then the H-packing problem is NP-complete unless H is composed of all cycles, all cycles except C 3 , or all cycles except C 4 (see [1,9]). A k-piece is a connected graph with maximum degree equal to k. If H is the family of all k-pieces, then the H-packing problem can be solved in polynomial time [6].
Hell and Kirkpatrick [8] studied H-packing problems for H being a set of complete bipartite graphs. In particular, they showed that a graph has a {K 1,1 , K 1,2 , . . .}-factor if and only if it contains no isolated vertices. A set of stars is called a sequential star set if it is of the form {K 1,1 , K 1,2 , . . .} or {K 1,1 , K 1,2 , . . . , K 1,k } for some k ≥ 1. Let H be a set of stars. They proved that the H-factor problem is NP-complete unless H is a sequential star set. For any fixed integer k ≥ 2, using a method involving augmenting configurations similar to augmenting paths in the maximum matching problem, they designed an algorithm for the {K 1,1 , K 1,2 , . . . , K 1,k }-packing problem running in time O(|V | · |E|). In 2011, Bahenko and Gusakov [2] reduced the {K 1,1 , K 1,2 , . . . , K 1,k }-packing problem to the maximum flow problem and thus obtained an exact algorithm that runs in time O( |V | · |E|). Kelmans [10] investigated the induced star packing problem of graphs. Let G be a graph and f a function from V (G) to the positive integers. An (f )-star packing of G is a subgraph H of G such that each component of H is a star and if some vertex v is the center of the star then d H (v) ≤ f (v), where d H (v) is the number of edges incident with v in H. Ning [12] investigated the (f )-star packing problem of graphs. There is also some results on oriented star packings of digraphs [3].
The above results motivate us to investigate star family packing of graphs, where the star family is different from {K 1,1 , K 1,2 , . . . , K 1,k }. In Section 2, for an arbitrary family S of stars, we design a linear-time algorithm for the S-packing problem in trees. Let t be a positive integer. An H-packing is called a t + -star packing if H consists of i-stars with i ≥ t. In Section 3, we show that the t + -star packing problem for t ≥ 2 is NP-hard in bipartite graphs. As a consequence, the 2 + -star packing problem is NP-hard even in bipartite graphs with maximum degree at most 4. Let T and t be two positive integers with T > t. An H-packing is called a T \ t-star packing if H = {K 1,1 , K 1,2 , . . . , K 1,T } \ {K 1,t }. In Section 4, for t ≥ 2, we present a t t+1 -approximation algorithm for the T \ t-star packing problem that runs in O(mn 1/2 ) time, where n is the number of vertices and m the number of edges of the input graph. We also design a 1 2 -approximation algorithm for the 2 + -star packing problem that runs in O(m) time, where m is the number of edges of the input graph. As a consequence, every connected graph with at least 3 vertices has a 2 + -star packing that covers at least half of its vertices.
Let G be a graph. For a vertex v of G, denote by N (v) the set of all neighbors of v. If W is a subset of N (v) then we use S(v; W ) to denote the star of G with center v and leaf set W . In case W = N (v), S(v; W ) is simply written as S(v).

A linear-time algorithm for arbitrary star family packing problems in trees
Let I be a set of positive integers. An I-star packing of a graph G is an H-packing of G with H = {i-star: i ∈ I}. In this section, we design a linear-time algorithm for the I-star packing problem in trees for any set I of positive integers.
Let T (r) be a tree rooted at r. The level of a vertex v, denote by l(v), is the length of the path rT v. Let u and v be two vertices such that u is on the path rT v. Then we say u is an ancestor of v and v is a descendant of u. An ancestor or descendant of a vertex is proper if it is not the vertex itself. The immediate proper ancestor of a vertex v other than the root is its parent, denoted by F (v). If F (v) = r, then the parent of F (v) is called the grandparent of v, denoted by GF(v). The vertices whose parent is v are its children. Denote by CHD(v) the set of all children of v. For any two vertices u and v, if F (u) = F (v) then they are siblings. We denote by B[v] the set of all siblings of v including itself.
For a vertex v of T (r), by T (v) we denote the subtree of T (r) rooted at v that is induced by all descendants of v. If v = r, by T * (v) we denote the subtree of T (r) obtained from T (v) by adding the vertex F (v) and the edge vF (v).

Remark. It is clear that
has no I-star packing with v being a center of some star and so For each v ∈ V (T (r)), let Then it is clear that F (v) is a maximum I-star packing of T (v). In particular, F (r) is a maximum I-star packing of T (r).
For a positive integer k, denote by [k] the set of integers 1, 2, . . . , k. In our algorithm, for a vertex v, color l red 7: end while 8: while there is an uncolored vertex v with CHD(v) = ∅ and all its children being red do 9: let all children of v be w 1 , w 2 , . . . , w k 10:

end for
15: and color v red 20: end while 21: Call Subroutine 1.4 to retrieve the maximum I-star packing of T (r) . . , w g })} 9: else 10: set g 1 := max{j | j < |J|, j ∈ I} and h 1 := min{j | j > |J|, j ∈ I} 11: if k + 1 < g then else if |J| + 1 ∈ I then 5: if label each vertex in CHD(V ) with 6: let S be the star in ∆F + end if 22: end while 23: return f r and F r In Algorithm 1 line 13, it calls Algorithm 2 to sort δ 1 , δ 2 , . . . , δ k . Because each δ i is a nonnegative integer that is less than or equal to k, Algorithm 2 can sort them in linear time.

Algorithm 2. Sort Algorithm.
Input: q integers k1, k2, . . . , kq with 0 ≤ ki ≤ q for i = 1, 2, . . . , q Output: 2q nonnegative integers l1, l2, . . . , lq, b1, b2, . . . , bq s.t. l1 ≤ l2 ≤ · · · ≤ lq and li = k b i for i = 1, 2, . . . , q 1: for j := 0 to q do   Proof. The time complexity has been determined in Lemma 2.2. We next prove that the output F r is a maximum I-star packing of T (r). It is clear from Subroutine 1.4 that F r covers exactly f r vertices. Thus we only need to show that in each iteration of the second "while" loop, it computes Let v be a vertex of T (r) with children w 1 , w 2 , . . . , w k . Suppose it has computed the correct values of f 0 wi , f + wi , f * wi , f − wi and f wi for i = 1, 2, . . . , k. Then it is clear from the algorithm that f 0 v is computed correctly. We next show that so is f + v .
Recall that f + v is defined as the maximum number of vertices covered by an I-star packing of T (v) with v being a center of some star. Since v must be a center of some star S, we have to find a set A ⊆ [k] with |A| ∈ I such that the set of leaves of S is {w i |i ∈ A}. Thus and |A| ∈ I .
To obtain the correct value of f + v , the key is to choose a set A ⊆ [k] with |A| ∈ I that maximize the value of |A| − i∈A δ i . If |J| ∈ I, then it is obvious that Note that δ 1 , δ 2 , · · · , δ k have been sorted so that δ 1 ≤ δ 2 ≤ · · · ≤ δ k . If |J| > h, then the set A = {1, 2, · · · , h} maximizes the value |A| − i∈A δ i . Therefore And f + v is computed correctly. The proof of f * v is similar to that of f + v , so we omit it. And it is very clear that the algorithm computes f − v and f v correctly. Thus the theorem follows.

Hardness of the t + -star packing problem in bipartite graphs
Let t ≥ 2 be an integer. An H-packing with H = {i-star | i ≥ t} of a graph G is called a t + -star packing of G. Let G be a graph. A subset K of V (G) is called a vertex cover of G if each edge of G has an end vertex in K. A vertex cover of G with minimum number of vertices is called a minimum vertex cover of G.
Problem Vertex Cover Instance: A graph G and an integer k. Question: Is there a vertex cover of G of cardinality at most k?
It is well known that the problem Vertex Cover is NP-complete, see [5].
Problem t + -Star Packing Instance: A graph G and an integer p. Quesion: Is there a t + -star packing of G that covers at least p vertices? Suppose X and Y are two sets of vertices. We denote by E(X, Y ) the set of all edges xy with x ∈ X and y ∈ Y , that is E(X, Y ) = {xy | x ∈ X and y ∈ Y }. Theorem 3.1. Let t ≥ 2 be an integer. Then the problem t + -Star Packing in bipartite graphs is NP-complete.
Proof. It is clear that the problem is in NP since it can be checked in polynomial time that whether a t + -star packing covers at least p vertices. We prove the theorem by reducing Vertex Cover to t + -Star Packing. Let (G, k) be an instance of Vertex Cover, where V (G) = {v 1 , v 2 , . . . , v n } and E(G) = {e 1 , e 2 , . . . , e m }. We construct from (G, k) an instance (H, p) of t + -Star Packing as follows.
For i = 1, 2, . . . , n, let Then the graph H is defined as Please see Figure 1 for an illustration. It is clear that H is bipartite and |V (H)| = m + n(2t − 1).
Let p = m + n(t + 1) − k. We next show that G has a vertex cover of cardinality at most k if and only if H has a t + -star packing covering at least p vertices of H. Suppose G has a vertex cover of cardinality at most k. W.l.o.g., suppose K = {v 1 , v 2 , . . . , v q } with q ≤ k is a minimum vertex cover of G. Because K is a minimum vertex cover, for each v i ∈ K, there is an edge e i ∈ E i such that e i / ∈ j∈[q]\{i} E j . Set Let e be any edge in E(G) \ {e 1 , e 2 , . . . , e q }. Suppose the two end vertices of e are v i and v j . Since K is a vertex cover of G, at lease one of v i and v j is in K. W.l.o.g., assume v i ∈ K. Then we add e to the leaf set of the star S i . After all edges in E(G) \ {e 1 , e 2 , . . . , e q } have been deposed, we still write the resulting q stars as S 1 , S 2 , . . . , S q . Then S 1 , S 2 , . . . , S q cover all vertices of H in E(G). Thus the t + -star packing {S 1 , S 2 , . . . , S n } covers m + n(t + 1) − q ≥ m + n(t + 1) − k = p vertices of H. Now suppose H has a t + -star packing covering at least p vertices. We shall prove that G has a vertex cover of cardinality at most k. For a t + -star packing Γ of H, denote by C(Γ) the set of all centers of stars in Γ and by V (Γ) the set of vertices covered by Γ. We first prove the following claim.
Claim. Let Γ be a maximum t + -star packing of H such that |V (Γ) ∩ E(G)| is as large as possible. Then, (1) Proof. (1) If t > 2 then it is obvious that C(Γ) ∩ E(G) = ∅. Thus we assume t = 2. Let e j be any edge in E(G) with two end vertices v i and v s . If e j ∈ C(Γ), then all vertices in U i ∪ W i ∪ U s ∪ W s are exposed under Γ.
Then Γ is a t + -star packing of H with |V (Γ )| > |V (Γ)|, contradicting the assumption that Γ is a maximum t + -star packing of H. Therefore e j / ∈ C(Γ), and so C(Γ) ∩ E(G) = ∅. Now let Γ be a maximum t + -star packing of H such that |V (Γ) ∩ E(G)| is as large as possible. Let K = C(Γ) ∩ V (G). Since E(G) ⊆ V (Γ) by Claim (3) and each e j in E(G) can only be covered by some star with its center in K, we conclude that K is a vertex cover of G. On the other hand, since we have |K| ≤ k. Thus K is a vertex cover of G of cardinality at most k.
Now the NP-completeness of t + -Star Packing in bipartite graphs follows from that of Vertex Cover.
The minimum vertex cover problem in cubic graphs remains NP-complete [4]. Note that, in the proof of Theorem 3.1, if t = 2 and G is a cubic graph then the graph H constructed from G is a bipartite graph with maximum degree 4. Thus we immediately have the following corollary.
In this section, we use different strategies to design approximation algorithms for maximum T \ t-star packing (with t ≥ 2) and 2 + -star packing of general graphs. In Algorithm 3, we first find an optimal T -star packing of the input graph and then modify it into a T \ t-star packing. While in Algorithm 4, we first find a rooted spanning tree T (r) of the input graph G and then find a 2 + -star packing of T (r) and use it as an approximation solution.
Algorithm 3. Algorithm for T \ t-star packing.
Input: a graph G and two positive integers T and t with 2 ≤ t < T Output: a T \ t-star packing of G 1: find a maximum T -star packing Γ of G 2: let Γ = {H1, H2, . . . , H k } 3: for i := 1 to k do 4: if |V (Hi)| = t + 1 then For a graph G, we use opt(G, T ) (resp. opt(G, T \ t), opt(G, 2 + )) denote the number of vertices covered by a maximum T -star packing (resp. T \ t-star packing, 2 + -star packing) of G. Proof. Algorithm 3 first finds a maximum T -star packing Γ = {H 1 , H 2 , . . . , H k } of the input graph G. This can be done by applying an algorithm designed in [2] within O(m √ n) time steps. If some H i is a t-star then the algorithm deletes one vertex from it and obtains a (t − 1)-star of G. This clearly spends at most O(n) time steps. Thus the overall running time of the algorithm is O(m √ n). It is also obvious that the resulting T \ t-star packing of G covers at least t t+1 opt(G, T ) ≥ t t+1 opt(G, T \ t) vertices of G. Let T (r) be a tree rooted at r. Let v be any vertex of T (r). Recall that, in Section 2, we define the notations It is worth to point out that the lower bound 1 2 |V (G)| in this theorem is sharp. Let G be a tree obtained from a star by adding a new vertex for each leaf and an edge between them. It is not difficult to see that the maximum 2 + -star packing of G covers exactly 1 2 (|V (G)| + 1) vertices.

Conclusion & future work
Hell and Kirkpatrick [8] proved that the H-factor problem is NP-complete unless H is a sequential star set and designed a polynomial-time algorithm for the {K 1,1 , K 1,2 , . . . , K 1,k }-packing problem in general graphs. We investigate star family packing which is not a sequential star set. We design a linear-time algorithm to compute the maximum I-star packing of trees and prove that the t + -star packing problem for t ≥ 2 is NP-hard in bipartite graphs. We also design approximation algorithms for the T \ t-star packing problem and the 2 + -star packing problem.
As we can see, there is little research on star family packing of graphs in the literature. It will be meaningful to design algorithms for certain star family packing of some special classes of graphs. In particular, it is very important to investigate the cases when the star family consists of a single or two small stars.