Journal of Graph Algorithms and Applications Parameterized Algorithms for the H-packing with T-overlap Problem

We introduce the k-H-Packing with t-Overlap problem to formalize the problem of discovering overlapping communities in real networks. More precisely, in the k-H-Packing with t-Overlap problem, we search in a graph G for at least k subgraphs each isomorphic to a graph H such that any pair of subgraphs shares at most t vertices. In contrast with previous work where communities are disjoint, we regulate the overlap through a variable t. Our focus is on the parameterized complexity of the k-H-Packing with t-Overlap problem. Here, we provide a new technique for this problem generalizing the crown decomposition technique [2]. Using our global rule, we achieve a kernel with size bounded by 2(rk − r) for the k-Kr-Packing with (r − 2)-Overlap problem. That is, when H is a clique of size r and t = r − 2. In addition, we introduce the first parameterized algorithm for the k-H-Packing with t-Overlap problem when H is an arbitrary graph of size r. Our algorithm combines a bounded search tree with a greedy localization technique and runs in time O(r rk k (r−t−1)k+2 n r), where n = |V (G)|, r = |V (H)|, and t < r. Finally, we apply this search tree algorithm to the kernel obtained for the k-Kr-Packing with (r − 2)-Overlap problem, and we show that this approach is faster than applying a brute-force algorithm in the kernel. In all our results, r and t are constants.


Introduction
Many complex systems that exist in real applications can be represented by networks, where each node is an entity, and each edge represents a relationship [12].A community is a part of the network in which the nodes are more highly interconnected to each other than to the rest [15].To extract these communities is known as the community discovering problem [1].There are approaches for this problem that determine separate communities [1,8].However, most real networks are characterized by well-defined communities that share members with others [4,15].Moreover, these approaches model a community as a fixed graph H, when in real applications there are different models for communities.To overcome these deficiencies, we introduce the k-H-Packing with t-Overlap problem as a more realistic formalization of the community discovering problem.To the best of our knowledge, the k-H-Packing with t-Overlap problem has not been studied before.
In the k-H-Packing with t-Overlap problem, the goal is to find at least k subgraphs (the communities) in a graph G (the network) such that each subgraph is isomorphic to a member of a family H of graphs (the community models) and each pair of subgraphs can overlap in at most t vertices (the shared members) 1 .The formal definition of this problem is as follows.
The k-H-Packing with t-Overlap problem Input : A family H of graphs, a graph G, and non-negative integers k and t.Question: Does G contain at least k subgraphs K = {S * 1 , . . ., S * k } where each S * i is isomorphic to a member of H and every pair S * i , S * j can overlap in at most t vertices, |V (S * i ) ∩ V (S * j )| ≤ t, for i = j?
When the family H is composed of only one graph H, the problem is simply denoted as the k-H-Packing with t-Overlap problem.
The k-H-Packing with t-Overlap problem is a generalization of the wellstudied k-H-Packing problem which seeks for vertex-disjoint subgraphs.The k-H-Packing with t-Overlap problem is NP-complete.This follows since every instance of the k-H-packing problem, which is NP-complete [10], is mapped to an instance of the k-H-Packing with t-Overlap problem by making t = 0.In this work, our goal is to design fixed-parameter algorithms or FPT-algorithms; that is, algorithms with running time polynomial in the input size n but exponential in a specified parameter k, i.e., f (k)n O (1) .We also seek for finding problem kernels; that is, reduced instances with size bounded by f (k).
Related Results.As mentioned before, the k-H-Packing with t-Overlap problem generalizes the problem of packing vertex-disjoint subgraphs.Parameterized results for this problem have been obtained in [6,7,16].The latest result is a kernel of size O(k |V (H)|−1 ) for packing an arbitrary graph H by Moser [14].
Another related problem to the k-H-packing with t-Overlap, when H is a clique, is the cluster editing problem.This problem consists of modifying a graph G by adding or deleting edges such that the modified graph is composed of a vertex-disjoint union of cliques.Some works have considered overlap [3,5].Fellows et al. [5] allow that each vertex of the modified graph can be contained in at most s maximal cliques.
The problem of finding one community of size at least r in a given network is also related to the k-H-Packing with t-Overlap problem.The most studied community models are cliques and some relaxations of cliques.Parameterized complexity results for this problem can be found in [9,11,19].Overlap has not yet been considered under that setting.
Our Results.Besides introducing the k-H-Packing with t-Overlap problem, we provide here a study of its parameterized complexity.First, we introduce a global reduction rule, the clique-crown reduction rule, based on a non-trivial generalization of the crown decomposition technique [2].To the best of our knowledge, the crown decomposition technique has not been adapted to obtain kernels for problems that find subgraphs with arbitrary overlap.Using our clique-crown decomposition rule, we achieve a problem kernel of size 2(rk − r) for the k-H-Packing with t-Overlap problem when H is a clique with r vertices, i.e., a K r , and t = r − 2.
We also provide an O(r rk k (r−t−1)k+2 n r ) running time algorithm for the k-H-packing with t-Overlap for any arbitrary graph H of size r and any overlap value t < r.Our algorithm is a non-trivial generalization of the search tree algorithm to find disjoint triangles presented by Fellows et al. [6].We use a bounded search tree together with a greedy localization technique.The analysis of our algorithm is novel since we allow overlap between subgraphs.Even though the k-H-packing problem (the vertex-disjoint version) is well studied, our search tree algorithm is the first one to consider variable overlap between subgraphs.
In addition, we apply our search tree algorithm to the 2(rk − r) kernel of the k-K r -Packing with (r − 2)-Overlap problem, obtaining in this way an O(r 3k+r−1 k 2k+3r + n r ) running time algorithm.This approach is faster than solving the k-K r -Packing with (r − 2)-Overlap problem by brute-force on the kernel.In all our results, r and t are constants.
This paper is organized as follows.In Section 2, we introduce the terminology and notation used in the paper.Section 3 describes the reduction rules as well as our kernelization algorithm for the k-K r -Packing with t-Overlap problem.In Section 4, we describe the details of our search tree algorithm for the k-H-Packing with t-Overlap problem.Section 5 provides an FPT-algorithm for the k-K r -Packing with (r − 2)-Overlap problem.Finally, Section 6 states the conclusion of this work.subgraphs S and P are vertex-disjoint if they do not share vertices, i.e., V (S) ∩ V (P ) = ∅.Otherwise, we say that S and P overlap in |V (S) ∩ V (P )| vertices.We extend this terminology when S and P are sets of vertices instead.For a set of vertices A ⊆ V (G), the neighborhood of A is defined as A subgraph isomorphic to H will be called an H-subgraph.In the specific case where H is a clique of r vertices, i.e., a K r , an H-subgraph will be referred to as an r-clique.
An l-H-Packing with t-Overlap L is a set of l H-subgraphs L = {Q 1 , . . ., Q l } of G where every pair Q i , Q j overlaps in at most t vertices.If l ≥ k then L will be called a k-solution and will be represented by the letter K.An H-Packing with t-Overlap M is maximal if any H-subgraph of G that is not already in M overlaps in more than t vertices with some H-subgraph in M.
For any pair of disjoint sets of vertices A and B such that   The notation is also applicable when A and B are a pair of vertex-disjoint cliques instead of sets of vertices.In this case, 3 Reduction Rules for the k-K r -Packing with t-Overlap Problem In this section, we present our clique-crown reduction rule for the k-K r -Packing with t-Overlap problem which is based on our clique-crown decomposition.We also introduce a method to compute such decomposition.Finally, we present an algorithm that reduces the k-K r -Packing with t-Overlap problem to a kernel when t = r − 2.

