Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Induced Graph Packing Problems

Graphs and Combinatorics

Let $${\mathcal{H}}$$ be a set of undirected graphs. The induced $${\mathcal{H}}$$ -packing problem in an input graph G is to find a subgraph Q of G of maximum size such that each connected component of Q is an induced subgraph of G and is isomorphic to some member of $${\mathcal{H}}$$ . In this paper we focus on the case when $${\mathcal{H}}$$ consists of factor-critical graphs and a certain family of ‘propellers’. Clarifying the methods developed in the related theory of non-induced graph packings, we show a Gallai–Edmonds type structure theorem and a Berge–Tutte type minimax formula. We also give an Edmonds type alternating forest algorithm for the case when $${\mathcal{H}}$$ consists of a sequential set of stars and factor-critical graphs. This simplifies the related result of Egawa, Kano and Kelmans.

Graphs and Combinatorics (2010) 26:243–257 DOI 10.1007/s00373-010-0906-0 ORIGINAL PAPER Induced Graph Packing Problems Zoltán Király · Jácint Szabó Received: 1 October 2008 / Revised: 10 October 2009 / Published online: 27 February 2010 © Springer 2010 Abstract Let H be a set of undirected graphs. The induced H-packing problem in an input graph G is to find a subgraph Q of G of maximum size such that each connected component of Q is an induced subgraph of G and is isomorphic to some member of H. In this paper we focus on the case when H consists of factor-critical graphs and a certain family of ‘propellers’. Clarifying the methods developed in the related theory of non-induced graph packings, we show a Gallai–Edmonds type structure theorem and a Berge–Tutte type minimax formula. We also give an Edmonds type alternating forest algorithm for the case when H consists of a sequential set of stars and factor-critical graphs. This simplifies the related result of Egawa, Kano and Kelmans. Keywords Matching · Graph packing · Gallai–Edmonds structure theorem 1 Introduction If H is a set of undirected graphs then a subgraph Q of an undirected graph G is called an induced H-packing if every connected component of Q is an induced subgraph Z. Király research was supported by EGRES group (MTA-ELTE) and OTKA grants CNK 77780, K 60802 and NK 67867. J. Szabó research was supported by OTKA grants K60802, TS049788 and by European MCRTN Adonet, Contract Grant No. 504438. Z. Király (B) Department of Computer Science and CNL, Eötvös University, Pázmány P. s. 1/C, Budapest 1117, Hungary e-mail: kiraly@cs.elte.hu J. Szabó MTA-ELTE Egerváry Research Group (EGRES), Department of Operations Research, Eötvös University, Pázmány P. s. 1/C, Budapest 1117, Hungary e-mail: jacint@elte.hu 123 244 Graphs and Combinatorics (2010) 26:243–257 of G and is isomorphic to some member of H. An induced H-packing is maximum if it covers a maximum number of vertices of G, and it is an induced H-factor if it is spanning. The induced H-packing problem is to find a maximum induced H-packing in the input graph G. Observe that if H = {K 2 } then we get the classical matching problem. For i ≥ 1 the i-star Si is a connected graph with a specified vertex, the center c, such that Si − c is the union of i isolated vertices, called leaves. Beyond the matching problem, induced graph packing problems were investigated only by a few authors. First, Saito and Watanabe [19] characterized those graphs which have an induced star factor (that is H = {S1 , S2 , . . .}). The induced {S1 , . . . , Sk }-packing problem was first studied by Egawa, Kano and Kelmans [6,10] who gave a polynomial algorithm, a Gallai–Edmonds type structure theorem and a Tutte type theorem. Induced packings originate in the family of non-induced graph packing problems. These are relaxation of the induced version, where we do not require the components of Q to be induced subgraphs of G. Apart from matchings, the first studied non-induced graph packing problem was the {K 2 , C3 , C5 , . . .}-packing problem. By a tricky reduction to bipartite matchings Tutte [22] proved that a graph G has a {K 2 , C3 , C5 , . . .}factor if and only if for every X ⊆ V (G) the number of isolated vertices in G − X does not exceed |X |. Then Las Vergnas [13] investigated the ≤ k-star packing problem, that is the case H = {S1 , . . . , Sk }, by reducing it to the theory on ( f, g)-factors, developed by Lovász [17]. For the next important result, we need to define local graph packings: here instead of a global family H, along with the input graph G, a set H of subgraphs of G is given—the subgraphs allowed to form a component of the packing. Cornuéjols, Hartvigsen and Pulleyblank [1,2] gave a polynomial algorithm and a Gallai–Edmonds type structure theorem to the non-induced local packing problem where H is restricted to consist of all K 2 -subgraphs of G and a set of factor-critical subgraphs of G of size polynomial in |V (G)|. Recall that a connected graph is factor-critical if the deletion of any vertex leaves a graph with a perfect matching. Loebl and Poljak [15] call a nonsingleton connected graph a propeller if it has a specified vertex c, the center, such that after deleting c, each connected component is factor-critical. These components are called blades. Loebl and Poljak [14,16] gave a Berge–Tutte type theorem and a polynomial algorithm for the non-induced local closed propeller packing problem, that is if H consists of a set of factor-critical subgraphs of G of polynomial size, and a certain ‘closed family of propellers’ (see Definition 4). Let k be a positive integer and F1 , F2 , . . . , Fk be arbitrary non-empty families of factor-critical graphs such that F1 = {K 1 }. Let P consist of all propellers arising in the following way. For an integer 1 ≤ l ≤ k choose l distinct families Fi and choose Bi ∈ Fi . Add the center and connect it to an arbitrary non-empty subset of vertices of each Bi . P is called an admissible propeller family. A family H of graphs is called admissible if H = P ∪ F, where P is an admissible propeller family and F is a set of factor-critical graphs. Note that F1 = {K 1 } ensures that an admissible family always contains K 2 , moreover, if k = 1 then P = {K 2 }. In this paper we are concerned with the induced H-packing problem in the case when H is an admissible family. In Sect. 2 we present a Gallai–Edmonds type structure theorem (Theorem 2) and a Berge–Tutte type minimax formula (Theorem 5). We also prove that the vertex sets coverable by induced H-packings form the independent sets of a matroid. The proofs of our theorems are mostly based on the method of Loebl and 123 Graphs and Combinatorics (2010) 26:243–257 245 Poljak [14,16] developed for the non-induced closed propeller packing problem, but we further simplify their methods and generalize their results. Though in the present formulation admissible families do not embrace the local closed families of propellers by Loebl and Poljak, we will indicate in Sect. 2.2 that it is possible to extend it to do so. Thus our results generalize the above mentioned results on non-induced packings. If k = 1 then the induced H-packing problem for an admissible family H clearly reduces to the non-induced K 2 and factor-critical graph packing problem of Cornuéjols, Hartvigsen and Pulleyblank [1,2]. In Sect. 3 we consider k ≥ 2 in the special case if P consists of only stars. We give a polynomial Edmonds type alternating forest algorithm, which is simpler than the classical algorithm of Edmonds in the sense that we do not need shrinks. The treatment of Sect. 3 simplifies to a great extent the approach of Kelmans to the induced {S1 , . . . , Sk }-packing problem [10]. The following facts serve as explanations why it is worth to investigate induced graph packings. First, for admissible families the induced packing problems include the non-induced versions, as we show in Sect. 2.1. Second, in the undirected case, a natural common generalization of the global ≤ k-star packing problem of Las Vergnas [13] and the global version of the K 2 and factor-critical graph packing problem of Cornuéjols, Hartvigsen and Pulleyblank [1,2] would be the global non-induced Hpacking problem where H consists of the stars with at most k edges and a set of factor-critical graphs. However, as every non-trivial factor-critical graph has a noninduced {S1 , S2 }-factor, this problem is equivalent to the k = 1 special case, that is, the K 2 and factor-critical graph packing problem. On the contrary, we will see in Sect. 3 that the induced version of packing stars with at most k edges and a set of factor-critical graphs leads to interesting questions. We remark that the induced global {H }-packing problem is NP-complete if H is connected and |V (H )| ≥ 3, mentioned by Kirkpatrick and Hell [12]. Throughout the paper all graphs are simple and undirected, and ŴG (X ) denotes the set of vertices in V (G) − X adjacent in graph G to X ⊆ V (G). A preliminary version of this paper appeared in [11]. 2 Generalizations of the Basic Theorems on Matchings In this section we prove Gallai–Edmonds and Berge–Tutte type theorems on the induced H-packing problem if H is an admissible family. We also show that the vertex sets which are coverable by an induced H-packing form the independent sets of a matroid. The non-induced variants of the results of this section in the case P = {K 2 } (in other words, if k = 1) are due to Cornuéjols, Hartvigsen and Pulleyblank [1,2]. Except the Gallai–Edmonds type Theorem 2, the non-induced variants of these results, on closed propeller packings, were proved by Loebl and Poljak [14–16]. The present treatment is based on [2,14,16], but we further simplify the methods and extend the results of these papers. In Sect. 2.1 we show that induced packing problems include the non-induced ones for admissible families. Finally, in Sect. 2.2 we mention that our results can be extended to embrace the induced (and also the non-induced) closed propeller packings of Loebl and Poljak [14,16]. In this section H denotes an admissible family. 123 246 Graphs and Combinatorics (2010) 26:243–257 Definition 1 A connected graph F is called H-critical if it has no induced H-factor, but deleting any vertex the resulting graph has. If G is a graph then let def H (G) denote the number of vertices missed by a maximum induced H-packing of G. The following claim is straightforward since K 2 ∈ H. Claim A factor-critical graph is H-critical if and only if it has no induced H-factor. The proof method of Lemma 1 is due to Cornuéjols, Hartvigsen and Pulleyblank [2], while that of Lemma 3 is due to Loebl and Poljak [14] who presented it for the case of a closed propeller packing. Our proofs are more compact so we include them. If we delete some, but not all, blades of a propeller P then we call the resulting graph a sub-propeller of P. Graph K 2 is called a trivial propeller. Definition 2 A subgraph Q of the graph G is called nice if G − V (Q) has a perfect matching. Lemma 1 Let F be a factor-critical graph and Q be a spanning subgraph of F with only factor-critical and propeller components. Then either one of the factor-critical components is nice or a two-bladed sub-propeller of a propeller component is nice in F. Proof In this proof the words ‘blade’ and ‘center’ will refer to only blades and centers of non-trivial propellers. We call the factor-critical components of Q and the blades of propeller components of Q altogether critical parts. The proof goes by induction on the number of critical parts. If Q has a non-trivial propeller with one blade then we can replace this component by a perfect matching—and we are done by induction. So we may suppose that every non-trivial propeller has at least two blades. If the number of critical parts is at most 2 then Q has either a factor-critical or a two-bladed propeller component such that all other components are K 2 ’s. So assume that this number is at least 3. Let M1 denote the matching consisting of the trivial propellers. Let x be any vertex in a critical part F ′ and consider a perfect matching M2 of F − x. Now M1 △M2 consists of alternating paths and cycles. Every center is an endpoint of one such path and every critical part, except F ′ , has an odd number of outgoing paths. As the number of critical parts is at least 3 and the number of blades is at least twice the number of centers, there must be an alternating path connecting two critical parts. If these two critical parts are not the blades of a two-bladed propeller then we can replace the union of the two critical parts and the alternating path connecting them by a perfect matching, decreasing the number of critical parts. If the alternating path connects the blades of a two-bladed propeller P then we can replace the union of P and the path by one factor-critical component F0 . The number of critical parts decreased by 1, and observe, that if the nice subgraph given by the induction hypothesis is F0 then P is also nice. ⊔ ⊓ Lemma 2 A factor-critical but not H-critical graph has an induced H-factor which contains one non-K 2 component that is either factor-critical or a two-bladed propeller. Proof By the Claim given above, this graph has an induced H-factor Q. Applying ⊔ ⊓ Lemma 1 we get the statement. 123 Graphs and Combinatorics (2010) 26:243–257 247 Definition 3 For Y ⊆ V (G) and a set C of connected components of G − Y define the bipartite graph BY,C as follows. The two color classes of BY,C are C and kY , where kY = Y 1 ∪ · · · ∪ Y k , a union of k disjoint copies of Y . Moreover, y i K ∈ E(BY,C ) for y ∈ Y, K ∈ C, 1 ≤ i ≤ k if and only if there exists a graph F ∈ Fi such that K has a nice induced F-subgraph adjacent to y in G. Define cap(Y, C) = |Ŵ BY,C (C)|. Lemma 3 Let Y ⊆ V (G) and C be a subset of the set of those connected components of G −Y which are both H-critical and factor-critical. Let Q be an induced H-packing of G and let C ′ ⊆ C denote the set of components completely covered by Q. Then there is a matching in BY,C covering C ′ . Proof First take a perfect matching in the one-bladed propellers of Q. Then repeat the following procedure until possible. Suppose there exists a subgraph F of Q such that V (F) ∩ Y = ∅ and F is either a factor-critical component of Q or a blade of a non-trivial propeller component P of Q. Replace F by a perfect matching of F − y for some y ∈ V (F) ∩ Y . Moreover, if F was a blade of propeller P then replace P in Q by P − V (F) ∈ P (if P − V (F) is a one-bladed propeller, we further replace it by a perfect matching). This procedure ends up with an induced H-packing Q ′ covering all components of C ′ , with the property that all factor-critical components and blades of non-trivial propeller components of Q ′ are disjoint from Y . We define a matching M in BY,C covering C ′ . Let K ∈ C ′ . Each component of ′ K := Q ′ [V (K )] is either a graph from H, or a blade of a propeller (here if P is a component of Q ′ isomorphic to K 2 such that |V (P) ∩ Y | = 1, then we regard P as a trivial propeller with the vertex in V (P) ∩ Y as its center) and hence factor-critical. K is factor-critical so by Lemma 1 there is a nice factor-critical or sub-propeller component of K ′ . But, as K is H-critical, this must be a blade B ∈ Fi of a propeller P with center y ∈ Y . Now add y i K to M. ⊔ ⊓ The next statement was proved first by Hoffman and Kuhn [9] and Mendelsohn and Dulmage [18]. Note that the proof is easy using alternating paths. Lemma 4 [9,18] Let B be a bipartite graph with color classes U and V . If M1 is a matching covering U1 ⊆ U and M2 is a matching covering V2 ⊆ V then B has a matching covering U1 ∪ V2 . Next we extend the classical Gallai–Edmonds Theorem 1 to induced H-packings (Theorem 2). Theorem 1 (Gallai, Edmonds)[4,7,8] Let G be an undirected graph. Define D ⊆ V (G) to consist of those vertices which are missed by some maximum matching of G. Let A = ŴG (D) and C = V (G) − (D ∪ A). Denote the set of components of G[D] by D. Then (a) every component in D is factor-critical, (b) a maximum matching of G misses |D| − |A| vertices, (c) for all ∅ = A′ ⊆ A the number of those components of D which are adjacent to A′ is at least |A′ | + 1, (d) G[C] has a perfect matching. 123 248 Graphs and Combinatorics (2010) 26:243–257 Theorem 2 Assume G is an undirected graph and H is an admissible family. Let DH ⊆ V (G) consist of those vertices of G which are missed by some maximum induced H-packing of G. Let AH = ŴG (DH ) and CH = V (G) − (DH ∪ AH ). Denote the set of components of G[DH ] by DH . Then (a) every component in DH is H-critical, (b) def H (G) = |DH | − cap(AH , DH ). (e) DH ⊆ D, Proof As K 2 ∈ H, if G has a perfect matching then the statement is clear, so assume otherwise. c Denote the subset components  in D by D ⊆ D. Let B = B A,D  ′ of H-critical ′ ′ c and d = max |D | − |Ŵ B (D )| : D ⊆ D . |Ŵ B (·)| is submodular so there is an inclusion-wise minimal D0 ⊆ Dc such that d = |D0 | − |Ŵ B (D0 )| = |D0 | − cap(A, D0 ). (1) We prove that D0 = DH . First assume that d > 0, in which case D0 = ∅. Let v ∈ V (K ) for some K ∈ D0 . As D0 is minimal, by Ore’s theorem there is a matching M1 in B − K covering all but d − 1 vertices in Dc − K . By Theorem 1(c), A can be matched into D in G. Since F1 = {K 1 }, this is tantamount to that there is a matching M2 in B covering A1 . By Lemma 4 there is a matching M in B covering simultaneously A1 and all but d − 1 vertices in Dc − K . Note that K cannot be covered by M by the definition of d. For a vertex y ∈ A the edges of M incident to any of y 1 , y 2 , . . . , y k define a propeller P ∈ P with center y having blades as nice subgraphs of different components of D. In these components take a perfect matching of the vertices missed by that blade. In the components of D − Dc missed by M take an induced H-factor; take a matching missing one vertex in the components of Dc missed by M (take care that v ∈ V (K ) is missed) and finally take a perfect matching of G[C] (guaranteed by Theorem 1(d)). We constructed an induced H-packing that misses d vertices, including v. Thus def H (G) ≤ d. If d = 0 then we can similarly show that G has an H-factor. A, C = D0 yields that On the other hand, applying Lemma 3 with the choice Y = every induced H-packing of G misses at least d vertices in {V (K ) : K ∈ D0 }. Hence d = def H (G) and D0 = DH . From these considerations, (e) and (a) are immediate, and (b) follows from (1). ⊔ ⊓ Theorem 2 easily implies the next two theorems, for which only quite involved proofs were known in the non-induced case [2,14,16]. Theorem 3 Every H-critical graph G is factor-critical. Proof Since every graph in H is connected, G itself is also connected. By the notation of Theorem 2, we have DH = V (G). As every component of G[DH ] = G is also a ⊔ ⊓ component of G[D] by Theorem 2(e), G is factor-critical by Theorem 1(a). It is well known that in a graph the vertex sets which can be covered by a matching form the independent sets of a matroid [5]. Using Lemma 3 and the proof of Theorem 2 this can be proved to remain true. We use the notations of the proof of Theorem 2. 123 Graphs and Combinatorics (2010) 26:243–257 249 Theorem 4 {U ⊆ V (G) : there exists an induced H-packing of G covering U } is the collection of independent sets of a matroid. Proof We prove that the matroid M in question is as follows. First take the matching matroid of B = B A,D , restricted to Dc . Then take a series extension  of each element K ∈ Dc on the set V (K ), finally, add the vertices of V (G) − {V (K ) : K ∈ Dc } as coloops. Now Lemma 3 with the choice Y = A, C = Dc implies that V (Q) is independent in M for every induced H-packing Q of G. On the other hand, let J be a base of M. There exists a matching M1 of B covering every K ∈ Dc for which V (K ) ⊆ J . By Theorem 1(c), there is a matching M2 in B covering A1 . Lemma 4 yields a matching M in B covering A1 and every K ∈ Dc for which V (K ) ⊆ J . Now from M we can construct an induced H-packing Q with V (Q) = J exactly as in the proof of Theorem 2. ⊔ ⊓ A Berge–Tutte and then a Tutte type theorem for the induced H-packing problem follows from our Gallai–Edmonds type Theorem 2 (Theorems 5, 6, respectively). Theorem 5 If H is an admissible family then def H (G) = max{|C| − cap(Y, C)}, where the maximum runs on Y ⊆ V (G) and a set C of H-critical components of G −Y . Proof Every H-critical graph is factor-critical by Theorem 3, so we can apply Lemma 3. Now ≥ follows since a matching in BY,C has size at most cap(Y, C), thus for every H-packing Q, at least |C| − cap(Y, C) components of C are not completely covered ⊔ ⊓ by Q. Theorem 2(b) implies that equality is achieved by Y = AH , C = DH . Theorem 6 If H is an admissible family then G has an induced H-factor if and only if |C| ≤ cap(Y, C) for every Y ⊆ V (G) and a set C of H-critical components of G − Y . Now we review the algorithmic consequence of the above results. Theorem 7 There is a polynomial time algorithm finding a maximum induced H-packing of the input graph G if the following values are finite: k, |F| and |Fi | for all i. Proof First assume that G is factor-critical. Let c′ denote the maximum number of vertices in any factor-critical graph in F ∪ F1 ∪ F2 ∪ · · · ∪ Fk and let c = 2c′ + 1. A factor-critical graph or a two-bladed propeller of H can have at most c vertices, so we can examine all induced subgraphs of G with at most c vertices in time O(|V (G)|c ), check whether it is in F or it is a two-bladed propeller in P, and, using Edmonds’ matching algorithm, whether it is nice. If we find a subgraph satisfying these criteria then we have an induced H-factor of G. Otherwise G is H-critical by Lemma 2, hence every maximum matching of G is a maximum induced H-packing, so Edmonds’ matching algorithm does the job. For a general input graph G we use the proof of Theorem 2. First, using Edmonds’ matching algorithm we get the Gallai–Edmonds decomposition. By the above bruteforce method we can determine Dc and construct the bipartite graph B A,D at the same 123 250 Graphs and Combinatorics (2010) 26:243–257 time. Constructing M1 , M2 , and finding M is an easy task, as well as constructing the propellers centered in A. For the components of D − Dc with no blade in them use the previous paragraph to construct an induced H-factor. For the remaining part construct a maximum matching by Edmonds’ algorithm. ⊔ ⊓ 2.1 The Induced H-Packing Problems Include the Non-Induced Ones We show that if H = P ∪ F is an admissible family then there exists another admissible family H′ such that the non-induced H-packing problem is equivalent to the induced H′ -packing problem. Call G ∗ a supergraph of a graph G if V (G ∗ ) = V (G) and E(G ∗ ) ⊇ E(G). If G is a set of graphs then let G ∗ consist of all supergraphs of all graphs in G. The non-induced H-packing problem is clearly equivalent to the induced H∗ -packing problem, but H∗ is not an admissible family even if H is. So let P ′ consist of those supergraphs of propellers in P which contain no edge between two blades. Now P ′ is an admissible propeller family defined by F1∗ , F2∗ , . . . , Fk∗ . Moreover, let P2 consist of those supergraphs of the two-bladed propellers P ∈ P which contain at least 1 edge between the two blades of P. Note that P2 ∪ F ∗ is a set of factor-critical graphs. Finally, define H′ = P ′ ∪ (P2 ∪ F ∗ ) and observe that every graph in H∗ has an induced H′ -factor. The reverse implication is not true, as shown by the induced {K 2 , C5 }-packing problem. 2.2 The Closed Family of Propellers of Loebl and Poljak A closed family of propellers, introduced by Loebl and Poljak [15], is defined as follows. Definition 4 ([15]) A family P of propeller subgraphs of G is a closed family of propellers, if each propeller in P has a specified one vertex blade, called the root. Every vertex of G appears as a center in some propeller in P. Moreover, the following properties are satisfied for all P, P ′ ∈ P centered at the same vertex c ∈ V (G) with roots r, r ′ , respectively. – If F is a non-root blade of P then P − V (F) ∈ P. – If r ∗ ∈ V (G) − V (P) and r ∗ c ∈ E(G) then P − r + r ∗ c ∈ P with root r ∗ . – If r = r ′ and P ′ is not a sub-propeller of P then for each blade F of P which is vertex disjoint from P ′ , there exists a blade F ′ of P ′ which is not a blade of P, such that the following propeller is in P: take P ′ − V (F ′ ) and F, and each edge of G between c and F. We outline that it is possible to extend the results of this section to generalize the theory of Loebl and Poljak [14,16] on the non-induced closed propeller packing problem, that is if H consists of a set of factor-critical subgraphs of G of size polynomial in |V (G)|, and a closed family of propellers. We will have a non-induced, local form. F consists of some factor-critical subgraphs of G, and P should consist of propeller subgraphs constructed as follows. For 123 Graphs and Combinatorics (2010) 26:243–257 251 each v ∈ V (G) a function rv is defined on the set of factor-critical subgraphs of G − v with the following properties. First, if C is a set of disjoint factor-critical subgraphs of G − v, which are adjacent to v in G, then rv is the rank function of a matroid Mv,C on C. Second, no singleton is a loop in such a matroid. Now P consists of those propeller subgraphs of G for which the set B of blades is non-empty and independent in Mv,B where v is the center. The results of this section can be extended to this setting (the algorithm of Theorem 7 works if we only have an oracle deciding if a factor-critical graph contains certain nice subgraphs). In this way one can obtain a Gallai–Edmonds type theorem to the closed propeller packing problem of Loebl and Poljak, which is a new result. For more details, see [21]. 3 The Induced Star Packing Problem If k = 1 then P = {K 2 } for an admissible family H = P ∪ F, and thus the induced H-packing problem is equivalent to the non-induced {K 2 } ∪ F ∗ -problem, which is well-solved by Cornuéjols, Hartvigsen and Pulleyblank [1,2]. This section considers the case k ≥ 2, with the restriction that Fi = {K 1 } for all 1 ≤ i ≤ k. This means that P = {S1 , . . . , Sk }. Observe that Theorem 5 specializes in the following way. def H (G) = max{crit(G − Y ) − k|Y | : Y ⊆ V (G)}, where crit(G) counts the H-critical components of G. In this section we determine the class of H-critical graphs, and we give an Edmonds type alternating forest algorithm finding a maximum induced H-packing in a graph. This algorithm also implies Theorems 2 and 5 for this special case. Induced graph packing problems were first investigated by Saito and Watanabe [19], who characterized those graphs which have an induced {Si : i ≥ 1}-factor (see Theorem 9). The induced ≤ k-star packing problem (H = {Si : 1 ≤ i ≤ k}) was introduced by Egawa, Kano and Kelmans [6,10]. Kelmans [10] gave complicated proofs for Gallai–Edmonds, Berge–Tutte and Tutte type theorems. He also gave a certain Edmonds type algorithm, which is simplified to a large extent by our algorithm given under Sect. 3.1, and we even allow F = ∅. Independently, Egawa, Kano and Kelmans [6] gave a simpler inductive proof to this Tutte type theorem. These results will follow from our approach. The present treatment of the induced ≤ k-star packing problem is much more compact than in [6,10]. Definition 5 A block of an undirected graph G is a maximum subgraph H of G with the property that H is connected and H − v is connected for all v ∈ V (H ). Note that a block is either 2-connected or isomorphic to K 1 or K 2 . Definition 6 [19] A connected graph is an oct (odd clique tree) if all of its blocks are cliques of odd size. Let oct(G) denote the number of oct components of G. Note that an oct is factor-critical. 123 252 Graphs and Combinatorics (2010) 26:243–257 Lemma 5 If a factor-critical graph F is not an oct then it has an induced {S1 , S2 }factor. Moreover, if an odd ear decomposition of F is given, then it is possible to present such a factor of F in O(|V (F)|3 ) time. Proof We will use the next lemma. Lemma 6 If C is a nice odd circuit of F then it either induces an odd clique in F or we can find a nice induced 2-star in F in O(|V (C)|2 ) time. Proof Let V (C) = {c1 , . . . , cl } in this order, the indices are meant mod l. Assume that ci ci+ j ∈ E(F) for all i and 1 ≤ j ≤ h. This clearly holds for h = 1. Now either ci ci+h+1 ∈ E(F) for all i, or some ci , ci+h , ci+h+1 induces a 2-star in F. That this 2-star is nice is trivial if h = 1 and is also clear if h ≥ 2. This implies the statement. ⊓ ⊔ Denote the ith ear in the odd ear decomposition of F by Pi and the subgraph formed by the first i ears by Fi . Here F0 is a singleton {v}. We describe a process, the ith step of which starts with an oct subgraph Oi−1 of F with vertex set V (Fi−1 ) (we define O0 = {v}). After adding Pi we either construct an induced {S1 , S2 }-factor of F or find an oct subgraph Oi of F with vertex set V (Fi ). F is not an oct, so at some step we stop with an induced {S1 , S2 }-factor. If Pi is a closed ear then observe that it is nice in F. So by Lemma 6 with the choice C = Pi , we either find a nice induced 2-star of F or we can choose Oi to consist of Oi−1 plus a new block with vertex set V (Pi ). If Pi is open with end vertices u and v then find a longest u − v path P in oct Oi−1 . As P is maximum, it has even length, and it is nice in Oi−1 . Lemma 6 with the choice C = Pi + P gives either a nice induced 2-star of F or a new oct with a big new block consisting of Pi and the blocks of Oi which have an edge met by P. ⊔ ⊓ It is easy to check that an oct has no induced star factor. So by Lemma 5, the {S1 , . . . , Sk }-critical graphs are the oct’s for every k ≥ 2. Hence by Theorem 5 we obtain: Theorem 8 (Egawa, Kano, Kelmans [6,10]) If k ≥ 2 then a maximum induced ≤ kstar packing of G misses max{oct (G − Y ) − k|Y | : Y ⊆ V (G)} vertices. Taking k = |V (G)| we get the theorem of Saito and Watanabe [19]. Theorem 9 (Saito and Watanabe [19]) A connected graph has an induced {S1 , S2 , . . .}-factor if and only if it is not an oct. Now we consider the general case, that is if F = ∅. Definition 7 If F is a family of factor-critical graphs then an oct O is called an F-oct if O does not have an induced subgraph isomorphic to a member of F. Let octF (G) denote the number of F-oct components of G. Theorem 10 Let H = P ∪ F be an admissible family. If P = {S1 , . . . , Sk }, k ≥ 2, then the H-critical graphs are the F-oct’s. 123 Graphs and Combinatorics (2010) 26:243–257 253 Proof Every induced H-factor of an oct contains an induced factor-critical graph, because an oct has no induced star factor. Thus every F-oct is H-critical. On the other hand, suppose that oct O has an induced subgraph F ∈ F. First observe that every block of a factor-critical graph has an odd number of vertices, therefore F contains either zero or an odd number of vertices from every block of O. We claim that every connected subgraph L with this property is nice in O. We prove this by induction on the number of vertices of O not covered by L. If this is zero then we are done. Otherwise there is a block B of O met, but not covered by L. As L has an odd number of vertices in B, let u, v be two vertices in B not covered by L. As B is a clique, L ′ := O[V (L) ∪ {u, v}] is connected and satisfies the conditions. From the inductive hypothesis we know that O − V (L ′ ) has a perfect matching. This perfect matching together with the edge uv shows that L is nice. Thus O has an induced H-factor. By Lemma 5, we get the statement. ⊔ ⊓ We obtained a Berge–Tutte type characterization. Theorem 11 Let H = P ∪ F be an admissible family. If P = {S1 , . . . , Sk }, k ≥ 2, then a maximum induced H-packing of the graph G misses max{octF (G −Y )−k|Y | : Y ⊆ V (G)} vertices of G. H-critical graphs can be oct’s even in the case k = 1. One such example is the next theorem, where the case k ≥ 2 follows from Theorem 11, and k = 1 was proved by Cornuéjols and Pulleyblank [3] in the non-induced setting. Definition 8 The graph C is called a △-cactus if C = K 1 or every block of C is a triangle. Let F H denote the set of factor-critical graphs on at least 5 vertices with a Hamiltonian circuit. Theorem 12 If k ≥ 1 then G has an induced {Si : i ≤ k} ∪ F H -factor if and only if for all Y ⊆ V (G) the graph G − Y has at most k|Y | △-cactus components. 3.1 Algorithmic Issues Lemma 7 Given an oct O and a factor-critical graph F we can decide if O contains F as an induced subgraph in time O(|V (O)|3 |V (F)|2 ). Proof We assume that every block of F is a clique since the induced subgraphs of O share this property. F is factor-critical so these cliques have odd size. We call a connected graph a B-oct if each block of it is a clique, and each has odd size—except possibly the block B. We prove that given a Bi -oct Oi for i = 1, 2, we can decide in O(n 21 n 22 ) time (here n i = |V (Oi )|), whether O1 contains O2 as an induced subgraph such that V (B2 ) ⊆ V (B1 ). If it does, we say that (O2 , B2 ) fits into (O1 , B1 ). This would prove the statement since a fixed block B2 of F = O2 can be contained in any block B1 of O = O1 . j j For i = 1, 2, denote the components of Oi − Bi by Ci , j ∈ Ji , and the block of Ci j j j j j adjacent to Bi by Bi . Ci is clearly a Bi -oct. Let n i = |V (Ci )|, ci = |Ji |, bi = |V (Bi )| j j and ri = n i −bi . Let G = (J1 , J2 ; { j h : j ∈ J1 , h ∈ J2 , (C2h , B2h ) fits into (C1 , B1 )}) 123 254 Graphs and Combinatorics (2010) 26:243–257   j 2 h 2 = be a bipartite graph. By induction, we can build G in time O j,h (n 1 ) (n 2 )    j 2 h 2 O h (n 2 ) . We use that if G is a bipartite graph with color classes U1 , U2 j (n 1 ) of size k1 , k2 , then we can decide in time O((k1 k2 )5/4 ) whether U2 can be matched into U1 in G (see Schrijver [20], Theorem 16.5). For u ∈ V (Bi ), i = 1, 2, let Jiu = j { j ∈ Ji : Ci is adjacent to u in Oi }. For every pair u i ∈ V (Bi ), i = 1, 2, decide if J2u 2 can be matched into J1u 1 in G. If yes then we say that u 2 fits into u 1 . This altogether takes O((c1 c2 )5/4 ) time. Now let G ′ = (V (B1 ), V (B2 ); {u 1 u 2 : u 2 fits into u 1 }) be a bipartite graph. We can decide in time O((b1 b2 )5/4 ) whether V (B2 ) can be matched into V (B1 ) in G ′ . It is easy to see that the answer is yes if and only if (O2 , B2 ) fits into (O1 , B1 ). Summarizing, this altogether takes at most ⎛ C ·⎝ ⎞ j (n 1 )2 j h (n 2h )2 + (c1 c2 )5/4 + (b1 b2 )5/4 ⎠  j 2 h 2 5/4 ≤ time with an appropriate constant C. Now h (n 2 ) + (c1 c2 ) j (n 1 )     j j 2 h 2 2 2 j (n 1 ) + c1 · j∈Ji n i = h (n 2 ) + c2 . Focusing on one i, and using that j ri and n i ≥ 2 (and hence that |Ji | = ci ≤ ri /2), easy calculation shows that  j 2 (n i ) + ci2 ≤ 1 · (ri − 2(ci − 1))2 + (ci − 1) · 22 + ci2 ≤ ri2 + 1. Summing up, we get that j (n 1 )2 j (n 2h )2 + (c1 c2 )5/4 + (b1 b2 )5/4 ≤ (r12 + 1)(r22 + 1) + (b1 b2 )5/4 h ≤ r12 r22 + b12 r22 + b22 r12 + b12 b22 ≤ n 21 n 22 , using that n i = ri + bi and bi ≥ 2. ⊔ ⊓ Hence, by Theorem 10 we can decide in O(|F| · |V (O)|5 ) time whether O is H-critical. Now we present an Edmonds type alternating forest algorithm which solves the induced H-packing problem if P = {S1 , . . . , Sk } for k ≥ 2 and F is finite. Given a simple, connected graph G, the algorithm outputs an H-packing Q of G and a set Y ⊆ V (G) such that |V (G)| − |V (Q)| = octF (G − Y ) − k|Y |. This implies that Q is maximum by Theorem 11. In every step the algorithm maintains a special subgraph of G. Definition 9 (S, Y ) is called an alternating forest if S is a subgraph of G, Y ⊆ V (S) and the following properties are satisfied. Let B be a connected component of S and let Y B = Y ∩ V (B). Then Y B is a possibly empty set such that B − Y B is the union of k|Y B | + 1 F-oct’s, B has no edge between the vertices of Y B , and deg B (y) = k + 1 holds for all y ∈ Y B (see the Fig. 1). 123 Graphs and Combinatorics (2010) 26:243–257 255 Fig. 1 A component of the alternating forest The algorithm maintains an alternating forest (S, Y ) and an induced H-factor Q 0 of G − V (S). For every component B of S it will hold that G[V (B) − Y B ] = B − Y B . This property implies that for all F-oct components O of B − Y B , the graph G[V (B) − V (O)] has an induced H-factor with only S1 and Sk components. Hence G[V (B) − u] has an induced H-factor Q ′ for every u ∈ V (B) − Y B . Blowing up B − u means deleting B from S and adding this Q ′ to Q 0 . Let c(S) denote the number of components of S. In every step either the algorithm decreases c(S) (augmentation), or increases |V (S)| keeping c(S) (growing). When terminating, it will hold that the components of S − Y are components in G − Y , too. In this case let Q be the induced H-packing of G we get after blowing up B − u for each component B of S and some u ∈ V (B) − Y B . Note that |V (G)| − |V (Q)| = c(S) = octF (G − Y ) − k|Y |. Thus Q is a maximum induced H-packing of G by Theorem 11. Start Let Q 0 be any induced H-packing of G (e.g. Q 0 = ∅) and let S = (V (G) − V (Q 0 ) , ∅), Y = ∅. Go to step 1. Step 1 Let uv ∈ / E(S) be an edge such that u ∈ V (B) − Y B for some component B of S, and v ∈ / Y . If v is contained in a component Bv = B of S then blow up B − u and Bv − v and add uv to Q 0 . Otherwise v is contained in some component L of Q 0 and go to step 2. If no such edge uv exists then the components of S − Y are components in G − Y , too, hence we can stop by the above observation. Step 2 Case 1 L is factor-critical. Now we augment: blow up B − u, delete L from Q 0 and add the edge uv and a perfect matching of L − v to Q 0 . Go to step 1. Case 2 L is an l-star with 2 ≤ l and v is a leaf of L. Blow up B − u, delete L from Q 0 and add the edge uv, and the induced l − 1-star L − v to Q 0 . Go to step 1. 123 256 Graphs and Combinatorics (2010) 26:243–257 Case 3 L is an l-star with 2 ≤ l and v is the center of L. If some u ′ ∈ V (B) − Y B is adjacent to some leaf v ′ of L then go rather to Case 2. Otherwise there is no edge between V (B) − Y B and the leaves of L. There are two cases. 1. If l ≤ k − 1 then blow up B − u, delete L from Q 0 and add the induced l + 1-star G[V (L) + u] to Q 0 . Go to step 1. 2. If l = k then grow: delete L from Q 0 , and update V (S) ← V (S)∪V (L), E(S) ← E(S) ∪ {uv} ∪ E(L) and Y ← Y + v. Note that the new alternating forest satisfies the conditions. Go to step 1. Case 4 L is a K 2 -component with vertices v, v2 . If some vertex u 2 ∈ V (B) − Y B is adjacent to exactly one of v and v2 then K = G[u 2 , v, v2 ] is an induced 2-star so delete L from Q 0 , blow up B − u 2 and add K to Q 0 . Go to step 1. So we assume that every vertex in V (B) − Y B is adjacent either to both or to none of v and v2 . Assume that L is adjacent to some vertex u 2 ∈ V (B) − Y B contained in the F-oct component O2 = O. It is easy to see that G[V (B) − V (O) − V (O2 )] has an induced H-factor Q ′ (this is the only place in the algorithm we use that k > 1). Now augment: delete L from Q 0 , delete B from S, and add Q ′ together with perfect matchings of O − u, O2 − u 2 and the edges uv, u 2 v2 to Q 0 . Go to step 1. So we can assume that V (B) − Y B − V (O) is not adjacent to L in G. O ∗ := G[V (O) ∪ V (L)] is clearly factor-critical, and an odd ear decomposition of it is easy to produce. By Lemma 5 we can find an induced {S1 , S2 }-factor Q of O ∗ in case O ∗ is not an oct. In this case augment: delete L from Q 0 , delete B from S and add an induced H-factor of G[V (B) − V (O)] together with Q to Q 0 . If O ∗ is an oct then, since F is finite, by Lemma 7 we can decide if O ∗ is an F-oct. If not then O ∗ has an induced H-factor so we can augment as before. Otherwise grow: delete L from Q 0 and replace O by O ∗ in S. Go to step 1. End of the algorithm. Let n = |V (G)|. Let those steps belong to the same phase when c(S) is the same. The number of the phases is at most n and in a phase we increase |V (S)| at most n times. The running times of the cases of step 2 are dominated by Case 4., where we need O(|F| · n 5 ) time by the remark after Lemma 7. So the running time of the algorithm can be bounded by O(|F| · n 7 ). It is easy to see, that on account of the validity of the algorithm, we have another proof for Theorem 11, and also for Theorem 2 in the case P = {S1 , . . . , Sk }, k ≥ 2. Indeed, DH is just V (S) − Y , and AH = Y with the alternating forest (S, Y ) at termination. We remark without proof that we could append one more property to Theorem 2, namely, G[CH ] has an induced H-factor. The above algorithm is simpler than the classical Edmonds’ matching algorithm in the sense that we need not shrink odd cycles due to the condition that k ≥ 2. This is related to the fact that an oct has an odd ear decomposition where all ears have at most two vertices. We mention that with straightforward modification of the above algorithm it is possible to solve the following induced packing problem of a local form: given a bound u : V (G) → N \ {0} and a finite set F consisting of induced factor-critical subgraphs of G, decide if G has a spanning subgraph each component of which is either a factor-critical graph in F or an induced i-star with center c such 123 Graphs and Combinatorics (2010) 26:243–257 257 that 1 ≤ i ≤ u(c). Now the critical graphs cannot be described explicitly. This is related to the fact that this modified algorithm needs to shrink, unless u ≥ 2. We mention that it is possible to modify the above algorithm to give a direct alternating forest algorithm to the general induced H-packing problem for an admissible family H, see [21]. References 1. Cornuéjols, G., Hartvigsen, D.: An extension of matching theory. J. Combin. Theory Ser. B 40, 285–296 (1986) 2. Cornuéjols, G., Hartvigsen, D., Pulleyblank, W.: Packing subgraphs in a graph. Oper. Res. Lett. 1, 139–143 (1981/82) 3. Cornuéjols, G., Pulleyblank, W.: Perfect triangle-free 2-matchings. Math. Prog. Study 13, 1–7 (1980) 4. Edmonds, J.: Paths, trees, and flowers. Can. J. Math. 17, 449–467 (1965) 5. Edmonds, J., Fulkerson, D.R.: Transversals and matroid partition. J. Res. Nat. Bur. Stand. Sect. B 69, 147–153 (1965) 6. Egawa, Y., Kano, M., Kelmans, A.K.: Star partitions of graphs. J. Graph Theory 25, 185–190 (1997) 7. Gallai, T.: Kritische Graphen II. A Magy. Tud. Akad. Mat. Kut. Int. Közl. 8, 135–139 (1963) 8. Gallai, T.: Maximale Systeme unabhängiger Kanten. A Magy. Tud. Akad. Mat. Kut. Int. Közl. 9, 401–413 (1964) 9. Hoffman, A.J., Kuhn, H.W.: Systems of distinct representatives and linear programming. Am. Math. Mon. 63, 455–460 (1956) 10. Kelmans, A.K.: Optimal packing of induced stars in a graph. Discrete Math. 173, 97–127 (1997) 11. Király, Z., Szabó, J.: Generalized induced factor problems. Technical Report TR-2002-07. Egerváry Research Group, Budapest. http://www.cs.elte.hu/egres (2002) 12. Kirkpatrick, D.G., Hell, P.: On the complexity of general graph factor problems. SIAM J. Comput. 12, 601–609 (1983) 13. Las Vergnas, M.: An extension of Tutte’s 1-factor theorem. Discrete Math. 23, 241–255 (1978) 14. Loebl M., Poljak S.: Efficient subgraph packing. KAM-DIMATIA Series 1987-50 15. Loebl, M., Poljak, S.: On matroids induced by packing subgraphs. J. Combin. Theory Ser. B 44, 338–354 (1988) 16. Loebl, M., Poljak, S.: Efficient subgraph packing. J. Combin. Theory Ser. B 59, 106–121 (1993) 17. Lovász, L.: Subgraphs with prescribed valencies. J. Combin. Theory 8, 391–416 (1970) 18. Mendelsohn, N.S., Dulmage, A.L.: Some generalizations of the problem of distinct representatives. Can. J. Math. 10, 230–241 (1958) 19. Saito, A., Watanabe, M.: Partitioning graphs into induced stars. Ars Combin. 36, 3–6 (1993) 20. Schrijver, A.: Combinatorial Optimization. Polyhedra and Efficiency Algorithms and Combinatorics, vol. 24. Springer, Berlin (2003) 21. Szabó, J.: Graph packings and the degree prescribed factor problem. PhD thesis, Eötvös University, Budapest. http://www.cs.elte.hu/~jacint (2006) 22. Tutte, W.T.: The factors of graphs. Can. J. Math. 4, 314–328 (1952) 123