Building large k-cores from sparse graphs
aa r X i v : . [ c s . D S ] J u l Building large k -cores from sparse graphs Fedor V. Fomin ∗ Danil Sagunov †‡ Kirill Simonov ∗ July 8, 2020
Abstract
A popular model to measure network stability is the k -core, that is themaximal induced subgraph in which every vertex has degree at least k . Forexample, k -cores are commonly used to model the unraveling phenomenain social networks. In this model, users having less than k connectionswithin the network leave it, so the remaining users form exactly the k -core. In this paper we study the question of whether it is possible to makethe network more robust by spending only a limited amount of resourceson new connections. A mathematical model for the k -core constructionproblem is the following Edge k -Core optimization problem. We aregiven a graph G and integers k , b and p . The task is to ensure that the k -core of G has at least p vertices by adding at most b edges.The previous studies on Edge k -Core demonstrate that the problemis computationally challenging. In particular, it is NP-hard when k = 3,W[1]-hard when parameterized by k + b + p (Chitnis and Talmon, 2018),and APX-hard (Zhou et al, 2019). Nevertheless, we show that there areefficient algorithms with provable guarantee when the k -core has to beconstructed from a sparse graph with some additional structural proper-ties. Our results are • When the input graph is a forest,
Edge k -Core is solvable in poly-nomial time; • Edge k -Core is fixed-parameter tractable (FPT) when parameter-ized by the minimum size of a vertex cover in the input graph. Onthe other hand, with such parameterization, the problem does notadmit a polynomial kernel subject to a widely-believed assumptionfrom complexity theory; • Edge k -Core is FPT parameterized by the treewidth of the graphplus k . This improves upon a result of Chitnis and Talmon by notrequiring b to be small.Each of our algorithms is built upon a new graph-theoretical result inter-esting in its own. The k -core in an undirected graph G is the maximal induced subgraph of G in which all vertices have degree at least k . This concept has been applied in ∗ Department of Informatics, University of Bergen, Norway. † St. Petersburg Department of V.A. Steklov Institute of Mathematics, Russia. ‡ JetBrains Research, Russia k -core for some threshold parameter k . Interestingly, losing evena small amount of users or links can bring to the cascade of iterated withdrawals.A classical example of such phenomena is the example of Schelling from [31]:Consider a cycle on n vertices, which is a 2-core with n vertices. Missing justone edge from this graph turns it into in a path and triggers the withdrawalsthat results in dismounting of the whole network. On the other hand, adding asmall number of extra links can create a large k -core and thus prevent users fromwithdrawal. We consider the following mathematical model for this problem.For a given a network, the assumption is that a user leaves the network whenless than k his/her friends remain within it. We would like to prevent unravelingof the network, so that at least p users remain engaged in it. To achieve this,we are given a budget to establish at most b new connections between the usersof the network. More precisely, the problem is stated as follows. Input:
A simple undirected graph G and integers b , k , and p . Task:
Decide whether there exists B ⊆ (cid:0) V ( G )2 (cid:1) \ E ( G ) of size atmost b such that the k -core of the graph ( V ( G ) , E ( G ) ∪ B )is of size at least p . Edge k -Core The
Edge k -Core problem was introduced by Chitnis and Talmon in [10]as a model of preventing unraveling in networks. For instance, in a P2P net-work, any user benefiting from the network should be linked to at least k otherusers exchanging resources. In this scenario the Edge k -Core model couldbe used to find extra connections between users to provide a better service forlarger number of users [10, 36]. Other potential application of Edge k -Core inreal-life networks include friend recommendation in social networks, connectionconstruction in telecom networks, etc. We find the Edge k -Core problem tobe interesting from the theoretical perspective too: it has strong links to thewell-studied family of problems, where one seeks a modification of a graph sat-isfying certain conditions on vertex degrees, see [13] for further references. Ourinterest in the study of the problem is of a theoretical nature.The k -core in a graph can be found by a simple shaving procedure: If agraph contains a vertex of degree less than k , then this vertex cannot be inits k -core and thus can be safely removed. Apparently, solving Edge k -Core is more challenging. In particular, Chitnis and Talmon in [10] proved that Edge k -Core is NP-complete even for k = 3 and when the input graph G is 2-degenerate. Moreover, the problem is W[1]-hard being parameterized by k + b + p . On the other hand, they show that if the treewidth of the graph G is tw, then the problem is solvable in time ( k + tw) O (tw+ b ) · n O (1) and hence isfixed-parameter tractable (FPT) parameterized by k + tw + b . These results ofChitnis and Talmon are the departure point for our study. Recall that a graph is d -degenerate if its every induced subgraph contains a vertex ofdegree at most d . Thus the d -core is the maximum subgraph which is not d − ur results. We study the algorithmic complexity of
Edge k -Core on threefamilies of sparse graphs: forests, graphs with bounded vertex cover numberand graphs of bounded treewidth. Each of our algorithms is based on oneof the common algorithmic paradigms: dynamic programming for forests andtreewidth, and ILP for vertex cover. The interesting part here is that in eachof the cases, the successful application of an algorithmic paradigm cruciallydepends on a new combinatorial result. We show the following. Growing from forest.
We prove (Theorem 5) that
Edge k -Core is solvablein time O ( k · | V ( G ) | ), when the input graph G is a forest. The algorithm isbased on a dynamic programming over subtrees. The crucial part of the workis to make this algorithm run in polynomial time. For that we need a newgraph-theoretical result, Theorem 4. The theorem states that for any integer k ,a forest F on at least k + 1 vertices can be completed into a graph of minimumdegree k by adding at most l X v ∈ V ( F ) max { , k − deg( v ) } m edges. Moreover, this bound is tight, any forest requires such amount of edgeadditions to grow into a k -core. The proof of Theorem 4 is non-trivial andexploits an interesting connection between the cores in a graph and sufficientconditions on the existence of a large matching in a graph. Here the recent com-binatorial theorem of Henning and Yeo [26] on matchings in graphs of boundeddegrees becomes handy. Bounded vertex cover.
We prove that the problem is FPT parameterized bythe minimum size of a vertex cover in a graph. More precisely, in Theorem 14,we give an algorithm of running time 2 O (vc · vc ) · n O (1) , where vc is the vertexcover number of the input graph. Let us note that every graph is vc-degenerate.We solve the problem by reducing it to an integer linear program (ILP), whosenumber of variables is bounded by some function of vc. This allows to applyLenstra’s algorithm [28], see also [27, 21], to solve Edge k -Core . Nowadays ILPis a commonly used tool for designing parameterized algorithms, see e.g. [14,Chapter 6]. However, just like in the case of forests, the application of an algo-rithmic paradigm is not direct. In order to encode the problem as ILP with therequired number of variables, we need a new combinatorial result (Lemma 13)about degree sequences of a graph. One of the components in the proof ofLemma 13 is the classical Erd˝os-Gallai theorem [17] about graphic sequences.We complement FPT algorithm by lower bounds on the size of the kernel. Bounded treewidth.
Chitnis and Talmon in [10] have shown that
Edge k -Core is FPT parameterized by tw + k + b , where tw is the treewidth of the inputgraph. Even in the case when the treewidth and k are constants, this does notmean that the problem is solvable in polynomial time. We enhance this result byproving that Edge k -Core is FPT parameterized by tw + k . As the algorithmof Chitnis and Talmon in [10], our algorithm is a dynamic programming ongraphs of bounded treewidth, but again, in order to make it work, we needa new combinatorial result (Theorem 18). When the budget b is small (oforder k ), the algorithm of Chitnis and Talmon suffices. When the budget b is large, we are able to approach the problem in an interesting new way. HereTheorem 18 provides us with a criteria how a subset of vertices can be turned3nto a k -core “optimally”. This key insight allows us to show that the problemis FPT parameterized by tw + k . Related work.
The usability of k -cores in the study of network unravelingphenomena was popularized by the influential paper of Bhawalkar et al. [4]who suggested the model of forcing a limited number of users of a networkto stay in order to maximize the size of the k -core. The same problem wasfurther studied in [8], where new computational results were obtained and someresults of [5] were strengthened. Also, Chitnis, Fomin and Golovach studiedthis problem applied to networks where the underlying graph is directed [9].Heuristic algorithms for this problem are discussed in [34]. Edge k -Core was introduced in [10], where also a number of complexityand algorithmic results about the problem were established. Zhou et al. [36]provide some non-approximability results for Edge k -Core as well as someheuristics. The work [35] is devoted to the “dual” problem of disengaging alimited number of users from a network in order to minimize its k -core size.Another work in this context is the work of Luo, Molter and Suchy [29].More generally, Edge k -Core fits into a large class of edge modificationproblems, where one is seeking for an optimum modification to some desiredgraph property [13]. In particular, a significant part of literature in parameter-ized complexity is devoted to related problems of graph modification to graphswith some vertex degree properties like being regular, Euler, or to some degreesequence [18, 24, 23, 25, 30]. All graphs considered in this paper are simple undirected graphs. We use stan-dard graph notation and terminology, following the book of Diestel [15]. Wewrite G + F to denote the simple graph obtained by adding the edges from F ⊆ (cid:0) V ( G )2 (cid:1) \ E ( G ) to a graph G . If not specified otherwise, we use n to denotethe number of vertices of the graph G in an input instance of Edge k -Core .Throughout this paper, we use the following terms. In the following defini-tions, we assume that k is fixed. Definition 1 (Deficiency).
For a graph G , and its vertex v ∈ V ( G ), letdf G ( v ) = max { , k − deg G ( v ) } denote the deficiency of v in G . By df( G ) = P v ∈ V ( G ) df G ( v ) we denote the total deficiency in G .Note that an addition of an edge between two vertices of G can decreasedf( G ) by at most two. It also does not make any sense to add edges that donot decrease deficiency if we aim to complete G to a graph of minimum degree k . We distinguish added edges by whether they decrease deficiency by two orone. Definition 2 (Good/bad edges).
For nonadjacent vertices u, v ∈ V ( G ) anew added edge uv is good if both df G ( u ) > G ( v ) >
0. If df G ( u ) = 0and df G ( v ) >
0, then uv is bad .Thus adding a good edge decreases the total deficiency by 2 and adding abad one by 1. 4 efinition 3 (A k -core graph). We say that a graph G is a k -core if G isthe k -core of itself. We also say that a vertex set H in G induces a k -core in G if G [ H ] is a k -core.Note that whenever there is a vertex set H of size at least p which inducesa k -core in G , the k -core of G has also size at least p , since it is the uniquemaximal induced subgraph of G which is a k -core. We often use this simpleobservation throughout the paper whenever we show that the k -core is large bypresenting a large vertex set which induces a k -core. In this section we present our polynomial time algorithm for
Edge k -Core onforests and the underlying graph-theoretical result.The algorithm itself is a dynamic programming over subtrees. Normally, analgorithm like this would go from leaves to larger and larger subtrees, storingfor every subtree a list of possible configurations a solution could induce on thissubtree. In the Edge k -Core problem, naturally we want to store informationabout edges added inside the subtree and vertices from the subtree which wemay later connect to something outside.Naively, this would take exponential space, as it seems we have to store atleast the degrees of the selected vertices in the subtree. However, the followingtheorem, which is the central technical result of this section, helps greatly. Theorem 4.
For any integer k , any forest T on at least k + 1 vertices can becompleted to a graph of minimum degree k by adding at most l X v ∈ V ( T ) max { , k − deg( v ) } m edges, and this cannot be done with less edge additions. Moreover, in the case k ≥ , it can be done in a way that the added edges form a connected graph onthe vertices they cover. For our algorithm, Theorem 4 means that whenever we fix the subset ofvertices H , we have to add exactly ⌈ df( T [ H ]) / ⌉ edges in order to induce a k -core on H . Thus it is enough to find a subset of vertices H of size at least p with the smallest possible df( T [ H ]). This objective turns out to be simpleenough for the bottom-top dynamic programming. Namely, for a subtree T v rooted at v , it is enough to store the size of H ∩ T v , the total deficiency of thesevertices, whether v is in H and how many neighbors in H ∩ T v it has. Since v separates T v from the rest of the tree, the deficiency of other vertices in H ∩ T v is unchanged no matter how H looks like in the rest of the tree.The discussion above ultimately leads to a polynomial time algorithm, statedformally in the next theorem. Theorem 5.
Edge k -Core is solvable in time O ( kn ) on the class of forests.Proof. Let (
G, b, k, p ) be the given instance of
Edge k -Core , and G be a forest.Consider a subset H ⊆ V ( G ) of the vertices of G . Since G [ H ] is a forest, byTheorem 4, one needs ⌈ df( G [ H ]) ⌉ edge additions to make H a (subset of)5 -core in G . Thus, to solve the given instance, it is enough to check whetherthere is a subset H ⊆ V ( G ) with | H | ≥ p , such that 2 b ≥ df( G [ H ]). Hence, it isenough to find H with the smallest value of df( G [ H ]). In the rest of the proof,we show how to find such H in polynomial time using dynamic programming.To simplify our task, let us first make G connected. For that, introduce anew vertex r to G , and connect this vertex with each connected component of G by a single edge arbitrarily, even if G consists of a single connected component.We thus obtained a tree T that differs from G only in the newly-introducedvertex r . For each H ⊆ V ( G ), G [ H ] = T [ H ]. Hence, we are now looking for asubgraph in T on at least p vertices, such that this subgraph does not contain r , and we want its total deficiency to be minimum possible.Make T rooted in r . For v i ∈ V ( T ), by T v we denote the subtree of the vertex v i in T . Let t i be the number of child vertices of v i in T . By c i, , c i, , . . . , c i,t i denote the children of v i in T in arbitrary order. If v i is a leaf vertex, t i = 0.For each j ∈ { , , . . . , t i } by T jv i denote the subtree of v i in T , but includingonly subtrees of the first j of its children. That is, T jv i = T v i [ { v i } ⊔ V ( T c i, ) ⊔ V ( T c i, ) ⊔ . . . ⊔ V ( T c i,j )] . Clearly, T v i = T t i v i .Now for each v i ∈ V ( T ), each j ∈ { , . . . , t i } and each s ∈ { , , . . . , | V ( T jv i ) |− } , let OP T j ( v i , s ) = min df( T jv i [ S ]) (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12) S ⊂ V ( T jv i ) , | S | = s,v i / ∈ S . In other words,
OP T j ( v i , s ) equals the minimum deficiency of a subgraph of T jv i on exactly s vertices, such that it does not contain v i . Also denote OP T ( v i , s ) = OP T t i ( v i , s ).On the other hand, for each v i ∈ V ( T ), each j ∈ { , , . . . , t i } each s ∈ [ | V ( T jv i ) | ] and each d ∈ { , , . . . , k } , define OP T j ( v i , s, d ) = min df( T jv i [ S ]) (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12) S ⊆ V ( T jv i ) , | S | = s,v ∈ S, df T jvi [ S ] ( v ) = d . Thus,
OP T j ( v, s, d ) equals the minimum deficiency of a subgraph of T jv i on s vertices, including v i , such that deficiency of v i in this subgraph equals d . Forsome choice of v i , j , s , d , there may be no corresponding subgraphs. In suchcases, we put OP T j ( v i , s, d ) = ∞ . Also denote OP T ( v i , s, d ) = OP T t i ( v i , s, d ).Finally, for each v ∈ V ( T ) and each s ∈ { , , . . . , | V ( T v ) |} , let OP T ( v i , s ) = min (cid:26) OP T ( v i , s ) , k min d =0 OP T ( v i , s, d ) (cid:27) denote the minimum deficiency of a subgraph of T v i on s vertices.Clearly, the minimum possible deficiency we are looking for equals | V ( G ) | min i = p OP T ( r, i ) , b to solve the initial instance of Edge k -Core . We now show how we compute the values of OP T . We do thisin a bottom-up manner, starting from the leaf vertices of T .Let v i ∈ V ( T ) be a vertex in T . Since T v i consists of a single vertex, the onlychoice of s for OP T ( v i , s ) is s = 0, and OP T ( v i ,
0) = 0. For
OP T ( v i , s, d ),the only choice is s = 1 and d = k , and OP T ( v i , , k ) = k , as df( T v i ) = k .If v i is a leaf vertex, then computations for v i are finished, as OP T ( v i , s ) = OP T ( v i , s ) and OP T ( v i , s, d ) = OP T ( v i , s, d ).Otherwise, t i > OP T for the children of v i are alreadycomputed. Consider computing OP T j ( v i , s ) for j >
0. Take S ⊂ T jv i , v i / ∈ S .Since subtrees of the children of v i are connected only through v i , it is true thatdf( T jv i [ S ]) = df( T j − v i [ S ∩ V ( T j − v i )]) + df( T c i,j [ S ∩ V ( T c i,j )]) . (1)In some sense, we can minimize total deficiencies of T j − v i and T c i,j separately.We obtain OP T j ( v i , s ) = min { s, | V ( T ci,j ) |} min s i =0 (cid:16) OP T j − ( v i , s − s i ) + OP T ( c i,j , s i ) (cid:17) . Thus,
OP T j ( v i , s ) is computed in O ( | T c i,j | ) time. We compute these values inincreasing order of j . Since there are | T jv i | choices of s for a fixed j , computingall values of OP T for v i in total takes O ( | T v i | · | T c i, | + | T v i | · | T c i, | + . . . + | T t i − v i | · | T c i,ti | ) time.We now turn onto computing OP T j ( v i , s, d ) for j >
0. Take S ⊆ V ( T jv i ), v i ∈ S . Denote S = S ∩ V ( T j − v i ) and S = S ∩ V ( T c i,j ), so S = S ⊔ S . v i is now included in the subgraph T jv i [ S ], and it may now influence the deficiencyof its child c i,j . Thus, equation 1 is not quite correct in this case. If u i ∈ S anddf T ci,j [ S ] ( c i,j ) >
0, then in T jv i deficiency of c i,j decreases by one because of theedge v i c i,j . If df T j − vi [ S ] ( v i ) >
0, then the deficiency of v i in T jv i also decreasesby one. Thus, if c i,j ∈ S ,df( T jv i [ S ]) = df( T j − v i [ S ]) − min(1 , df T j − vi [ S ] ( v i ))+ df( T c i,j [ S ]) − min(1 , df T ci,j [ S ] ( c i,j )) , (2)and if u i / ∈ S , equation 1 holds true. Denote by JOIN ( c i,j , s i ) = min (cid:26) OP T ( c i,j , s i , , k min d i =1 ( OP T ( c i,j , s i , d i ) − (cid:27) the minimum total deficiency of a subgraph of T c i,j on s i vertices including c i,j ,but with deficiency of c i,j decreased by one, if it is non-zero. This correspondsto the second half of the right part of equation 2. Each value JOIN ( c i,j , s i )can be computed in O ( k ) time, and there are | T c i,j | choices of s i for any j ∈ [ t i ].Hence, all values of JOIN for the children of v i together can be computed intotal O ( | T c i, | · k + | T c i, | · k + . . . + | T c i,ti | · k ) = O ( | T v i | · k ) running time. We7hen obtain OP T j ( v i , s, d ) = min { s, | V ( T ci,j ) |} min s i =0 { OP T j − ( v i , s − s i , d ) + OP T ( c i,j , s i ) ,OP T j − ( v i , s − s i , d + 1) + JOIN ( c i,j , s i ) } , (3)for any s ∈ [ | V ( T jv i ) | ] and any d < k . The first argument of min in equation3 corresponds to u i / ∈ S and equation 1, and the second argument correspondsto u i ∈ S and equation 2. If d = k , i.e. the deficiency of v i in S equals k ,then necessarily u i / ∈ S . Thus, in case when d = k , we compute OP T j ( v i , s, d )according to equation 3, but without the second argument of min. This finishesthe description of formulas for computing the values of OP T . Each sepa-rate value of OP T j ( v i , s, d ) is computed in O ( | T c i,j | ) time. There are | T jv i | · ( k + 1) choices of ( s, d ), so computing all values of OP T j for v i together takes O ( k · P t i j =0 | T jv i | · | T c i,j | ) running time. Note that this also covers the runningtime needed for computing the values of JOIN for all children of v i .It is left to show that the total running time of the algorithm is O ( k ·| V ( T ) | ) = O ( k · | V ( G ) | ). Computing the values of OP T and OP T for afixed vertex v i ∈ T takes O ( k · P t i j =0 | T jv i | · | T c i,j | ) running time. We need toshow that X v i ∈ V ( T ) t i X j =0 | T jv i | · | T c i,j | ≤ | V ( T ) | , which is equivalent to X v i ∈ V ( T ) t i X j =0 | T jv i × T c i,j | ≤ | V ( T ) × V ( T ) | . Note that all sets T jv i × T c i,j are pairwise-disjoint, and each of them is a subset of V ( T ) × V ( T ). Hence, the last inequality is essentially true. Thus, the dynamicprogramming itself is done in O ( k ·| V ( G ) | ) running time by the algorithm. Anyother part of the algorithm, including constructing and rooting T and findingand comparing min | V ( G ) | i = p OP T ( r, i ) with 2 b , takes O ( | V ( G ) | ) time, which iscovered by O ( k · | V ( G ) | ). This finishes the proof.For the remaining part of this section we focus on the proof of Theorem 4. Proof of Theorem 4.
The theorem says that completion of T to a graph of totaldeficiency 0 can be done using ⌈ df( T ) ⌉ edge additions. Note that this boundis tight because a single edge addition decreases the total deficiency by at mosttwo. When df( T ) is even, we have to prove that it is possible to complete T byadding only good edges. When df( T ) is odd, we have to complete T to a graphof total deficiency 1 adding ⌊ df( T ) ⌋ good edges and then add one bad edge.Fixing deficiency 1 with one bad edge is always possible, since the only deficientvertex u has degree k − k ≥ u to the already added good edges.8hus, from now on, it suffices to prove that we can add ⌊ df( T ) ⌋ good edges,in a connected way for k ≥ k = 1, vertices with non-zero deficiency are exactly the isolated verticesof T . In this case pairing isolated vertices arbitrarily provides the required ⌊ df( T ) ⌋ good edges.For k ≥
2, it is sufficient to prove the theorem statement for the case when T is connected, i.e. T is a tree. If T is a forest consisting of at least two trees,one may reduce the number of trees in T . This can be done by picking twoleaf vertices of distinct connected components in T and adding an edge betweenthem. Clearly, such an edge addition is good since any leaf vertex has non-zerodeficiency, and it reduces the number of connected components in T .Moreover, for k = 2, vertices with non-zero deficiency are exactly the leavesof T . Since T is a tree with at least three vertices, an edge connecting any twoleaves can be added. Thus, as in the case k = 1, pairing the leaves arbitrarilysuffices.Now, for every integer k ≥
3, we prove Theorem 4 by induction on thenumber of vertices in the tree. The fact that the graph on the added edgesmust be connected in the case k ≥ Base case.
Let T be a tree on n = k +1 vertices. The only way to complete T to a graph of minimum degree k is to turn it into a complete graph, i.e. add everypossible missing edge between vertices in V ( T ). Clearly, each edge addition insuch completion is good, thus the completion requires exactly df( T ) edgeadditions. Suppose there are two connected components formed by the addededges. Then T must contain all edges between these components, so it alsocontains a cycle, since each of the components has at least two vertices. Thusthe connectivity condition must be satisfied. Inductive step.
Suppose that Theorem 4 holds for all trees on n vertices,and let T be a tree on n + 1 vertices. We prove that Theorem 4 holds for T . Let v be a leaf of T and let T ′ = T − v be the tree obtained by deleting v from T .By the induction hypothesis, T ′ can be completed to a graph of total deficiency(df( T ′ ) mod 2) using ⌊ df( T ′ ) ⌋ edge additions. Let A ′ be the graph on thedeficient vertices of T ′ formed by the good edges added during the completion.Our ultimate goal is to transform A ′ in such a way that it accounts for thenew vertex v as well. We shall do this by first removing edges from A ′ , andthen adding good edges between vertices which are not yet adjacent. In the case k ≥
4, we must also end up with a connected graph on the added edges.Briefly explained, our technique of adding and removing edges is as follows.Take an edge st ∈ E ( A ′ ), such that 1) s = v , t = v and 2) sv and tv arenot yet in the graph. Delete the edge st , and add both edges sv and tv . Thisoperation preserves deficiencies of both s and t , while it decreases the deficiencyof v by two. Note that s and t also remain connected through v . We can do thesame with a matching instead of a single edge, thus we need a matching of sizeroughly k/ v .The rest of the proof is structured in two parts. First, we show that there isindeed a sufficiently large matching in A ′ . Second, we give a detailed descriptionof how to reroute the edges of the matching to the new vertex v , and carefullyverify the correctness of the procedure. Finding a matching.
We will need the following properties of A ′ .If k ≥ A ′ is connected. (4)9he correctness of (4) follows from the induction hypothesis. Because eachvertex in T ′ has deficiency at most k − A ′ ) ≤ k − . (5)Also | E ( A ′ ) | ≥ n ( k −
2) + 12 , (6)since there must be at least nk − edges in the graph after the completion todeficiency (df( T ′ ) mod 2), and only n − T ′ . | V ( A ′ ) | ≥ k . If n > k + 1 , then | V ( A ′ ) | > k . (7)To prove (7), suppose that | V ( A ′ ) | ≤ k −
1. By (5), 2 · | E ( A ) | ≤ ∆( A ′ ) ·| V ( A ′ ) | ≤ ( k − . Then by (6), we have that either ( k − ≥ n ( k −
2) + 1,or k − k ≥ n ( k − k ≥ n , which is a contradiction. Therefore, | V ( A ′ ) | ≥ k .Suppose now that | V ( A ′ ) | = k , but n ≥ k + 2. Then either k ( k − ≥ n ( k −
2) + 1 ≥ ( k + 2)( k −
2) + 1, or k − k ≥ k −
3, so k ≤
3. Thus, k = 3 and n = k + 2 = 5 (if n > k + 2, k should be strictly less than 3).Since | V ( A ′ ) | = k = n − T should have two vertices of degree at least three.But then T should contain at least five edges, but it only contains four. Acontradiction.We now use these properties of A ′ to show that there is a large matching in A ′ . For lower bounds on the size of a maximum matching we rely on the recentwork of Henning and Yeo [26]. Proposition 6 ([26]).
For any integer t ≥ , any connected graph G with | V ( G ) | = n , | E ( G ) | = m and ∆( G ) ≤ t , contains a matching of size at least (cid:18) t − t ( t − (cid:19) n + (cid:18) t − t − t ( t − (cid:19) m − t − t ( t − , if t is odd,or at least nt ( t + 1) + mt + 1 − t , if t is even. We shall use Proposition 6 to show that A ′ contains a matching of sizeroughly k , as stated in the following claim. Claim 7.
When k is odd and n = k + 1 , A ′ has a matching of size at least k − .Otherwise, A ′ has a matching of size at least ⌈ k ⌉ .Proof. Consider the case when k is even. We apply Proposition 6 with t = k − A ′ , and use properties (4) and (5). Since the lower bound from the theoremstatement is rounded up, we need to show that (cid:18) t − t ( t − (cid:19) | V ( A ′ ) | + (cid:18) t − t − t ( t − (cid:19) | E ( A ′ ) | − t − t ( t − > k − . By properties (6) and (7), and by replacing k with t + 1, it is sufficient toshow that( t − t + 1) t ( t −
3) + (cid:18) t − t − t ( t − (cid:19) · (cid:18) n ( t −
1) + 12 (cid:19) − t − t ( t − > t + 12 − , (8)10or any odd t ≥ n ≥ k + 1 = t + 2. After multiplying both parts of(8) by 2 t ( t − t − t + 1) + ( t − t − · ( n ( t −
1) + 1) − t − > ( t + 1 − · t ( t − , which is simplified to n · ( t − t − t + 2) > t − t − t + 6 t + 2 . Since n ≥ t + 2, it is sufficient to show that( t + 2) · ( t − t − t + 2) > t − t − t + 6 t + 2 , or that t + t − t + 2 > . Since t >
0, we weaken the last inequality to t − t > , which holds true for t > √
6. Thus, for t ≥
3, inequality (8) holds. We herebyhave shown that when k is even, A ′ has a matching of size k .Consider now the case of k = 3. We need to consider this case separatelybecause t = k − k = 3, we need amatching of size two in A ′ . By (4) and (5), A ′ is a connected graph of maximumdegree two. Hence, A ′ is either a simple cycle or a simple path. By property6, A ′ is a cycle or a path consisting of at least ⌈ ( k +1)( k − ⌉ = ⌈ · ⌉ = 3edges. Clearly, if A ′ is a path on at least three edges or a cycle on at least fouredges, A ′ has a matching of size two. The only option left for A ′ is to be a cycleon three vertices and edges, so | V ( A ′ ) | = 3 = k . By property 7, this is onlypossible if n = k + 1. Thus, if n > k + 1, A ′ has a matching of size at least two.If n = k + 1, A ′ is only guaranteed to have a matching of size 1 = k − .It is left to consider the case of odd k ≥
5. Again, apply Proposition 6 to A ′ with even t = k −
1. We need to show that A ′ has a matching of size at least k +12 = t +22 , so it is sufficient to show that | V ( A ′ ) | t ( t + 1) + | E ( A ′ ) | t + 1 − t > t + 22 − . According to (6) and (7), it is enough to show that t + 1 t ( t + 1) + 1 t + 1 · · ( n ( t −
1) + 1) − t > t + 22 − , ( t − n + 12 t + 2 > t . Multiplying both parts by 2 t + 2 and using n ≥ k + 2 = t + 3, we obtain( t − t + 3) + 1 > t ( t + 1) , or, equivalently, t > . Thus, when k ≥ n ≥ k + 2, A ′ has amatching of size k +12 . 11hen n = k + 1, we need a matching of size k − = t , so we need to showthat | V ( A ′ ) | t ( t + 1) + | E ( A ′ ) | t + 1 − t > t − , or ( t − n + 12 t + 2 > t − , This is equivalent to t + t − > t − t − , which is true for t ≥
0. This completes the proof of the lemma.
Rerouting the edges.
Now we shall use the matching provided by Claim 7to conclude the inductive step. Denote by G ′ the graph obtained after thecompletion of T ′ to a graph of total deficiency (df( T ′ ) mod 2). That is, V ( G ′ ) = V ( T ′ ) and E ( G ′ ) = E ( T ′ ) ⊔ E ( A ′ ). If df( T ′ ) is odd, G ′ has a single vertex withdeficiency one, denote it by u . For every other vertex s ∈ V ( G ′ ), df G ′ ( s ) = 0.Our goal is to transform G ′ into a graph G that will correspond to the graphobtained after the completion of T using only good edge additions.We initialize G with G ′ . Let us remind that v is a leaf of T and T ′ = T − v .We denote the only neighbor of v in T by p . Since G is missing vertex v , weintroduce v to G , which is now isolated in G . Now V ( G ) = V ( T ), so it is leftto add missing edges to G , while probably removing some of the existing edges.Of course, these added edges should include the edge pv , since E ( T ) ⊆ E ( G )must hold. Similarly, we should not remove any edges of T ′ from G . Thus, wecan remove edges in E ( A ′ ) only. We denote by A the graph of added edges in G , analogously to A ′ in G ′ .As was explained before, our basic technique is to remove the edges of thematching in A ′ , and connect their endpoints to v . However, there are severalissues to deal with. First, if p is in V ( A ′ ), we have to ensure that one of theedges in E ( A ′ ) incident to p gets removed, otherwise one of the edge additions iswasted on p . This edge removal may in turn disconnect A ′ . Second, dependingon the parity of df( T ′ ) we may have to deal with the already-deficient vertex u of G ′ , and the parity of k comes into play as well. Thus, in the rest of the proofwe go over five different cases and show that in each of them the rerouting ispossible. We start with the cases where k is even. Recall that we always startwith G being a copy of G ′ with isolated vertex v . Case (a). k is even and p ∈ V ( A ′ ) . By Claim 7, there is a matching of size k in A ′ . Denote this matching by M . Since p ∈ V ( A ′ ), we may ensure that p ∈ M . Suppose that p / ∈ M , p is incident to at least one edge in E ( A ′ ), say pq . If q ∈ M , remove edge covering q from M . If q / ∈ M , remove an arbitraryedge from M . Finally, add edge pq to M . Now M is a matching of size k and p ∈ M . We want to remove all edges of M from G , and add all 2 · k = k edgesconnecting v with the vertices covered by M . Then the degree of v in G isexactly k , so df G ( v ) = 0, no deficiency of any other vertex has changed, and G now contains the edge pv . However, the graph formed by the good edges A must be connected, and this may not be the case since we replace the edge pq byedges pv and qv , and pv belongs to T so p and q are not necessarily connectedthrough the edges of A .So before replacing the edges of M , we tweak it in order to preserve theconnectivity. If p has degree one in A ′ then after replacing the edges p is not12c) pu v (d) pv (e) u pv Figure 1: The cases of rerouting for k = 3. Solid edges denote the edges of G ′ .Straight black edges denote the edges of T ′ , and curved red edges denote theedges of A ′ . Edges of the matching in A ′ that are deleted in G are highlightedbold. Dashed edges denote the newly-added edges in G .covered by the good edges anymore. If p has a neighbor t in A ′ which has degreeone in A ′ , then we take the edge pt instead of pq in M . Since v is going to have atleast three incident edges, there will be at least one edge of A among them whichis not vt , and thus t will be connected to the rest of A . If removing pq makes A disconnected and none of the above is the case, the connected component of p in A ′ − pq has an edge which is not incident to p . If one of these edges is alreadyin M , then the connectivity will hold since q will be adjacent to v and a vertexin the same component as p will be adjacent to v . Otherwise we remove from M any edge which is not pq and add any edge which belongs to the connectedcomponent of p in A ′ − pq and is not incident to p .Finally, after rerouting the edges of M the obtained graph G correspondsto an appropriate completion of T . Note that if G ′ contains the vertex u withdeficiency one, it remains deficient in G as well. Case (b). k is even and p / ∈ V ( A ′ ) . The difference with the previous caseis that now we cannot simply ensure that edge pv gets added to G . Add edge pv to G . This does not change the deficiency of p , since it is a vertex of zerodeficiency, but deficiency of v now equals k −
1. Take a matching M of size k in A ′ , according to Claim 7. If G contains the unique vertex u of deficiencyone, and u ∈ M , remove the edge covering u from M . Otherwise, remove anarbitrary edge from M . M is now a matching of size k − u / ∈ M , if u exists. Note that p / ∈ M necessarily, as p / ∈ V ( A ′ ). Remove all edges of M from G , and add all k − v with vertices covered by M . v is nowa vertex of deficiency one in G . If u exists, connect u and v by a new edge.Clearly, this is a good edge addition. This edge have not existed before, becausewe made sure that u / ∈ M . If u does not exist, v is a single vertex of deficiencyone in G . In any case, G is an appropriate completion of T .We have hereby proved Theorem 4 for the case of even k . We now turn tothe cases where k is odd. Clarifying pictures for all three cases to consider arepresented in Figure 1. We start with the easier case. Case (c). k is odd and p / ∈ V ( A ′ ). As in Case (b), introduce the edge pv to G , so df G ( v ) = k −
1, and the deficiency of p does not change. By Claim 7,there is a matching M of size k − in A ′ . As usual, remove all edges of M from G , and add all k − v with the endpoints of edges in M . Thevertex v has zero deficiency now, and for any other vertex the deficiency is thesame. Clearly, G is an appropriate graph.13 ase (d). k is odd and p ∈ V ( A ′ ) , there is no deficient vertex in G ′ . Takea matching M of size k − in A ′ , and ensure that p ∈ M . In the case k ≥
5, dothe same tweaking to M as in Case (a) to ensure connectivity. Remove all edgesof M from G and connect v to all k − M . The edge pv isnow contained in G , and v is the only vertex with deficiency one in G . This isan appropriate completion of T . Case (e). k is odd and p ∈ V ( A ′ ) , df G ′ ( u ) = 1 . Note that n ≥ k + 2 inthis case, since for n = k + 1 there may be no deficient vertices in G ′ . Take amatching M of size k +12 in A ′ according to Claim 7, and ensure that p ∈ M .We consider two cases, either up ∈ M or not. In the case up ∈ M , if there isanother neighbor q of p in A ′ which is not covered by M , replace up in M by qp ,and thus we reduce to the second case. Otherwise, remove all edges of M from G . Now deg G ( u ) = k −
2, so at least two vertices covered by M are not adjacentto u . At least one of these vertices is distinct from p , denote this vertex by w .Add edges connecting v to each vertex covered by M , except for the vertex w .Thus, v gets connected to exactly k +12 · − k vertices, including p and u , sodf G ( v ) = 0. Finally, add an edge connecting u and w . Now each vertex in G isof zero deficiency. Clearly, each edge addition in this construction is good. Tosee that A is connected in the case k ≥
5, first note that only removing edges up and wt could influence connectivity, where t is such that wt ∈ M . For allother edges of M which were removed, their endpoints are adjacent to v in A ,and thus connected in A . The pair w and t remains connected in A since t isadjacent to v , and w is connected to v through u . The vertex p either had theonly neighbor u in A ′ , then p is not in V ( A ), or there was another neighbor q of p in A ′ . Note that q is necessarily covered by M since we could not replacethe edge up . Then q is adjacent to v in A , and p and u are connected through q and v . Also pv ∈ E ( G ), so G is an appropriate completion of T .If up / ∈ M , first remove from M the edge covering u , or if there is no suchedge, remove an arbitrary edge from M so that p remains covered by M . Removeall edges of M from G and connect v to all endpoints of these edges as usual.Now df G ( u ) = df G ( v ) = 1, and uv / ∈ G , so add a good edge between u and v .After that, G is an appropriate completion of T with no deficient vertices. Tosee that A is connected, we only need to check that p and its pair q in M remainconnected. Either u is in the connected component of p in A , and then p and q are connected through u and v , or we do the same tweaking to M as in Case(a) before actually removing the edges.We considered each case required to accomplish the inductive step. Thisconcludes the proof of Theorem 4.Since the class of forests is exactly the class of 1-degenerate graphs, it isreasonable to ask whether Edge k -Core is polynomially solvable on otherclasses of graphs of bounded degeneracy. The answer is negative, and it wasshown by Chitnis and Talmon in [10], where they provided a reduction from Clique to Edge k -Core . We note that they used this reduction to prove that Edge k -Core is W[1]-hard when parameterized by the combined parameter b + p , even when k = 3. Proposition 8 ([10]).
Edge k -Core is NP -hard even on the class of -degenerate graphs for k = 3 . Vertex Cover
This section is dedicated to
Edge k -Core parameterized by the minimum sizeof a vertex cover of the input graph G . We show that this problem admitsan FPT algorithm and complement this result by ruling out the existence of apolynomial kernel. We start with the high level description of the main ideasbehind our algorithm. High-level description of the algorithm.
In order to prove that
Edge k -Core is FPT parameterized by the vertex cover number of the input graph,we construct an FPT-time Turing reduction from Edge k -Core to an instanceof integer linear program (ILP) whose number of variables is bounded by somefunction of the vertex cover. While reducing to ILP is a common approach inthe design of parameterized algorithms, see [14, Chapter 6], the reduction for
Edge k -Core is not straightforward. In order to make the whole approachapplicable, we need a new combinatorial result, Lemma 13. The proof of thislemma strongly exploits the refinement of Tripathi and Vijay [32] of the classicaltheorem of Erd˝os and Gallai about degree sequences [17].The reduction target is the following Integer Linear Programming Fea-sibility ( ILP ) problem.
Input:
Matrix A ∈ Z m × ℓ and vector b ∈ Z m . Task:
Is there a vector x ∈ Z ℓ such that A · x ≤ b ? ILP parameterized by ℓ ILP is FPT by the celebrated result of Lenstra [28].
Proposition 9 ([27, 28, 21]).
ILP can be solved using O ( ℓ . ℓ + o ( ℓ ) · L ) arith-metic operations and space polynomial in L . Here L is the number of bits in theinput. Let G be a simple undirected graph on n vertices and b , k , and p be integers.Let vc be the minimum size of a vertex cover in an n -vertex graph G . Our FPTTuring reduction constructs in time 2 O (vc ) · n O (1) at most 2 O (vc ) instances of ILP . Each instance of
ILP has ℓ = 2 O (vc) variables. Moreover, at least one ofthe constructed instances of ILP is a yes-instance if and only if one can build a k -core of size p in G by adding at most b edges. Thus by applying Proposition 9to each of the instances of ILP , we obtain an FPT (parameterized by vc)algorithm for
Edge k -Core .Recall that in Edge k -Core we are looking for a vertex subset H ⊆ V ( G )of size at least p such that G [ H ] can be completed to a graph of minimumdegree at least k using at most b edge additions. In what follows, we describethe reduction from Edge k -Core to ILP .We start with computing a minimum vertex cover C of G . It is well-knownthat a simple branching algorithm does this job in time 2 | C | · n O (1) , see e.g. [14].We simplify our task a bit by assuming that C ⊆ H : we just branch into 2 | C | possible options of H ∩ C . For each option we delete vertices C \ H from G . Weuse the following notion of vertex types. Definition 10 (Vertex types).
Let G be a graph and C be its vertex cover.For S ⊆ C and a vertex v C , we say that v has type S if N G ( v ) = S .15e encode the choice of H (up to isomorphism of G [ H ]) using only 2 | C | positive integers: for each S ⊆ C we just need to indicate how many vertices oftype S are in H . That is, the values of 2 | C | variables x S := |{ v ∈ H | N G ( v ) = S, v / ∈ C }| uniquely define the graph G [ H ]. Then inequality | C | + P S ⊆ C x S ≥ p ensures that | H | ≥ p .The non-trivial part of the proof is to encode in ILP that G [ H ] can becompleted to a k -core graph using at most b edges. In graph G [ H ], the vertexset C is a vertex cover and the set I = H \ C is an independent set. Assumethat G [ H ] can be completed into a k -core graph by making use of a set of edges B , | B | ≤ b . The set B can be partitioned into B = B C ∪ B I . Here B C are theedges with at least one endpoint in C , and B I ⊆ (cid:0) I (cid:1) are the remaining edges.Every edge of B I has two endpoints in I . We encode the sets B C and B I in ILP in different ways.It is convenient to assume that B C contains no edges with both endpoints in C . We reach this condition by branching into 2( | C | ) = 2 O (vc ) possible optionsof which edges between vertices in C are added to G . For each such guess wealso update the value b and the conditions on degrees of vertices in C .The next step in the reduction to ILP is to encode the graph G [ H ] + B C .Since we do not have edges with both endpoints in C anymore, B C consists onlyof edges between C and I . Since C is also a vertex cover of G [ H ] + B C , thereare at most 2 | C | different types of vertices in H \ C in the graph G [ H ] + B C . Avertex v of type S ′ in G [ H ] + B C has type S ⊆ S ′ in the graph G [ H ]. Let y S,S ′ (for S ⊆ S ′ ⊆ C ) denote the number of vertices of type S in G [ H ] that becomevertices of type S ′ in G [ H ] + B C . Then the set of equations P S ′ ⊇ S y S,S ′ = x S ,for each S ⊆ C , ensures that these values correspond to the actual structure of G [ H ]. The cardinality of B C is then encoded as P S ′ ⊆ C P S ⊆ S ′ | S ′ \ S | · y S,S ′ . Since for each vertex v ∈ C the graph G [ H ] + B C contains all edges incident to v in G [ H ] + B , the resulting degree of v can be checked immediately. Formally,deg G [ C ] ( v ) + P S ′ ∋ v P S ⊆ S ′ y S,S ′ ≥ k is equivalent to deg G [ H ]+ B ( v ) ≥ k .We proceed with the description of how we encode the edge set B I . For thatwe need to ensure that for each vertex of I its degree in G [ H ] + ( B C ∪ B I ) isat least k . Since adding edges between vertices in I could significantly increasethe vertex cover of G [ H ], we cannot do the encoding in the same way as forthe edges in B C . However, I remains to be an independent set in G [ H ] + B C .Therefore, B I can be any set of edges subject to the condition that in G [ I ] + B I the degree of every vertex v ∈ I is at least df G [ H ]+ B C ( v ). Thus, to ensure that B I is an appropriate set all we need to consider are the deficiencies of verticesin I .The deficiencies of vertices in I are integers within the range [max { , k −| C |} , k ]. Since G [ I ] is an empty graph, it is not necessary to know the deficiencyof each particular vertex in I . Knowing the number of vertices in I of eachparticular deficiency is sufficient for our purposes. For i ∈ [max { , k − | C |} , k ],let s i denote the number of vertices in I with deficiency i . These variables canbe encoded with ILP equations using the variables y S,S ′ .We arrive to the most interesting and non-trivial part of the reduction. Whilethe inequalities we have built so far are necessary for encoding the informationabout the set B I , they are not sufficient. The reason is that not every sequenceof integers corresponds to a sequence of vertex degrees in a graph. There is aclassical theorem of Erd˝os and Gallai providing a characterization of graphic16equences. However, if we use this theorem to encode graphic sequences in ILP , the resulting integer program could have unbounded (by a function of vc)number of variables. To overcome this obstacle, we need Lemma 13, a newcombinatorial result about graphic sequences.We want to encode the property that there exists a set of edges B I of size atmost b − | B C | such that the edges of B I form a graph with at least s k verticesof degree at least k , at least s k − other vertices of degree at least k −
1, andso on down to s max { ,k −| C |} . One technical obstacle here is that we ask for s i vertices of degree at least i , not of degree exactly i . In what follows, for clarity,we explain only how to encode the existence of an edge set forming a graph with t i vertices of degree exactly i for each i ∈ [max { , k − | C |} , k ]. For the “at least”case we need to do more work, but the main idea remains the same. Note thatthe case we explain here (requiring t i vertices of degree exactly i ) is achievedautomatically if all edges in B I are good edges (that is, consecutive additionof edges from B I decreases deficiencies of exactly two vertices by one) and thecardinality of this set is found easily as P i t i .Let us remind the following classical graph-theoretical notion. Definition 11 (Graphic sequences).
A sequence d , d , . . . , d n of n non-negative integers. is called graphic if there exists a graph G with V ( G ) = { v , v , . . . , v n } , such that deg G ( v i ) = d i for each i ∈ [ n ].In terms of this notion, our task is to check that a sequence consisting ofintegers from [max { , k − | C |} , k ], where the integer i appears exactly t i times,is a graphic sequence. The problem of determining that a given sequence isgraphic was approached by Erd˝os and Gallai in their famous work [17]. Proposition 12 (Erd˝os-Gallai Theorem, [17]).
A sequence of non-negativeintegers d ≥ d ≥ . . . ≥ d n is graphic if and only if P ni =1 d i is even and P ti =1 d i ≤ t · ( t −
1) + P nj = t +1 min { d j , t } for each t ∈ [ n ] . However, the statement of Proposition 12 does not allow us to encode corre-sponding inequalities in
ILP with the number of variables bounded by | C | . Weneed a refined version of this proposition, Lemma 13. This combinatorial resulton graphic sequences of integers in a short range is crucial in constructing ILP inequalities with bounded number of variables. The proof of the lemma is basedon the modification of the Erd˝os-Gallai theorem due to Tripathi and Vijay [32].
Lemma 13.
Let d ≥ d ≥ . . . ≥ d n be a sequence of non-negative integers,such that for each j ∈ [ n ] d j ∈ [ k − a, k ] , for some integers ≤ a ≤ k < n . Foreach i ∈ [ k − a, k ] , let t i = |{ j | d j = i }| be the number of integers equal to i inthe sequence. For each D ∈ [ k − a, k ] , let T D = k P i = D t i .Then d , d , . . . , d n is graphic if and only if P ki = k − a i · t i is even and for each D ∈ [ k − a, k ] at least one of the following holds:1. T D < k − a , or2. T D > k , or3. k P i = D i · t i ≤ T D · ( T D −
1) + D − P i = k − a min { i, T D } · t i . roof. Clearly, by Proposition 12, the condition that P ki = k − a i · t i = P nj =1 d j iseven is necessary for any graphic sequence d , . . . , d n .We now prove that if d , . . . , d n is graphic, then the third condition (hence,at least one condition) is satisfied for each D ∈ [ k − a, a ]. Note that the thirdcondition corresponds exactly to the inequality of Erd˝os and Gallai from Propo-sition 12 with t = T D , just expressed in the terms of t i instead of d j . Hence,if d , d , . . . , d n is graphic, then the third condition is satisfied for each D suchthat T D ∈ [ n ]. The only case left is T D = 0. In this case, the left part of theinequality is equal to zero, so the third condition is also satisfied. It is left toprove the theorem statement in the other direction.By the result of Tripathi and Vijay [32], to check that d , . . . , d n is graphicit is sufficient to check the condition of Proposition 12 for all values of t suchthat d t > d t +1 , and for t = n . Note that all such values of t are values of T D forsome choices of D . That is, if d t > d t +1 , let D = d t . Then T D = P ki = D t i = |{ i : d i ≥ D }| = t . If we choose D = k − a , we achieve T D = n . Thus, to check that d , . . . , d n is graphic it is enough to check the condition of Proposition 12 for t = T D , for each D ∈ [ k − a, k ]. This is exactly what the third condition checks,except for the choices of D when one of the first two conditions is satisfied.Hence, it is now left to show that when T D < k − a or T D > k , then the thirdcondition is satisfied automatically.First, consider the case T D > k . Note that k X i = D i · t i ≤ k X i = D k · t i = k · k X i = D t i = k · T D ≤ ( T D − · T D . Thus, the third condition is satisfied for T D > k .Now consider the case T D < k − a . Then D − X i = k − a min { i, T D } · t i = D − X i = k − a T D · t i = T D · D − X i = k − a t i = T D · ( n − T D ) . As k < n , we have that k X i = D i · t i ≤ ( n − · k X i = D t i = ( n − · T D = T D · ( T D −
1) + T D · ( n − T D ) , which is equivalent to the inequality of the third condition of the lemma. Thus,for T D < k − a the third condition is also satisfied. The concludes the proof ofthe lemma.Lemma 13 still does not yield directly the desired encoding in ILP . Though T D can be expressed as a sum of t i ’s, the summand T D · ( T D −
1) is not allowedin a linear equation with T D being a variable. However, since the number of T D ’s is at most | C | + 1, for each T D the algorithm can guess whether T D > k , T D < k − | C | or the exact value of T D ∈ [ k − | C | , k ]. For each T D it leads toat most | C | + 3 options, so there are at most | C | O ( | C | ) possible options in total.This allows us to use the values of T D ’s in ILP as constants. Since the variablesof type t i are the only remaining variables, we can write the correspondingconstraints as linear inequalities. 18e are now ready to state the main result of this section and give it aformal proof, accumulating ideas discussed above in this section. The proof alsocontains the full description of the constructed linear program. Theorem 14.
Edge k -Core admits an FPT algorithm when parameterized bythe vertex cover number. The running time of this algorithm is O (vc · vc ) · n O (1) ,where vc is the minimum size of a vertex cover of the input n -vertex graph.Proof. Let (
G, b, k, p ) be an instance of
Edge k -Core , and let C ⊆ V ( G )be a minimum vertex cover in G . Denote vc = | C | . Note that if C is notgiven as input, it can be found in 2 vc · n O (1) running time with the well-knownFPT branching algorithm for Vertex Cover .Let H ⊆ V ( G ) be a subset of the vertices of G such that H becomes a k -core in G after adding at most b edges to G . We can assume that the set ofadded edges B is a subset of (cid:0) H (cid:1) , otherwise B is not minimal. Since we are notinterested in the vertices outside of H , let our algorithm iterate over all possiblevalues of H ∩ C , and delete all vertices in C \ H from G for a fixed choice of H ∩ C . Clearly, there are 2 vc choices of H ∩ C , so this gives 2 vc multiplier tothe running time of the algorithm. We can now assume that we are looking fora k -core that contains all vertices of the vertex cover of G , i.e. C ⊆ H . Notethat C is a vertex cover in G [ H ] and denote by I = H \ C the independent setin G [ H ].Let the algorithm also guess the edges that are added between the verticesof C . There are at most 2( vc2 ) (at most 2 O (vc ) ) possible options of adding atmost b of these edges. Our algorithm iterates over all possible options of addingedges between the vertices of C , adds these edges in G and decreases the budget b accordingly for each option. This adds a 2 O (vc ) multiplier to the running timeof the algorithm. We now assume that such guess is fixed and we can only addat most b edges to G such that each edge added has at least one endpoint in I .We are now ready to describe the ILP formulation of Edge k -Core . Thewhole description of Edge- k -Core-ILP is presented in Figure 2.The formulation uses values D max , L, R, T D , that are not variables of thelinear programming, but are values that algorithm also needs to guess. Toexplain the purpose of these values and Edge- k -Core-ILP itself, we startdirectly with the following claim. Claim 15.
Let B ⊆ (cid:0) V ( G )2 (cid:1) \ E ( G ) \ (cid:0) C (cid:1) be a subset of at most b edges, and let G ′ denote the graph G + B . Let H be the k -core of G ′ . If C ⊆ H and | H | ≥ p ,then there exist integers D max , L, R and T D ’s (for each D ∈ [ L, R ] ), such that Edge- k -Core-ILP is feasible for this choice of D max , L, R, T D . Moreover, allthese integers are non-negative integers in [ k − | C | − , k ] .Proof. We show how to assign values to the variables of
Edge- k -Core-ILP sothat every inequality is satisfied. We also explain the purpose of each variable.For each S ⊆ C , assign x S = |{ v ∈ H \ C | N G ( v ) = S }| . Thus, x S denotesthe number of vertices of type S in H . Clearly, inequalities 2 are satisfied bysuch values of x S . Then (3) counts the vertices in H and ensures that there areat least p of them. This inequality is also satisfied because | H | ≥ p .Consider now how the type of a vertex v ∈ H \ C changes in G ′ . That is,in N G ( v ) = S , but when edges in B are added to G , v may change its typeand N G ′ ( v ) = S ′ for some S ′ ⊇ S . Variables y S,S ′ correspond to the amount19 dge- k -Core-ILP achieve(1) P S ′ ⊆ C P S ⊆ S ′ | S ′ \ S | · y S,S ′ + k P i =max { ,k −| C |} i P j =max { ,k −| C |− } ( i − j ) · u i,j + z ≤ b subject to(2) x S ≤ |{ v | N G ( v ) = S, v / ∈ C }| , ∀ S ⊆ C ,(3) | C | + P S ⊆ C x S ≥ p, (4) P S ⊆ S ′ ⊆ C y S,S ′ = x S , ∀ S ⊆ C ,(5) deg G [ C ] ( v ) + P S ′ ∋ v P S ⊆ S ′ y S,S ′ ≥ k, ∀ v ∈ C ,(6) s i = P S ′ ⊆ C,k −| S ′ | = i P S ⊆ S ′ y S,S ′ , ∀ i ∈ [ k − | C | , k ] , i ≥ i P j =max { ,k −| C |− } u i,j = s i , ∀ i ∈ [ k − | C | , k ], i ≥ t j = k P i = j u i,j , ∀ j ∈ [ k − | C | − , k ] , j ≥ t j = 0 , ∀ j ∈ [ D max + 1 , k ](10) t D max > , (11) D max ≤ k P j =max { ,k −| C |− } t j − , (12) 2 z = D max P j =max { ,k −| C |− } j · t j , (13) D max P j = D t j = T D , ∀ D ∈ [ L, R ], if L ≤ R ,(14) D max P j = R +1 t j < k − | C | −
1, if D max > R ,(15) D max P j = L − t j > D max , if L > max { , k − | C | − } (16) D max P j = D j · t j ≤ T D ( T D −
1) + D − P j =max { ,k −| C |− } min { j, T D } · t j , ∀ D ∈ [ L, R ],and x S ≥ , y S,S ′ ≥ , s i ≥ , u i,j ≥ , t j ≥ , z ≥ Edge k -Core . D max , L , R and T D ’s areparameters guessed by the algorithm. Note that equations in the formulationshould be replaced with two symmetrical inequalities in order to obtain a correctlinear program. 20f vertices of type S in G [ H ] that change their type to S ′ in G ′ [ H ]. Thus, y S,S ′ = { v ∈ H \ C | N G ( v ) = S, N G ′ ( v ′ ) = S ′ } . Equalities 4 ensure that theseamounts agree with the number of vertices of certain type in G [ H ], and clearlyare satisfied. Note that this handles all edges in B that have one endpoint in I and the other endpoint in C . Thus, one may now evaluate the degree of each v ∈ C by counting vertices of certain types in G ′ [ H ]. Inequalities 5 ensure thatthe degree of each v ∈ C is at least k . Each one of these inequalities is satisfiedsince H is a k -core in G ′ . We now assume that B ⊆ (cid:0) H (cid:1) , otherwise all edgeswith an endpoint outside of B can be removed from B while the k -core H in G ′ and G ′ [ H ] remains the same. Hence, G ′ [ H ] is exactly the graph G [ H ] + B .The rest of inequalities of Edge- k -Core-ILP handle edge additions inside G [ I ]. Divide B into two parts, B = B C ∪ B I , where B C is the set of all edges in B having at least one endpoint in C , and B I is the set of edges in B having bothendpoints in I . After adding all edges in B C to G [ H ] we obtain an intermediategraph G [ H ] + B C . A vertex v ∈ H ∩ I of type S ′ in G [ H ] + B C has deficiencydf G [ H ]+ B C ( v ) = max { , k − | S ′ |} . Then (6) evaluates the number of verticeswith certain deficiencies in G [ H ] + B C . Clearly, all possible deficiency values liein [ k − | C | , k ], so s i indeed denotes the number of vertices with deficiency i foreach non-negative i ∈ [ k − | C | , k ].We now consider B I ⊆ (cid:0) I (cid:1) . Fix an arbitrarily ordering of edges in B I andconsider how edges of B I are added to G [ H ] + B C in this order. Some ofthese edge additions are good and some are bad. If there are edge additionsthat do not change deficiency of any vertex, we can remove such edge from B and G [ H ] + B still remains a k -core. Thus, B I can be divided into two parts B I = B (2) I ⊔ B (1) I , where B (2) I corresponds to the set of good edges and B (1) I corresponds to the set of bad edges. Correspondingly, their additions changetotal deficiency of G [ H ] + B C by two and by one when some order is fixed.Consider the graph G [ I ] + B (2) I formed by the good edges in B . For each v ∈ I ,deg G [ I ]+ B (2) I ( v ) ≤ df G [ H ]+ B C ( v ), as each edge in B (2) I is good when added to G [ H ] + B C . Let t j = { v ∈ I | deg G [ I ]+ B (2) I ( v ) = j } be the number of verticesof degree j in G [ I ] + B (2) I . Then u i,j denotes the number of vertices in I withdeficiency i in G [ H ] + B C that have degree j in G [ I ] + B (2) I , and j ≤ i . Thatis, u i,j = { v ∈ I | df G [ H ]+ B C ( v ) = i, deg G [ I ]+ B (2) I ( v ) = j } . This is described byequalities 7 and 8, that are satisfied by the chosen values of t j and u i,j . We onlyneed to show that j is always an integer in [ k − | C | − , k ]. If k ≤ | C | , it is truesince j ≥
0, so we consider k > | C | .Note that u i,j actually corresponds to adding bad edges from B (1) I . Ifa vertex v ∈ I has deficiency df G [ H ]+ B C ( v ) = i , but is incident with onlydeg G [ I ]+ B (2) I ( v ) = j good edges, then it requires i − j bad edges in B (1) I incidentto it to be added in G . This can be considered as follows. Initially, we aregiven a sequence of vertex deficiencies in I in G [ H ] + B C . This sequence isdescribed by the values of s i : for each i , we have s i vertices in I with deficiency i , so we have s i integers equal to i in the sequence. By (3), there are at least p − | C | ≥ k + 1 − | C | vertices in this sequence. If this sequence is graphic, thenwe do not require any bad edge addition inside G [ H ] + B C : just pick good edgesas the edges of a graph on | I | vertices corresponding to this sequence. Thus,if the values of s i correspond to a graphic sequence, B (1) I can be chosen to be21mpty. Otherwise, we need to slightly change the sequence of deficiencies usingbad edge additions, and we want to minimize these bad edge additions. u i,j specifies how many integers with value i in the sequence are changed to j . Thiscorresponds to adding i − j bad edges incident to each one of u i,j vertices withdeficiency i .Consider the sequence of integers from [ k − | C | , k ] that is not graphic. Witha single operation, we are allowed to decrease some integers of this sequenceby one. By Proposition 12, we should always decrease the maximum integerin the sequence by one with a single operation. Suppose that we repeated thisoperation and obtained integer k − | C | − k − | C | , and atsome moment later all integers in the sequence were equal to k − | C | −
1. Sinceat least one of k −| C | and k −| C |− k +1 −| C | integers in the sequence, there exists a ( k − | C | )-regular or a ( k − | C |− n ≥ k + 1 − | C | vertices. Thus, at least one of the sequencesconsisting of integers all-equal to k − | C | or to k − | C | − k − | C | − j ∈ [ k − | C | − , k ]. What remains is to explain thepurpose of the remaining inequalities of Edge- k -Core-ILP and to show how tochoose the values of D max , L, R and T D ’s for each D ∈ [ L, R ] in order to satisfythem. The actual purpose of inequalities (9)–(16) is to check that t j correspondsto a graphic sequence according to Lemma 13. The value of a in Lemma 13 ischosen as a = min { k, | C | + 1 } . Pick D max = max { j : t j > } . Then (9) and(10) ensure that D max is chosen correctly. Inequality (11) guarantees that thereare at most D max + 1 integers in the sequence, since otherwise it is not graphic.Equality (12) checks that the sum of integers in the sequence is even. Note that z = | B (2) I | equals the number of good edges in B .Then, L and R are the bounds of D for which the third condition of Lemma13 should be verified. Sequence T max { ,k −| C |− } , . . . , T k − , T k is non-increasing,so L is the smallest integer for which T L ≤ k . Analogously, R is the largestinteger for which T R ≤ k − a . If i < L or i > R , then at least one of the firsttwo conditions of Lemma 13 is satisfied, and we may not check the Erd˝os-Gallaiinequality for this T i . Note that it may be the case that L > R , then we donot have to check the third condition of Lemma 13 at all. Otherwise, for each D ∈ [ L, R ], T D is a non-negative integer in [ k − | C | − , k ]. Then (13)–(15)ensure that L, R and T D ’s are chosen correspondingly to the values of t j andare satisfied for our choices of these parameters. Finally, (16) is responsible thatthe third condition of Lemma 13 holds for each D ∈ [ L, R ]. Thus, if t j satisfies(9)–(16) for the correct choice of D max , L, R and T D ’s, then by Lemma 13, t j corresponds to a graphic sequence. Note that for each choice of t j there isexactly one feasible choice of the parameters T D , D max , L , and R .It is left to explain the role of (1) of Edge- k -Core-ILP . We show thatthe left part of this inequality equals | B | . Note that | B C | = P S ′ ⊆ C P S ⊆ S ′ | S ′ \ S | · y S,S ′ , as edges in B C can be counted using the number of type changes from S to S ′ , and a type change from S to S ′ is done with | S ′ \ S | edge additions.The correspondence between bad edges in B I and the values u i,j is describedabove, so the second summand in inequality 1 corresponds to | B (1) I | . Finally,22he summand z equals | E ( G I ) | = | B (2) I | . Thus, the left part of the inequalityequals | B C | + | B (1) I | + | B (2) I | = | B | , and | B | ≤ b . The proof of the claim iscompleted.We have shown that if G can be completed to a graph with a k -core ofsize at least p , then Edge- k -Core-ILP is feasible for the correct choice of theparameters. Note that each of D max , L, R and T D ’s are integers in [ k −| C |− , k ],so there are | C | +2 options for each of them. Since there are at most R − L +1 ≤| C | + 2 choices of index D for T D , there are at most | C | + 5 integers to choosefrom [ k − | C | − , k ]. Clearly, this leads to a total of O ( | C | | C | ) possible optionsfor the parameters. The algorithm iterates over all possible choices of thesevalues, constructs an ILP formulation for each fixed choice and then employsthe algorithm of Proposition 9 to check if Edge- k -Core-ILP is feasible. Thereare O (3 | C | ) variables and inequalities in the formulation (with y S,S ′ being themajority of the variables), so the feasibility of the formulation is checked in O (3 | C | ) O (3 | C | ) · n O (1) = 3 O ( | C |· | C | ) · n O (1) . The outer guesses of H ∩ C , B ∩ (cid:0) C (cid:1) and the parameters of ILP gives | C | | C | · n O (1) multiplier to the running timeof the algorithm. This multiplier is dominated by the double exponent, so thetotal running time is still 3 O ( | C |· | C | ) · n O (1) . It is only left to say that if thealgorithm finds Edge- k -Core-ILP feasible for some choice of parameters, thenthe initial instance is a yes-instance of Edge k -Core . Claim 16. If Edge- k -Core-ILP is feasible for some choice of D max , L, R, T D ,then ( G, b, k, p ) is a yes-instance of Edge k -Core .Proof. One needs to follow the proof of the previous claim. It can be shownthat from a feasible solution to
Edge- k -Core-ILP can be constructed a set ofvertices H ⊆ V ( G ) (following the values of x S ) and sets of edges B C (followingthe values of y S,S ′ ), B (1) I (following the values of u i,j ) and B (2) I (following thatthe values of t j corresponds to a graphic sequence). Then G [ H ] can be completedto a graph of minimum degree k by adding edges from B = B C ∪ B (1) I ∪ B (2) I to G . Inequalities ensure that | H | ≥ p and | B | ≤ b . Note that the constructed H isnot necessarily the k -core of G ′ , but it is necessarily a subset of its vertices.The proof is complete. In this section, we give an FPT-algorithm for
Edge k -Core parameterized bytw + k . This improves upon the following result of Chitnis and Talmon, and wealso use their algorithm as a subroutine. Proposition 17 ([10]).
Edge k -Core can be solved in time ( k + tw) O (tw+ b ) · n O (1) . We start with the central combinatorial result of this section which allows thealgorithmic improvement. Namely, we show that whenever the total deficiencyof a graph G exceeds a polynomial in k , G can be completed to a graph ofminimum degree k using the minimum possible number of edges. Also, therequired edge additions can be identified in polynomial time.23e believe that this result is interesting on its own, since it considerablysimplifies the problem whenever the budget is sufficiently high compared to k .If we are trying to identify the best vertex set H which induces a k -core, wehave to only care about the total deficiency of G [ H ], and not of any particularstructure on it. Theorem 18.
For any integer k ≥ , any graph G with df( G ) ≥ k can becompleted to a graph of minimum degree k using ⌈ df( G ) ⌉ edge additions witha polynomial-time algorithm.Proof. It is enough to prove that we can satisfy all deficiencies by adding onlygood edges, except if df( G ) is odd, exactly one edge addition is bad.We constructively obtain a graph G ′ of form G + B , initially B = ∅ . Theconstruction is a polynomial time algorithm.First, we exhaustively apply the following rule, which always does one goodedge addition. If there are two distinct vertices u, v ∈ V ( G ′ ) such that df G ′ ( u ) >
0, df G ′ ( v ) >
0, and uv / ∈ E ( G ′ ), then add the edge uv to B . Assume that therule is no longer applicable. Let us denote C = { v ∈ V ( G ) | df G ′ ( v ) > } , by theconditions of the rule, C induces a clique in G ′ . Then, | C | ≤ k , since otherwisevertices in C could not have positive deficiency.Now we exhaustively apply the new rule. Fix two vertices u, v ∈ C , such thateither u and v are distinct, or u = v and df G ′ ( u ) ≥
2. Then find two distinctvertices u ′ , v ′ ∈ V ( G ′ ) \ C such that u ′ v ′ ∈ B and uu ′ , vv ′ / ∈ E ( G ′ ). Since u ′ v ′ is in B , u ′ and v ′ have degree exactly k , as previously we have only addedgood edges and u ′ , v ′ / ∈ C . Delete u ′ v ′ from B , now u ′ and v ′ have positivedeficiencies. Add edges uu ′ and vv ′ to B , by the choice of u ′ and v ′ these edgesare not in E ( G ′ ), and also both these additions are good.We claim that when the new rule is no longer applicable, the size of C is atmost one, and df( G ′ ) is also at most one. Suppose it is not true, in this casethere is always a proper choice of u, v ∈ C . Then there are no u ′ , v ′ ∈ V ( G ) \ C satisfying the conditions above. Then each edge u ′ v ′ ∈ B is of one of thefollowing kinds:1. u ′ , v ′ ∈ C , since | C | ≤ k , there are at most (cid:0) k (cid:1) such edges;2. one of u ′ , v ′ is in C and the other is not in C , there are at most k ( k − | C | ≤ k and degrees in C are less than k ;3. u ′ , v ′ / ∈ C , and either uu ′ ∈ E ( G ′ ) or vv ′ ∈ E ( G ′ ); there are at most k ( k −
1) vertices adjacent to C , and each of them has at most k incidentedges from B , so there are at most k ( k −
1) such edges.Then the size of B is at most (cid:0) k (cid:1) + k ( k −
1) + k ( k − < k . However,df( G ) = 2 | B | + df( G ′ ), and df( G ′ ) ≤ | C | · k ≤ k . So df( G ) < k contradictingthe statement.Therefore, by the constructed sequence of good additions we reached thesituation when | C | and df( G ′ ) are both at most one. If C is empty, we aredone. If C consists of one vertex u , then its deficiency is one. Since df( G ) =2 | B | + df( G ′ ), df( G ) is odd, and we have one more edge addition. Then we addto B an edge from u to any other vertex v such that uv / ∈ E ( G ′ ); this is alwayspossible since deg G ′ ( u ) < k , and V ( G ) > k because df( G ) ≥ k .24he intuition to our FPT algorithm is as follows. When we can obtain asufficiently large k -core by adding a number of edges b < k , the algorithmfrom Proposition 17 suffices. Otherwise b ≥ k and by Theorem 18 we canfocus on finding a vertex subset in G of size at least p minimizing the totaldeficiency of the induced subgraph. We show how to do that with a dynamicprogramming over a tree decomposition. First we introduce some preliminariesabout treewidth and tree decompositions from [14]. A tree decomposition of agraph G is a pair T = ( T, { X t } t ∈ V ( T ) ), where T is a tree whose every node t isassigned a vertex subset X t ⊆ V ( G ), called a bag, such that the following threeconditions hold: (T1) S t ∈ V ( T ) X t = V ( G ). (T2) For every uv ∈ E ( G ), there exists a node t of T such that bag X t containsboth u and v . (T3) For every u ∈ V ( G ), the set T u = { t ∈ V ( T ) : u ∈ X t } , i.e., the set ofnodes whose corresponding bags contain u , induces a connected subtreeof T .The width of tree decomposition T = ( T, { X t } t ∈ V ( T ) ) equals max t ∈ V ( T ) | X t |− treewidth of a graph G ,denoted by tw( G ), is the minimum possible width of a tree decomposition of G .For the simplicity we will only consider so-called nice tree decompositions .A tree decomposition ( T, { X t } t ∈ V ( T ) ) rooted at r ∈ T is nice if the followingconditions are satisfied: • X r = ∅ and X ℓ = ∅ for every leaf ℓ of T . In other words, all the leaves aswell as the root contain empty bags. • Every non-leaf node of T is of one of the following three types: – Introduce node : a node t with exactly one child t ′ such that X t = X t ′ ∪ { v } for some vertex v / ∈ X t ′ ; we say that v is introduced at t . – Forget node : a node t with exactly one child t ′ such that X t = X t ′ \ { w } for some vertex w ∈ X t ′ ; we say that w is forgotten at t . – Join node : a node t with two children t , t such that X t = X t = X t .As shown in [14], any tree decomposition could be turned into a nice one inpolynomial time. For a node t in a nice tree decomposition T = ( T, { X t } t ∈ V ( T ) )denote by V t the union of all the bags present in the subtree of T rooted at t ,including X t . Proposition 19 ([14]).
Given a graph G of treewidth tw , a nice tree decom-position of an n -vertex graph G of width can be constructed in time tw · n O (1) . Now we are ready to show our algorithm.
Lemma 20.
Given an n -vertex graph G of treewidth tw and integers k , p , thevalue min { df( G [ b S ]) : b S ⊆ V ( G ) , | b S | ≥ p } can be computed in time k O (tw) · n O (1) . roof. Consider a nice tree decomposition T = ( T, { X t } t ∈ V ( T ) ) of G given byalgorithm in Proposition 19, width of T is O (tw). For every node t , every S ⊂ X t , every function f : S → { , · · · , k } , and every number s ∈ { , · · · , | V t |} define the following value: c [ t, S, f, s ] = min { df( G [ b S ]) : b S ∈ C [ t, S, f, s ] } , where C [ t, S, f, s ] = { b S ⊂ V t : b S ∩ X t = S, | b S | = s, and for every v ∈ S, df G [ b S ] ( v ) = f ( v ) } . Next, we show how the values of c [ · , · , · , · ] are computed for all kinds of nice treedecomposition nodes. Leaf node. If t is a leaf node, there is only one value c [ t, ∅ , f ∅ ,
0] = 0, where f ∅ denotes the empty function to { , · · · , k } . Introduce node.
Let t be an introduce node, t ′ be its only child and v bethe vertex such that v / ∈ X t ′ , X t = X t ′ ∪ { v } . We claim that for any S , f , s from the definition of c [ t, · , · , · ] c [ t, S, f, s ] = c ( t ′ , S, f, s ) if v / ∈ S ; c ( t ′ , S \ { v } , f | S \{ v } , s −
1) + f ( v ) if v ∈ S, f ( v ) = df G [ S ] ( v ) , s > ∞ otherwise . (9)If v / ∈ S , (9) clearly holds since the families of the sets b S are the same in bothparts of the equation. If v ∈ S , then for b S ∈ C [ t, S, f, s ] to exist s must begreater than zero since v ∈ b S . Also, f ( v ) must be equal to df G [ S ] ( v ) since thereare no edges from v to V t \ X t by the definition of a nice tree decomposition,and thus df G [ S ] ( v ) = df G [ b S ] ( v ). This shows that the third case of (9) holds, soonly the second case remains.When the conditions of the second case hold, we show that for each b S in C [ t, S, f, s ] there is a corresponding b S ′ in C ( t ′ , S \ { v } , f | S \{ v } , s − G [ b S ]) = df( G [ b S ′ ]) + df G [ S ] ( v ). Namely, b S ′ = b S \ { v } , and this concludes the proof of (9). Forget node.
Let t be a forget node, t ′ be its only child and v be thevertex such that v / ∈ X t , X t ′ = X t ∪ { v } . We claim that for any S , f , s fromthe definition of c [ t, · , · , · ] c [ t, S, f, s ] = min { c ( t ′ , S, f, s ) } ∪ { c ( t ′ , S ∪ { v } , f ′ , s ) : f ′ | S = f } . (10)First, consider any b S ∈ C [ t, S, f, s ]. If v / ∈ b S , then b S is also in C ( t ′ , S, f, s ). If v ∈ b S , then b S is in C [ t ′ , S ∪ { v } , f ′ , s + 1], where f ′ | S = f and f ( v ) = df G [ b S ] ( v ).In the other direction, if b S ∈ C [ t ′ , S, f, s ] or b S ∈ C [ t ′ , S ∪ { v } , f ′ , s ] where f ′ | S = f , then b S ∈ C [ t, S, f, s ]. Join node.
Let t be a join node, t and t be its children, such that X t = X t = X t . We claim that for any S , f , s from the definition of c [ t, · , · , · ] c [ t, S, f, s ] = min s + s = s + | S | ,f ,f c ( t , S, f , s ) + c ( t , S, f , s ) + X v ∈ S ( f ( v ) − f ( v ) − f ( v )) ! , (11)26here f and f are such that for every v ∈ S , f ( v ) = max(0 , f ( v ) + f ( v ) − k − deg G [ S ] ( v )). To show the correctness of (11), first we show that the right side of(11) is at most the left side. Consider an b S ∈ C [ t, S, f, s ] on which the minimumis attained, i.e. c [ t, S, f, s ] = df( G [ b S ]). Denote b S = b S ∩ V t , b S = b S ∩ V t , s = | b S | , s = | b S | . Since b S ∩ b S = b S ∩ V t ∩ V t = b S ∩ X t = S , s + s = s + | S | holds. Define also f and f as f ( v ) = df G [ b S ] ( v ), f ( v ) = df G [ b S ] ( v ). Bydefinition, b S ∈ C [ t , S, f , s ] and b S ∈ C [ t , S, f , s ]. Since for every v ∈ S df G [ b S ] ( v ) = max(0 , k − deg G [ b S ] ( v )) =max(0 , k − deg G [ b S ] ( v ) − deg G [ b S ] ( v ) + deg G [ S ] ( v )) =max(0 , df G [ b S ] ( v ) + df G [ b S ] ( v ) − deg G [ S ] ( v )) =max(0 , f ( v ) + f ( v ) − deg G [ S ] ( v )) , (12)and f ( v ) = df G [ b S ] ( v ), the condition on f , f and f holds. Thus, the right sideof (11) is at mostdf( G [ b S ]) + df( G [ b S ]) + X v ∈ S ( f ( v ) − f ( v ) − f ( v )) =df( G [ b S ]) − X v ∈ S df G [ b S ] ( v ) + df( G [ b S ]) − X v ∈ S df G [ b S ] ( v ) + X v ∈ S df G [ b S ] ( v ) = X v ∈ b S \ S df G [ b S ] ( v ) + X v ∈ b S \ S df G [ b S ] ( v ) + X v ∈ S df G [ b S ] ( v ) = X v ∈ b S df G [ b S ] ( v ) = df( G [ b S ]) , (13)since ( b S \ S ) ⊎ ( b S \ S ) ⊎ S = b S , and for every v ∈ b S \ S , df G [ b S ] ( v ) = df G [ b S ] ( v )as v is adjacent only to vertices in b S , the analogous holds for every v ∈ b S \ S .Since df( G [ b S ]) = c [ t, S, f, s ], the first part of the correctness proof is done.Second, we show that the left side of (11) is at most the right side of (11).Consider s , s , f , f on which the minimum of the left side of (11) is at-tained, and consider also b S ∈ C [ t , S, f , s ] and b S ∈ C [ t , S, f , t ] such thatdf( G [ b S ]) = c [ t , S, f , s ] and df( G [ b S ]) = c [ t , S, f , s ]. Let b S = b S ∪ b S , weclaim that b S ∈ C [ t, S, f, s ]. Since X t = X t = X t and b S ∩ X t = b S ∩ X t = S , b S ∩ X t is also S . Since b S ∩ b S = S , | b S | = | b S | + | b S |−| S | = s + s −| S | = s . Theequation (12) holds with the new choice of b S , b S , and b S ; thus, df G [ b S ] ( v ) = f ( v )for every v ∈ S , and b S ∈ C [ t, S, f, s ]. Finally, (13) also holds, and df( G [ b S ]) isequal to the value of the right side of (11). Thus the correctness of (11) is fullyproven.We compute all values c [ · , · , · , · ] by going through nodes of T in the treeorder, starting from the leaves, and applying one of the above formulas, de-pending on the type of node t , for all possible values of S , f , s at this node.Finally, at the root node r for every number s ∈ { , · · · , n } we have the value c [ r, ∅ , f ∅ , s ], which is equal to min b S ⊂ V ( G ) , | b S | = s df( G [ b S ]). Finally, we return thevalue min p ≤ s ≤ n c [ r, ∅ , f ∅ , s ].For each of the O ( kn ) nodes of t , there are 2 | X t | variants of S , at most( k + 1) | X t | variants of f , and n + 1 variants of s in the definition of c [ t, S, f, s ].27o the total number of values computed is k O (tw) · n O (1) , and the total runningtime is also k O (tw) · n O (1) .With all pieces together, we are ready to prove the main algorithmic resultof this section. Theorem 21.
Edge k -Core admits an FPT algorithm when parameterizedby the combined parameter tw + k .Proof. Consider the instance (
G, b, k, p ) of
Edge k -Core . Assume p > k sincethe size of a k -core is always at least k + 1.If b ≤ k , we run the algorithm of Chitnis and Talmon given by Proposi-tion 17 and return its result. Otherwise, we run the algorithm from Lemma 20on the input ( G, k, p ), and obtain the value d such that there is a b S ∗ ⊂ V ( G ) ofsize at least p with df( G [ b S ∗ ]) = d , and df( G [ b S ]) ≥ d for every b S ⊆ V ( G ) of sizeat least p .Now, if d < k , we report a yes-instance, since b ≥ k , and G [ b S ∗ ] can betrivially turned into a k -core. Namely, for each v ∈ b S ∗ , while deg G [ b S ∗ ] < k addan edge connecting v and some other vertex in b S ∗ arbitrarily. This is alwayspossible since | b S ∗ | > k , and the number of edges added is at most d .If d ≥ k , we compare b to ⌈ d ⌉ . If b ≥ ⌈ d ⌉ , we report a yes-instance,since G [ b S ∗ ] can be turned into a k -core using ⌈ df( G [ b S ∗ ]) ⌉ edge additions byLemma 18. If b < ⌈ d ⌉ , we report a no-instance, since for every b S ⊂ V ( G )completing G [ b S ] to a k -core requires at least ⌈ df( G [ b S ]) ⌉ edge additions, and d ≤ df( G [ b S ]) for every b S of size at least p .It remains to bound the running time. In the case b ≤ k , the running timeis ( k + tw) O ( k +tw) · n O (1) by Proposition 17. In the case b ≥ k the algorithmfrom Lemma 20 dominates the running time, which is k O (tw) · n O (1) . Thus, thewhole algorithm is FPT parameterized by tw + k . References [1] J. Ignacio Alvarez-Hamelin, Mariano G. Beir´o, and Jorge RodolfoBusch. Understanding edge connectivity in the internet throughcore decomposition.
Internet Mathematics , 7(1):45–66, 2011. doi:10.1080/15427951.2011.560786 .[2] J. Ignacio Alvarez-Hamelin, Luca Dall’Asta, Alain Barrat, and AlessandroVespignani. Large scale networks fingerprinting and visualization usingthe k-core decomposition. In
Advances in Neural Information ProcessingSystems 18 (NIPS) , pages 41–50, 2005.[3] Jos´e Ignacio Alvarez-Hamelin, Luca Dall’Asta, Alain Barrat, and Alessan-dro Vespignani. K-core decomposition of internet graphs: hierarchies,self-similarity and measurement biases.
Networks & Heterogeneous Media ,3(2):371–393, 2008. 284] Kshipra Bhawalkar, Jon M. Kleinberg, Kevin Lewi, Tim Roughgarden, andAneesh Sharma. Preventing unraveling in social networks: The anchoredk-core problem. In
ICALP ’12 , volume 7392 of
Lecture Notes in ComputerScience , pages 440–451, 2012.[5] Kshipra Bhawalkar, Jon M. Kleinberg, Kevin Lewi, Tim Roughgarden,and Aneesh Sharma. Preventing unraveling in social networks: The an-chored k-core problem.
SIAM J. Discrete Math. , 29(3):1452–1475, 2015. doi:10.1137/14097032X .[6] Hans L. Bodlaender, Rodney G. Downey, Michael R. Fellows, and DannyHermelin. On problems without polynomial kernels.
J. Computer andSystem Sciences , 75(8):423–434, 2009.[7] Moira Burke, Cameron Marlow, and Thomas M. Lento. Feed me: moti-vating newcomer contribution in social network sites. In
Proceedings of the27th International Conference on Human Factors in Computing Systems(CHI) , pages 945–954. ACM, 2009. doi:10.1145/1518701.1518847 .[8] Rajesh Chitnis, Fedor V Fomin, and Petr A Golovach. Preventing unrav-eling in social networks gets harder. In
Proceedings of the 27h AAAI Con-ference on Artificial Intelligence (AAAI) , pages 1085–1091. AAAI Press,2013.[9] Rajesh Chitnis, Fedor V. Fomin, and Petr A. Golovach. Parameterizedcomplexity of the anchored k-core problem for directed graphs.
Inf. Com-put. , 247:11–22, 2016. doi:10.1016/j.ic.2015.11.002 .[10] Rajesh Chitnis and Nimrod Talmon. Can we create large k -cores by addingfew edges? In Proceedings of the 13th International Computer Science Sym-posium in Russia (CSR) , volume 10846 of
Lecture Notes in Computer Sci-ence , pages 78–89. Springer, 2018. doi:10.1007/978-3-319-90530-3\_8 .[11] M.S.Y. Chwe. Structure and Strategy in Collective Action 1.
AmericanJournal of Sociology , 105(1):128–156, 1999.[12] M.S.Y. Chwe. Communication and Coordination in Social Networks.
TheReview of Economic Studies , 67(1):1–16, 2000.[13] Christophe Crespelle, P˚al Grøn˚as Drange, Fedor V. Fomin, and Petr A.Golovach. A survey of parameterized algorithms and the complex-ity of edge modification.
CoRR , abs/2001.06867, 2020. URL: https://arxiv.org/abs/2001.06867 , arXiv:2001.06867 .[14] Marek Cygan, Fedor V. Fomin, Lukasz Kowalik, Daniel Lokshtanov, D´anielMarx, Marcin Pilipczuk, Micha l Pilipczuk, and Saket Saurabh. Parame-terized Algorithms . Springer, 2015.[15] Reinhard Diestel.
Graph theory . Springer Publishing Company, Incorpo-rated, 2018.[16] Michael Dom, Daniel Lokshtanov, and Saket Saurabh. Kernelization lowerbounds through colors and IDs.
ACM Transactions on Algorithms , 11(2):1–20, 2014. 2917] Paul Erd˝os and Tibor Gallai. Gr´afok el˝o´ırt foksz´am´u pontokkal.
Matem-atikai Lapok , 11:264–274, 1960.[18] Fedor V. Fomin, Petr A. Golovach, Fahad Panolan, and Saket Saurabh.Editing to connected f-degree graph. In
Proceedings of the 33rd Sympo-sium on Theoretical Aspects of Computer Science (STACS) , volume 47 of
LIPIcs , pages 36:1–36:14. Schloss Dagstuhl - Leibniz-Zentrum fuer Infor-matik, 2016. doi:10.4230/LIPIcs.STACS.2016.36 .[19] Fedor V. Fomin, Daniel Lokshtanov, Saket Saurabh, and Meirav Zehavi.
Kernelization. Theory of Parameterized Preprocessing . Cambridge Univer-sity Press, 2018.[20] Lance Fortnow and Rahul Santhanam. Infeasibility of instance compressionand succinct pcps for np.
J. Comput. Syst. Sci. , 77(1):91–106, January2011. doi:10.1016/j.jcss.2010.06.007 .[21] Andr´as Frank and ´Eva Tardos. An application of simultaneous diophantineapproximation in combinatorial optimization.
Combinatorica , 7(1):49–65,March 1987. doi:10.1007/bf02579200 .[22] Christos Giatsidis, Fragkiskos Malliaros, Dimitrios Thilikos, and MichalisVazirgiannis. Corecluster: A degeneracy based graph clustering framework.In
Twenty-Eighth AAAI Conference on Artificial Intelligence (AAAI) .AAAI Press, 2014.[23] Petr A. Golovach. Editing to a graph of given degrees. In
Proceedings ofthe 9th International Symposium Parameterized and Exact Computation(IPEC) , volume 8894 of
Lecture Notes in Comput. Sci. , pages 196–207.Springer, 2014.[24] Petr A. Golovach. Editing to a connected graph of given degrees.
Inf.Comput. , 256:131–147, 2017.[25] Prachi Goyal, Pranabendu Misra, Fahad Panolan, Geevarghese Philip, andSaket Saurabh. Finding even subgraphs even faster.
J. Comput. Syst. Sci. ,97:1–13, 2018.[26] Michael A. Henning and Anders Yeo. Tight lower bounds on the matchingnumber in a graph with given maximum degree.
Journal of Graph Theory ,89(2):115–149, 2018. doi:10.1002/jgt.22244 .[27] Ravi Kannan. Minkowski’s convex body theorem and integer program-ming.
Mathematics of Operations Research , 12(3):415–440, August 1987. doi:10.1287/moor.12.3.415 .[28] H. W. Lenstra. Integer programming with a fixed number of vari-ables.
Mathematics of Operations Research , 8(4):538–548, November 1983. doi:10.1287/moor.8.4.538 .[29] Junjie Luo, Hendrik Molter, and Ondˇrej Such`y. A parameterized com-plexity view on collapsing k-cores. In , 2019.3030] Luke Mathieson and Stefan Szeider. Editing graphs to satisfy degree con-straints: A parameterized approach.
J. Comput. Syst. Sci. , 78(1):179–191,2012.[31] T.C. Schelling.
Micromotives and Macrobehavior . WW Norton, 2006.[32] Amitabha Tripathi and Sujith Vijay. A note on a theorem oferd˝os & gallai.
Discrete Mathematics , 265(1-3):417–420, April 2003. doi:10.1016/s0012-365x(02)00886-5 .[33] Stefan Wuchty and Eivind Almaas. Peeling the yeast protein network.
Proteomics , 5(2):444–449, 2005.[34] Fan Zhang, Wenjie Zhang, Ying Zhang, Lu Qin, and Xuemin Lin. OLAK:an efficient algorithm to prevent unraveling in social networks.
Proceedingsof the VLDB Endowment , 10(6):649–660, 2017.[35] Fan Zhang, Ying Zhang, Lu Qin, Wenjie Zhang, and Xuemin Lin. Findingcritical users for social network engagement: The collapsed k-core prob-lem. In
Procedings of the 31st AAAI Conference on Artificial Intelligence(AAAI) , pages 245–251. AAAI Press, 2017.[36] Zhongxin Zhou, Fan Zhang, Xuemin Lin, Wenjie Zhang, and Chen Chen. K -core maximization: An edge addition approach. In Proceedings ofthe 28th International Joint Conference on Artificial Intelligence (IJCAI) ,pages 4867–4873. ijcai.org, 2019. doi:10.24963/ijcai.2019/676doi:10.24963/ijcai.2019/676