Preliminaries
A parameterized problem is reduced to a problem kernel, if any instance can be reduced to a smaller instance such that: the reduction is in polynomial time, the size of the new instance is depending only on an input parameter, and the smaller instance has a solution if and only if the original instance has one.
Our goal is to reduce the k-K r -Packing with t-Overlap problem to a problem kernel.The formal definition of our studied problem is as follows.Let 0 ≤ t ≤ r − 1 be fixed in the following definition.
k-K r -Packing with t-Overlap problem Instance: A graph G and a non-negative integers k.Parameter : k Question: Does G contain a set of r-cliques K = {S 1 , . . ., S l } for l ≥ k, such that |V (S i ) ∩ V (S j )| ≤ t, for any pair S i , S j and i = j?
Our clique-crown decomposition is a generalization of the crown decomposition technique.This technique was introduced by Chor et al. [2], and it has been adapted to obtain kernels for packing problems [6,13,16].
, and R that have the following properties: 2. H (the head) is a separator in G such that there are no edges in G between vertices belonging to C and vertices belonging to R.
4. There is a perfect matching between C m and H.
Generally, vertices in C m and in H are part of a desired solution while vertices in C u can be removed from G.
A crown decomposition can be computed in polynomial time for a graph G given certain conditions.We next apply a natural reduction rule to the input graph G.
Reduction Rule 1 Delete any vertex v and any edge e that are not included in a K r of G.
To further reduce the graph G, we design the clique-crown reduction rule which is based on our proposed clique-crown decomposition.

The Clique-Crown Reduction Rule
In the clique-crown decomposition, we have cliques in both the head H and the crown C, and each clique in H is completed by at least one clique in C.
Definition 2 A clique-crown decomposition (H, C, R) is a partition of G that have the following properties: ii.Each pair of cliques A and B in H overlaps in at most t vertices.
iii.Each A ∈ H is completed by a clique in R, defined below.In addition, the size of any subgraph A ′ of A that is completed by a clique in R is at most t.

The set of vertices of the cliques in H, V (H)
, is a separator such that there are no edges in G from C to R.

There exists an injective function f mapping each clique
In this way, A • α is an r-clique that we call a mapped r-clique.We impose the condition that any pair of mapped r-cliques overlaps in at most t vertices.
To design the clique-crown reduction rule, we use an annotated version of the k-K r -Packing with t-Overlap problem.In this annotated version, any r-clique of the solution overlaps in at most t vertices with any clique from a set F given as part of the input.Again, let t be fixed in the following definition.
Definition 3 Annotated K r -Packing with t-Overlap problem Instance: A graph G, a set of cliques F from G where any clique in F has size at least t + 1 and at most r − 1, and a non-negative integer k.
The goal of the clique-crown reduction is to make the mapped r-cliques part of the solution and remove unnecessary vertices from G. As part of the correctness of Rule 2, we prove first that the vertices in V (C u )\V (C m ) are not included in any r-clique of the solution.
Proof: Cliques in C u only complete cliques from the set H; otherwise V (H) would not be a separator.However, every clique in H is mapped to a clique in C m by the injective function.On the other hand, by Definition 2, cliques in H cannot be partitioned in more cliques than |H| that could be completed by cliques in C u .
We use the next observation for the proof of correctness of the following lemmas.The input graph G ′ for the annotated K r -packing with t-Overlap problem is obtained by removing C from G. Since a clique A ∈ H is already an induced subgraph of an r-clique from the solution, A cannot be an induced subgraph of another r-clique from the solution (Observation 1).Hence, we make the set H to be the set of cliques F in the annotated K r -packing with t-Overlap problem.In the example of Figure 2,

Observation 1 Any clique A
Proof: Assume by contradiction that G admits a clique-crown decomposition (H, C, R) and has a k-solution, but (G ′ , H, k − |H|) does not have an annotated solution.By Lemma 2, vertices in V (C u )\V (C m ) are redundant.That is, they do not belong to any r-clique of the solution.By Observation 1, every A ∈ H is in at most one r-clique of the solution.Therefore, we cannot form more than |H| r-cliques by completing each clique of H with cliques in R rather than with cliques in C m .The only case that we could have more than |H| r-cliques is if there is a clique A ∈ H that has at least two cliques A ′ , A ′′ each of size at least t + 1 that are completed by some clique in R.However, that is not possible by Definition 2.
Assume now that (G ′ , H, k − |H|) has an annotated (k − |H|)-K r -Packing with t-Overlap, but (G, k) does not have a k-K r -Packing with t-Overlap.This would imply that the sets H and C form more than |H| r-cliques which is a contradiction by Lemma 3.
The next claim states how a solution of the original instance can be obtained using an annotated solution of the reduced graph G ′ .Claim 1 Let K ′ be an annotated (k −|H|)-K r -Packing with t-Overlap of G ′ and H be the set of mapped r-cliques in G found with the clique-crown decomposition.The set Since H becomes the set of cliques F in the annotated instance, then no r-clique of K ′ overlaps in more than t vertices with any r-clique of H. Therefore, In Figure 3, the set of mapped cliques of Figure 2 are highlighted with thicker lines.An annotated solution for the reduced graph is indicated with dashed lines.We can see how the set of mapped cliques and the annotated solution form a 5-K 4 -Packing with 1-Overlap.

Computing the Clique-Crown Decomposition
We next present a method to find a clique-crown decomposition in G given two sets of cliques: O and Cliques(O).These sets of cliques follow the next conditions.Each clique in O has size at most r − (t + 1), any pair of cliques in Cliques(O) overlaps in at most t vertices, and every clique A ∈ Cliques(O) should be completed by at least one clique in O.In addition, none subgraph A ′ of A is completed by a clique in Cliques(O), and the size of any subgraph Observe that the size of A is at least t + 1 and at most r − 1.
The following method is a generalization of the method used to compute a crown-decomposition for the edge disjoint K 3 -packing problem [16].Proof: First, we construct a graph G ′ from G as follows.We initialize and we denote the set of contracted cliques as O cont .After that for each clique A ∈ Cliques(O), we add a vertex v A to V (G ′ ), i.e., a representative vertex ; we denote as Rep the set of all representative vertices.We say that v α "completes" v A if the clique α completes the clique A. For every vertex After that, add to E(G ′ ) an edge from v A to each vertex of A. Finally, remove from E(G ′ ) the edges from v α to A.
We next show that G ′ has a crown decomposition (H ′ , C ′ , R ′ ).In G ′ , the set of contracted cliques O cont is an independent set.By the construction of G ′ , we know that N (O cont ) is the set of representative vertices Rep. Since we introduced a representative vertex per clique in 2. For each vertex v A ∈ H ′ , where H ′ ⊆ Rep, we assign to H the clique that this vertex represents, i.e., A. Since H ⊆ Cliques(O), then each clique in H has size at least t + 1 and at most r − 1.Likewise, properties i-iii from Definition 2 follow.
4. The set of vertices of the cliques in H, V (H), is a separator.This follows since cliques in C complete only cliques on H; thus, vertices in V (C) are only adjacent to vertices in V (H).
5. We make the perfect matching between C ′ and H ′ correspond to the injective function f in the following way.

end if end if
We next introduce a series of lemmas that characterize the sets O and Cliques(O) defined in Algorithm 1.
Proof: Assume by contradiction that there exists an edge (u, v) in G[O].After applying Reduction Rule 1, each edge in the reduced graph is included in at least one r-clique; thus, (u, v) belongs to at least one r-clique S ′ .S ′ is not in M; otherwise u, v would not be in O. S ′ is not in O; otherwise as S ′ would be disjoint from M, and hence, S ′ could be added to M, contradicting the maximality of M. Thus, S ′ should overlap with at least one r-clique S ∈ M, for S = S ′ .Since u, v are both in O, the overlap with S is at most r − 2, i.e., |V (S) ∩ V (S ′ )| = r − 2, but in this case, S ′ could be added to M contradicting the maximality of M.

Claim 3 Each
Assume otherwise that there is a vertex v ∈ V (T ) contained in O.However, since T • u forms an r-clique this would imply that there is an edge (u, v) in O which is a contradiction since O is an independent set.Thus, V (T ) ⊂ V (M).
We claim that |V (T ) ∩ V (S)| = r − 1 for some S ∈ M, i.e., V (T ) ⊂ V (S).Suppose otherwise that |V (T ) ∩ V (S)| < r − 1, for any S ∈ M. Since u ∈ O, this would imply that |V (T • u) ∩ V (S)| ≤ r − 2 for every S ∈ M, and T • u could be added to M as the k-K r -packing with (r − 2)-Overlap problem allows overlap at most r − 2, contradicting the assumption of maximality of M. The second and third parts of the claim follows because the size of each clique in Cliques(O) is t + 1 = r − 1 (Claim 3) and therefore the size of the largest subgraph of A is at most r − 2 = t.

Claim 4 Each clique A ∈ Cliques(O) is completed by at least one clique in O and none subgraph A ′ of A is completed by a clique in O. In addition, the size of any subgraph A
We can see that by Claims 2 and 4, the sets O and Cliques(O) are supersets of the head H and the clique-crown C, respectively.Thus, the method described in proof of Lemma 5 can be used to compute a clique-crown decomposition in G. Next, we prove that the size of the reduced instance is bounded by a function of the parameter k.
The size of M is at most k − 1; thus, |V (M)| is at most rk − r, and by Claim 6 we know that an upper bound for |O| is rk − r.
In this way, the size of the instance is at most 2(rk − r) which contradicts the assumption that |V (G)| > 2(rk − r).

Claim 7
The k-K r -packing with (r − 2)-Overlap problem admits a 2(rk − r) kernel which can be found in O(n r ) time.
Proof: By Lemma 6, the reduced instance has size at most 2(rk − r).Rule 1 is computed in time O(n r ), which is also the same time to compute the maximal solution M and Cliques(O).Lemma 5 shows that the clique-crown decomposition is computed in polynomial time given the set of cliques O and Cliques(O).The set O corresponds to the independent set V (G)\V (M) (Lemma 2), and the set Cliques(O) is the set of K r−1 's completed by vertices in O.By Claim 3, all these K r−1 's are contained in the K r 's of M.Moreover, in Rule 1, we already compute all K r−1 's that a vertex completes.Thus, the time to obtain Cliques(O) is O(n r ).
Computing a k-K r -Packing with (r − 2)-Overlap We have obtained a 2(rk − r) kernel for the k-K r -Packing with (r − 2)-Overlap problem.We can now apply a brute-force algorithm on the kernel to find a solution.First, remember that the instance was reduced by the cliquecrown reduction rule (Rule 2) and the cliques in the head H becomes the set of cliques F in the annotated version.Therefore, we are now looking for an annotated solution in the reduced instance G ′ (Definition 3).
The brute-force algorithm first finds all r-cliques W in the reduced instance G ′ and after that evaluates if each possible selection of k − |H| r-cliques from W is an annotated solution in G ′ .
By Claim 1, we can obtain a k-solution in the original instance combining an annotated solution in G ′ with the set of mapped r-cliques.The time of this brute-force algorithm is O((2rk − 2r) rk ) and the k-K r -Packing with (r − 2)-Overlap Problem can be decided in time O((2rk − 2r) rk + n r ).
We will show in Section 5 how we can apply a faster FPT-algorithm in the kernel instead of brute-force.
4 An FPT-Algorithm for the k-H-Packing with t-Overlap Problem In this section, we introduce a fixed-parameter algorithm for the k-H-Packing with t-Overlap Problem for an arbitrary graph H and any value 0 ≤ t < r, where t is a fixed constant [18].The formal definition of the problem studied in this section is as follows.
The k-H-Packing with t-Overlap problem Input : A graph G and a non-negative integer k.
The key point of our fixed-parameter algorithm is based on the following lemma which is a generalization of Observation 2 in [6].This lemma proves how a maximal solution intersects with a k-solution of the graph G, assuming that G has one.
Lemma 7 Let M and K be a maximal H-Packing with t-Overlap and a k-H-Packing with t-Overlap, respectively.We claim that any Q * ∈ K overlaps with some Q ∈ M in at least t+1 vertices, i.e., |V (Q * )∩V (Q)| ≥ t+1.Furthermore, there is no pair Proof: Assume by contradiction that there is an H-subgraph Q * ∈ K such that for any H-subgraph Q ∈ M, the overlap between them is at most t, i.e., However, in this case, we could add Q * to M, and M ∪ Q * is an H-Packing with t-Overlap contradicting the assumption of the maximality of M.
To prove the second part of the lemma, assume by contradiction that there is a pair Q * i , Q * j ∈ K that overlaps in the same set of vertices for all Q ∈ M.However, by the first part of the lemma, we know that there is at least one , a contradiction since the k-H-Packing with t-Overlap problem does not allow overlap greater than t.
Lemma 7 states that every H-subgraph of a k-solution K overlaps in at least t + 1 vertices with some H-subgraph of a maximal solution M. Let us call this intersection of t + 1 vertices a feasible seed.A feasible seed is shared only by a unique pair composed of an H-subgraph of M and an H-subgraph of K. Thus, a feasible seed is contained in only one H-subgraph of a k-solution K.
Observation 2 If the graph G has a k-H-packing with t-Overlap K each Hsubgraph in K has at least one feasible seed.
The left-side of Figure 4 shows an example of this intersection for the 4-K 4 -Packing with 1-Overlap problem (H = K 4 , k = 4, and t = 1).The two K 4 's of the maximal solution are indicated by solid lines while the four K 4 's of the k-solution are indicated with solid and dashed lines.Edges of the graph that do not belong to any of these solutions are indicated in light gray.The feasible seeds in the example have size t + 1 = 2.A collection of four feasible seeds is {{1, 3}, {3, 4}, {5, 6}, {6, 8}}; the vertices of these feasible seeds are filled in the figure.).The seeds in this example are of size t + 1 = 2.To the right, part of the search tree corresponding to the instance to the left.The set Q gr corresponds to a set of K 4 's found by a greedy algorithm while the sets Q i and Q l represent k sets of vertices at different nodes of the search tree.
We now proceed to describe the algorithm for the k-H-Packing with t-Overlap problem.First, we obtain a maximal solution M of G.If the number of H-subgraphs in M is at least k then M is a k-H-Packing with t-Overlap and the algorithm stops.Otherwise, we want to find a k-solution using k feasible seeds (Observation 2).
Since we do not know if a set of t + 1 vertices of an H-subgraph Q ∈ M is a feasible seed, we would need to consider all the distinct sets of t + 1 vertices from V (Q).To avoid confusion, we call these sets simply seeds.Two seeds are distinct if they differ by at least one vertex.Therefore, seeds can overlap in at most t vertices.The set of all possible seeds from all H-subgraphs of M is called the universe of seeds.Observe that there are not duplicate seeds in this universe.Otherwise, there would be at least one pair of H-subgraphs of M with the same seed implying that they overlap in at least t + 1 vertices.Now, we create a search tree where at each node i there is a collection Q i of k sets of vertices.Each set represents an H-subgraph that would be part of the k-solution.Initially, the root has a child i for each possible selection of k seeds from the universe of seeds.The collection Q i is initialized with these k seeds, i.e., Q i = {s i 1 , . . ., s i k }.Since we are trying all possible selections of k seeds, at least one child i should have k feasible seeds each one contained in a different H-subgraph of a k-solution, assuming G has one.
The right side of Figure 4 shows one child of the root of the search tree created with the maximal solution in the left.This child has the collection We say that Q i is completed into a k-solution, if each seed in Q i is completed into an H-subgraph such that any pair of H-completed subgraphs overlaps in at most t vertices.The sponsors that complete the seeds in Q i are called feasible sponsors.
Next for each child i of the root, the goal is to try to find a feasible sponsor for each seed in Q i .Before explaining how we can find such sponsors, we next introduce a simple way to discard some of the sponsors that a seed s i j ∈ Q i could have.
Observation 3 Note that if there is a sponsor A of a seed s i j such that s i j • A overlaps in at least t + 1 vertices with some other seed s i l ∈ Q i , for s i l = s i j , then the the collection Q i = {s i 1 , . . ., s i j ∪ A, . . ., s i k } cannot be completed into a k-solution.
Therefore, at any step of the algorithm for a seed s i j we only consider a sponsor A if s i j • A overlaps in at most t vertices with every seed s i l ∈ Q i , for s i l = s i j .
In Figure 4, the sponsors {2, 4} and {5, 7} are not considered to complete {1, 3} and {6, 8}, respectively.Discarding such sponsors ensures that the overlap between any pair of seeds is at any stage at most t.
Lemma 8 If a seed s i j ∈ Q i does not have at least one sponsor A such that s i j • A overlaps in at most t vertices with every seed s i l ∈ Q i , for s i l = s i j , then Q i cannot be completed into a k-solution.Now, we explain how we attempt to complete the collection Q i in a greedy fashion.Let Q gr be the set of H-subgraphs found by a greedy algorithm at child i.Initially, Q gr = ∅.At iteration j, the greedy algorithm searches a sponsor A for s i j such that s i j • A overlaps in at most t vertices with every H-subgraph in Q gr .If such sponsor exists, greedy adds s i j • A to Q gr , i.e., Q gr = Q gr ∪ s i j • A; if not, greedy stops.If all the seeds of Q i were completed then we have a k-H-Packing with t-Overlap.
If the greedy algorithm cannot find a k-H-Packing with t-Overlap, then the next step will be to increase the size of one of the seeds of Q i by one vertex.Let s i j be the seed in Q i that could not be completed by the greedy algorithm.Greedy could not complete s i j because for each sponsor A of s i j , the H-subgraph s i j • A overlaps in more than t vertices with at least one H-subgraph in Q gr .For example, in Figure 4, greedy completed {1, 3} with the sponsor {10, 11}, and {1, 3} • {10, 11} is added to Q gr .After that greedy cannot complete {3, 4}.The seed has only one sponsor {11, 12} but {3, 4} • {11, 12} overlaps in two vertices

Correctness
The next basic lemma will help us to prove that the algorithm is correct.
Lemma 9 If A is a sponsor of the seed s i j then A\X is a sponsor of s i j ∪ X, for any X ⊂ A.
We next prove the correctness of the algorithm.
Theorem 1 If the graph G has a k-solution K = {Q * 1 , . . ., Q * k } then this solution will be propagated in at least one path from the root to a leaf of the tree.
Proving the theorem is equivalent to proving the following claim.
Claim 8 There is a path P =< i 1 , i 2 , . . ., i m > such that each node i l in P has the collection

Proof:
We prove this claim by induction on the number of levels.
Since we are creating a child of the root for each possible selection of k seeds from the universe of seeds, there would be at least one child of the root with collection Q i l = {s i l 1 , . . ., s i l k } where the claim will follow.By Observation 2, each feasible seed in Q i has at least one feasible sponsor.Let {A * 1 , . . ., A * k } be the set of feasible sponsors where A * j is the feasible sponsor of s i j .That is, the k-solution can be seen as Next we show that for the remaining nodes of P , the seeds are updated only with vertices from the feasible sponsors.

JGAA, 18(4) 515-538 (2014) 533
Let us suppose that the greedy algorithm failed to complete a seed s i1 j at level 1.The seed s i1 j has at least one feasible sponsor A * j .Greedy failed to complete s i1 j , if the H-subgraph formed with s i1 j and each sponsor of s i1 j (including the feasible one A * j ) overlaps in more than t vertices with an H-subgraph completed by greedy (i.e., an H-subgraph in the set Q gr ).Therefore at level 2, there is at least one child of the node i 1 where the seed s i1 j is updated with one vertex from the feasible sponsor A * j .That is, Q i2 = {s i1 1 , . . ., s i1 j ∪ v * , . . ., s i1 k } where v * ∈ A * j , and the claim follows.Now, let us assume that the claim is true up to the level h− 1.We next show that claim holds for level h.Let < i 2 , . . ., i h−1 > be the subpath of P where one seed in each node is updated with one vertex from its feasible sponsor.
Suppose by contradiction that at level h − 1, the greedy algorithm could not complete the seed s i h−1 j but there is no child of the node i h−1 such that s i h−1 j is updated with a vertex from its feasible sponsor.
Let us suppose that U * is the set of vertices that has been added to s i1 j during the levels 1, . . ., h − 1.By our assumption, the seed s i1 j is feasible, and it has been updated only with vertices from its feasible sponsor.Therefore, . Thus, the only way that none of the children of i h−1 would update s . this would imply that the H-subgraph s j overlaps in more than t vertices with some feasible seed s i1 l ∈ Q i1 .This contradicts our assumption that the collection Q i1 can be completed into a k-solution. .

Analysis
Lemma 11 The height of the search tree is at most (r − t − 1)k − 1.
Proof: If the greedy algorithm cannot complete the collection Q i of a node i, then we create at least one child of i.In this new child, the first seed not completed by greedy, let's say s i j , is updated with one vertex.Since at the first level |s i j | = t + 1, then s i j could be completed into an H-subgraph in at most r − (t + 1) levels (which are not necessarily consecutive).
At most k − 1 H-subgraphs are completed in this way since the last k Hsubgraph is completed in greedy fashion.Therefore, we need at most (r − t − 1)k − levels to complete the k seeds in Q i .Proof: There is a child of i for each vertex in I(Q gr , Sponsors(s i j )), where s i j is the first seed not completed by greedy.This is the set of vertices shared by each sponsor of s i j with the H-subgraphs completed by greedy, i.e., the set Q gr .Therefore, I(Q gr , Sponsors(s i j )) ≤ r|Q gr |.The greedy algorithm needs to complete only the seeds in Q i that are not already completed H-subgraphs.Therefore, |Q gr | ≤ |Q i | − m where m is the number of seeds of Q i that are completed H-subgraphs.
Assuming all the seeds of Q i − m were completed by greedy but the last one, i.e., |Q gr | ≤ |Q i | − m − 1, then I(Q gr , Sponsors(s i j )) ≤ r(|Q i | − m − 1) ≤ r(k − m − 1).Now, we need to determine how many seeds of Q i are already H-subgraphs at level h, i.e., the value of m.Since a seed s i j can be completed into an Hsubgraph in at most r − (t + 1) levels but these are not necessarily consecutive, then we cannot guarantee that h r−(t+1) is the number of H-subgraphs at level h.Therefore, in the worst-case one vertex is added to each seed of Q i level by level.In this way, in at most (r − t − 2)k levels every seed of Q i could have r − 1 vertices, and at level (r − t − 2)k + 1 we could obtain the first seed completed into an H-subgraph.After that level, the remaining seeds of Q i are completed into H-subgraphs by adding one vertex.A maximal solution M can be computed in time O(krn r ), which is also the required time to compute the list of sponsors of the seeds.The greedy algorithm runs in O(k 2 rn r ).
When computing the clique-crown decomposition in Section 5, it is assumed that cliques in O are vertex-disjoint and cliques in Cliques(O) overlap in at most t + 1.If these two conditions do not follow then a perfect matching would not guarantee that a pair of mapped r-cliques overlap in at most t vertices.Therefore, it remains how to design a different injective function that satisfies this overlap condition.
In addition, we developed the first fixed-parameter algorithm for the the k-H-Packing with t-Overlap problem for any graph H and any value t < r.We also provided a finer analysis of this algorithm for the case when H = K r and t = r − 2, and we applied this algorithm to the kernel obtained for the k-K r -Packing with (r − 2)-Overlap problem.This approach is faster than applying a brute-force algorithm on the kernel.
is a clique but JGAA, 18(4) 515-538 (2014) 519 does not have r vertices then B does not complete A.

Lemma 1 [ 2 ]
If a graph G = (V, E) has an independent set of vertices I ⊆ V (G) such that |I| ≥ |N (I)|, then G has a crown decomposition, where C ⊆ I and H ⊆ N (I), that can be found in time O(|V (G)| + |E(G)|), given I.

Figure 2 Figure 2 :
Figure 2 shows an example of a clique-crown decomposition for an instance of the 5-K 4 -Packing with 1-Overlap problem (k = 5, r = 4, and t = 1).Cliques that belong to the head H are G[{3, 4}], G[{8, 9, 10}], and G[{11, 12}].These cliques are highlighted with thicker lines.Cliques in the clique-crown C are is an induced subgraph of at most one r-clique of any solution, since the k-K r -Packing with t-Overlap problem allows overlap at most t.Lemma 3 If G admits a clique-crown decomposition (H, C, R), then the set of mapped r-cliques is an |H|-K r -Packing with t-Overlap in G. Proof: Follows from Definition 2.

Lemma 5
Any graph G with a set O of vertex-disjoint cliques where each clique has size at most r − (t + 1) and |O| ≥ |Cliques(O)|, has a clique-crown decomposition (H, C, R) where H ⊆ Cliques(O), that can be found in O(|V (G)| + |E(G)|) time given O and Cliques(O).
we use the crown decomposition (H ′ , C ′ , R ′ ) of G ′ to construct the clique-crown decomposition (H, C, R) of G where H ⊆ Cliques(O).1.For each vertex v α ∈ C ′ ⊆ O cont , add the clique α to C. The size of each clique in C is at most r − (t + 1).This follows because α ∈ O and each clique in O has size at most r − (t + 1).
For any matched edge (v α , v A ) complete A with α.For any pair of mapped r-cliques A • α and B • β completed in this way, |V (A • α) ∩ V (B • β)| ≤ t.This follows because α and β are vertex-disjoint, and |V (A) ∩ V (B)| ≤ t by assumption in the set Cliques(O).Thus, if |O| ≥ |Cliques(O)| then G admits a clique-crown decomposition.One method to obtain the sets O and Cliques(O) is to compute a maximal K r -packing with t-Overlap M from G. O will be the set of all cliques in G[V (G)\V (M)].After applying the Reduction Rule 1, each clique in O completes at least one clique in G[V (M)].Cliques(O) is therefore the set of cliques in G[V (M)] completed by cliques in O.The overlap between an r-clique A • α, where A ∈ Cliques(O) and α ∈ O, with some clique in M is at least t + 1.Therefore, the size of A is at least t + 1 and the size of α is at most r − (t + 1).It has to be verified if the sets O and Cliques(O) follow the properties of the crown and the head, respectively, from Definition 2.

3. 3 A
Kernel for the k-K r -Packing with (r − 2)-Overlap Problem Using the clique-crown reduction rule, we introduce an algorithm to obtain the kernel for the k-K r -packing with (r − 2)-Overlap problem.First, we compute a maximal solution for the k-K r -packing with (r − 2)-Overlap problem.Next, we show that the sets O and Cliques(O) are composed of vertices that are outside and inside, respectively, of the maximal solution.The steps of the algorithm are outlined in Algorithm 1. Algorithm 1 k-K r -packing with (r − 2)-Overlap Algorithm Input: A graph G = (V, E) and a non-negative integer k.Reduce G by Reduction Rule 1. Greedily, find a maximal K r -Packing with (r − 2)-Overlap M in G. if |M| ≥ k then Accept else Let O be V (G)\V (M) and Cliques(O) be the set of cliques in M completed by vertices in O. if |O| ≥ |Cliques(O)| then Apply the clique-crown reduction rule in G (Rule 2).
Furthermore, any pair of cliques in Cliques(O) overlaps in at most t vertices.Proof: Assume by contradiction that there is a clique A ′ ⊂ A of size s < r − 1 completed by a clique in G[V (O)].This would imply that there is a K r−s in G[V (O)], a contradiction since O is an independent set (Claim 2).

Claim 5
The set of vertices O completes at most rk − r K r−1 's.Proof: By Claim 3, vertices in O only complete K r−1 's contained in K r 's in M.There are r K r−1 's in a K r and at most k − 1 K r 's in M; thus, there are at most rk − r K r−1 's that can be completed by vertices in O. Claim 6 |O| < rk − r Proof: In Algorithm 1, if |O| ≥ |Cliques(O)|, O is reduced by the clique-crown reduction rule (Rule 2).Since |Cliques(O)| < rk − r then |O| < rk − r, after applying that rule.

Lemma 6
If |V (G)| > 2(rk − r) then Algorithm 1 will either find a k-K r -Packing with t-Overlap, or it will reduce G. Proof: Assume by contradiction that |V (G)| > 2(rk − r), but the algorithm neither finds a k-K r -packing with (r − 2)-Overlap nor reduces the graph G.

Figure 4 :
Figure 4: On the left side, an intersection of a k-solution with a maximal solution of the 4-K 4 -Packing with 1-Overlap problem (k = 4 and t = 1).The seeds in this example are of size t + 1 = 2.To the right, part of the search tree corresponding to the instance to the left.The set Q gr corresponds to a set of K 4 's found by a greedy algorithm while the sets Q i and Q l represent k sets of vertices at different nodes of the search tree.

Lemma 10
The root has at most e 2 r t+1 k(t+1) children.Proof: There are |V (H)| t+1 distinct sets of t + 1 vertices (seeds) in the set of vertices of an H-subgraph H.The universe of seeds was defined as the set of all possible sets of t + 1 vertices in V (H) for each H ∈ M. Since |M| ≤ k − 1, and |V (H)| = r then there are at most (k − 1) er t+1 t+1 seeds in the universe of seeds.From the root of the search tree, we create a node i for each possible selection of k seeds of the universe of seeds, i.e., |universeof seeds| k

Lemma 12 A
node i at level h can have at most r(k − 1) children if h ≤ (r −t−2)k and at most r(k −m−1) where m = h−(r −t−2)k if h > (r −t−2)k.

Theorem 2
The k-H-Packing with t-Overlap can be solved in O(r rk k (r−t−1)k+2 n r ) time.Proof: By Lemmas 11 and 12, the size of the tree is k − 1)) (r−t−1)k−1 .
crown) is a set of cliques in G where each clique has size at most r − (t + 1).Cliques in C are denoted with letters α, β, . . . .
t + 1 and at most r − 1. Cliques in H are denoted with letters A, B, . . . .The head satisfies the following conditions.i.Each A ∈ H is completed by at least one clique in C. Furthermore, none subgraph A ′ of A is completed by a clique in C.