Hardness of Peeling with Stashes
HHardness of Peeling with Stashes
Michael Mitzenmacher ∗ Vikram Nathan
Abstract
The analysis of several algorithms and data structures can be framed as a peeling process on a random graph:vertices with degree less than k and their adjacent edges are removed until no vertices of degree less than k are left.Often the question is whether the remaining graph, the k -core, is empty or not. In some settings, it may be possibleto remove either vertices or edges from the graph before peeling, at some cost. For example, in hashing applicationswhere keys correspond to edges and buckets to vertices, one might use an additional side data structure, commonlyreferred to as a stash, to separately handle some keys in order to avoid collisions. The natural question in such casesis to find the minimum number of edges (or vertices) that need to be stashed in order to realize an empty k -core.We show that both these problems are NP-complete for all k ≥
2, with the sole exception being that the edgevariant of stashing is solvable in polynomial time for k = ∗ Harvard University, School of Engineering and Applied Sciences. Supported in part by NSF grants CCF-0915922, IIS-0964473, andCNS-1011840. a r X i v : . [ c s . CC ] J un Introduction
The following peeling process can be used to find the k -core of a hypergraph: vertices with degree less than k are repeatedly removed, together with their associatededges. The k -core is easily shown to be the maximalsubgraph where each vertex has degree at least k ; it istherefore uniquely defined and does not depend on theorder vertices are removed in the peeling process. Peel-ing processes, and variations on it, have found applica-tions in low-density parity-check codes [7, 9], hash-basedsketches [3, 5, 6], satisfiability of random boolean for-mulae [2, 8, 10], and cuckoo hashing [4, 11]. Usuallyin the design of these algorithms the primary question iswhether or not the k -core is empty, and an empty k -corecorresponds to a success. We say that a hypergraph is k - peelable if it has an empty k -core.If the k -core is not empty, a natural question to ask ishow many edges or vertices need to be removed to yieldan empty k -core. This question may have algorithmicimplications. For example, consider a multiple-choicehash table of the following form. There are n keys and m buckets; each key has d possible buckets where it canbe placed; and each bucket can hold at most k − d possible buckets),we see that peeling can naturally provide an assignment ofkeys to buckets satisfying the constraints. When a vertexis removed, the bucket obtains all the keys correspondingto adjacent edges; if the peeling yields an empty hyper-graph, all keys have been placed. In this setting, remov-ing an edge from the hypergraph before peeling can corre-spond to placing a key into a separate structure, often re-ferred to as a stash. If a suitably sized stash can be imple-mented, peeling can efficiently find an assignment, lead-ing to the question of how many edges need to be removedso the remaining hypergraph is k -peelable. Even withoutsuch algorithmic implications, the minimum number ofvertices or edges to remove to obtain a k -peelable graphappears a natural and interesting graph theoretic question.Here we prove that determining the minimum num-ber of vertices, or the minimum number of edges, thatneed to be stashed (removed from the graph) so that a d -regular hypergraph is k -peelable is NP-complete for any We note that peeling does not completely solve the problem of as-signing keys to buckets; for example, work on cuckoo hashing showsthat one can do substantially better after peeling on random graphs tomatch additional keys to buckets. However, peeling provides a quickway to create an assignment, and for cuckoo hashing, peeling firstmaintains optimality in terms of the number of keys assigned. Be-cause of this, understanding the limits of peeling in this context ap-pears worthwhile. k , d ≥
2. The only exception is that, in the case of edges,determining the minimal stash is solvable in polynomialtime for k = d =
2; that is, for 2-cores on standard graphs.Although we believe the case of k = d = stash problems .We note that a similar problem was recently consid-ered in [1]. In their variation, they look at the anchoringproblem : given a budget b , find the subset B of b verticessuch that peeling the graph of vertices from V − B of de-gree less than k yields the maximum number of remainingedges. That is, the chosen subset B cannot be peeled, andserves as an anchor for the k -core. They show that when k =
2, the problem is solvable in linear time, and when k ≥ O ( n − ε ) factor for any constant ε .One way of viewing the anchoring problem is that it adds to the graph; for example, by replacing a vertex in B bya clique of size at least k (and appropriately connectingedges), one can guarantee that vertex is anchored. In con-trast, our goal in stash probelms is to remove vertices oredges from the graph.In what follows, we define terms and briefly considerthe case k = d =
2. We then show the problem of find-ing the optimal stash size when stashing vertices is NP-complete for k ≥ Recall that we say that a hypergraph is k -peelable if it hasan empty k -core. A k-vertex-stash of a hypergraph is asubset of vertices V ⊂ G such that G − V is k -peelable.(Of course removing a vertex also removes all adjancentedges.) Similarly, a k-edge-stash of a hypergraph is a sub-set of edges E ⊂ G such that G − E is k -peelable. Forfixed values k and d , the decision problem k -VERTEX-STASH ( G d , s ) (respectively k -EDGE-STASH ( G d , s ) ) askswhether the d -regular hypergraph G d has a minimal k -vertex-stash (respectively k -edge-stash) of size at most s .We use k -VERTEX-STASH and k -EDGE-STASH wherethe meaning is clear. We note that we could also con-sider non-regular hypergraphs in this framework as well,but since stashing on these graphs can easily be reducedto stashing on regular hypergraphs, we consider only reg-ular hypergraphs here. We refer to 2-regular hypergraphsas standard graphs for clarity and convenience. When wesay PROBLEM1 ≤ P PROBLEM2, we mean that there is1 polynomial time reduction from PROBLEM1 to PROB-LEM2. In most proofs, we do not explicitly say the re-ductions can be done in polynomial time since their im-plementations are easily seen to be linear.
For standard graphs, the 2-core is empty precisely whenthe graph has no cycles. It follows readily that for 2-EDGE-STASH the minimum number of edges that needto be removed equals the minimum number of edges thatneed to be removed so that the graph has no cycles; thiswell-known quantity is the cyclomatic number of the graph, h ( G ) = | E | − | V | + ( G ) . Wenote h ( G ) is easily computed in polynomial time by start-ing with an empty graph, inserting the edges of G one ata time in any order, and setting aside any edge that formsa cycle, incrementing h ( G ) accordingly. (Standard union-find algorithms can be used to test for cycles.)As we show later, the corresponding vertex stash prob-lem for standard graphs is actually NP-complete. k -VERTEX-STASH is NP-Complete To start, it is clear that k -VERTEX-STASH is in NP forany d -regular hypergraph as the certificate is just the k -vertex-stash. Also, the standard NP-complete Vertex Coverproblem is the degenerate problem 1-VERTEX-STASH.That is, since a graph has an empty 1-core if and only ifit consists of a collection of isolated vertices, the small-est number of vertices to remove for 1-VERTEX-STASHis the size of the minimum vertex cover. This connectionsuggests a reduction from VERTEX COVER. Definition 1.
A vertex cover of G is a set of vertices Vsuch that all edges in G are adjacent to at least one ver-tex in V . The NP-complete decision problem VERTEX-COVER ( G , s ) asks if G has a vertex cover of size at mosts. Theorem 1.
VERTEX-COVER ≤ P k-VERTEX-STASH fork ≥ .Proof. Given a hypergraph G we construct a hypergraph G (cid:48) by adding vertices and edges to G such that V ∗ is aminimal vertex cover of G if and only if V ∗ is a minimal k -vertex-stash of G (cid:48) . To create G (cid:48) , we replace every edge ( u , v ) by a subgraph C k ( u , v ) with the following properties.1. u , v ∈ C k ( u , v ) .2. Each vertex w ∈ C k ( u , v ) has degree at least k . 3. If either u or v is removed, C k ( u , v ) has an empty k -core.4. C k ( u , v ) has k edges adjacent to u and k edges adja-cent to v .5. C k ( u , v ) has no edges connected to any vertex in G apart from u and v .To show that such hypergraphs exist, we first provide theconstruction for standard graphs ( d = u , v , weconstruct C k ( u , v ) by adding k new vertices (that we num-ber from 1 to k for convenience), with each of these ver-tices connected to both u and v . Also, vertices 1 and k have k − , . . . k − , . . . , k − k vertices.The third property is satisfied since if u or v is re-moved, vertices 1 and k will then have degree k − k −
2, allowing them to be peeled, which completely re-moves C k ( u , v ) . The other properties are clearly satisfied.For d ≥
2, simply add d − C k ( u , v ) . Since C k ( u , v ) has at least k edges, these d − k . All other properties are easily seen to besatisifed.Figure 1: Examples of C k ( u , v ) for various d and k . u and v aregray and marked with an X. Top left: k = , d =
2. Top right: k = , d =
2. Bottom: k = , d = Now, we show that finding the minimal vertex coverof G can be reduced to finding the minimal vertex stashof G (cid:48) . To start, we show that if G (cid:48) has a k -vertex-stashof size s , it has a k -vertex-stash of size at most s consist-ing entirely of vertices from G ; that is, we can repeatedlyreplace any w ∈ C k ( u , v ) in the stash with either u or v until the stash consists only of vertices from G . To see2his, let S be a k -vertex-stash of G (cid:48) and suppose there ex-ists w ∈ S such that w ∈ C k ( u , v ) for some u , v ∈ G . De-fine S v = { v } ∪ S \ { w } and similarly for S u . We claimthat S v and S u are k -vertex-stashes of G (cid:48) . Suppose that S v were not a k -vertex-stash. Then G (cid:48) − S v would have anon-empty k -core T and since S v ∪ { w } is a k -vertex-stash, w ∈ T . However, removing v allows C k ( u , v ) to be peeled,giving a contradiction. The same holds for S u . Hence if G (cid:48) has a k -vertex-stash of size s , it has a k -vertex-stash ofsize at most s consisting entirely of vertices from G .We can now show that G has a vertex cover of sizeat most s if and only if G (cid:48) has a k -vertex-stash of size atmost s . In the forward direction, let V ∗ ⊂ G be a vertexcover for G with size at most s . Since every edge in G is adjacent to some v ∈ V ∗ , G (cid:48) − V ∗ consists solely of the C k ( u , v ) , each with either or both of u , v removed. Each ofthe C k ( u , v ) can then be peeled, so G (cid:48) − V ∗ has an empty k -core, and hence V ∗ is a k -vertex-stash of G .In the other direction, let S ⊂ G (cid:48) be a k -vertex-stash ofsize at most s ; as we have shown, without loss of general-ity, we can assume S ⊂ G . Suppose that S were not a ver-tex cover of G . Then G − S would contain edge ( u , v ) , so G (cid:48) − S would contain the subgraph { u , v } ∪ C k ( u , v ) , whichis not peelable, yielding a contradiction.This completes the reduction. k -EDGE-STASH is NP-complete We previously showed that 2-EDGE-STASH for standardgraphs has a polynomial time solution. We now show that k -EDGE-STASH is NP-complete for both k ≥ k = d ≥ k -VERTEX-STASH. Of course it is clear that k -EDGE-STASH is in NP , since one can check that a given stash leads to anempty k -core.In what follows, we use the following definitions: a neighbor of a subgraph S ⊂ G is a vertex v / ∈ S such that v shares an edge with some w ∈ S . A neighboring edge of S is any edge shared by any neighbor of S and some w ∈ S .We may often refer to neighboring edges without specify-ing a precise neighbor; it is understood that the neighborswill be specified later in a construction that uses S . Wecall an edge internal to S if it is in S . Lastly, define a sub-graph S ⊂ G as k - unpeelable if no vertex of S has degreeless than k , counting neighboring edges.Throughout the reduction, vertices or edges may be peeled or stashed (removed but not by the peeling pro-cess). These two actions are mutually exclusive; how-ever, we say an edge or vertex is removed , meaning eitherpeeled or stashed, if the distinction is irrelevant. Finally, we have chosen to present the reduction bystarting with a “high-level” argument, showing the prop-erties of the graph gadgets we require, and then subse-quently showing how to construct actual gadgets with theseproperties (any construction satisfying these properties con-stitutes a valid gadget) We believe this approach is moreenlightening than starting with the gadgets without moti-vation. Theorem 2. k-VERTEX-STASH ≤ P k-EDGE-STASH fork ≥ and k = , d ≥ .Proof. Our main idea is to modify G as follows: given ahypergraph G , we construct a hypergraph f ( G ) such thatstashing a vertex v ∈ G can be simulated by stashing anappropriate edge in f ( G ) . As a result, the size of the min-imal vertex stash in G will be equal to the size of the min-imal edge stash in f ( G ) . We do this by replacing v witha subgraph P k ( v ) so that this subgraph acts under peelingand edge stashing exactly as v would act under peelingand vertex stashing, respectively.To ensure that P k ( v ) correctly simulates v in the peel-ing process, we need to be able to both (i) completely k -peel P k ( v ) in f ( G ) exactly when v can be k -peeled in G and (ii) ensure that stashing and thus removing v from G can be simulated by stashing an edge in P k ( v ) . This re-quires that P k ( v ) has some edge that can be stashed thatallows the subgraph to be fully k -peeled. We formalizethese properties as follows:(P1) The degree of v in G is the number of neighboringedges of P k ( v ) in f ( G ) . Also, if u is a neighbor of v , then P k ( v ) shares a neighboring edge with somevertex in P k ( u ) .(P2) Provided that no internal edges are stashed, P k ( v ) can be k -peeled if and only if it has fewer than k neighboring edges remaining (potentially after otherremovals of edges).(P3) There exists a non-empty set of internal edges E ∗ ( P k ( v )) ⊂ P k ( v ) such that P k ( v ) can be fully k -peeled if any e ∈ E ∗ ( P k ( v )) is stashed.Notice that f ( G − { v } ) = f ( G ) − P k ( v ) , and more gener-ally: f ( G − V (cid:48) ) = f ( G ) − ∪ v ∈ V (cid:48) P k ( v ) . By (P3), P k ( v ) canbe peeled by stashing a single edge, so this constructionestablishes an equivalence between stashing an edge in f ( G ) and a vertex in G . Notice furthermore that G can be k -peeled if and only if f ( G ) can be k -peeled, which fol-lows from observing that if there is no v ∈ G with degreeless than k , none of the P k ( v ) subgraphs can be peeled.Let us assume for now that we can find such a P k ( v ) .Then we claim G has a k -vertex stash S of size at most s
3f and only if f ( G ) has a k -edge stash S (cid:48) of size at most s . To prove the first direction, let G = G − S , chooseone e ∗ v ∈ E ∗ ( P k ( v )) for each v , and let S (cid:48) = { e ∗ v | v ∈ S } bethe corresponding edge stash. By (P3) of P k ( v ) above,stashing S (cid:48) in f ( G ) allows all P k ( v ) , v ∈ S to be k -peeled,resulting in f ( G ) − ∪ v ∈ S P k ( v ) = f ( G ) . Since G is k -peelable, f ( G ) is k -peelable (with an edge stash of size | S (cid:48) | = | S | ).To prove the other direction, let S (cid:48) be an edge stashof f ( G ) . Let P (cid:48) = { v |∃ e ∈ S (cid:48) , e ∈ P k ( v ) } and note that | P (cid:48) | ≤ | S (cid:48) | . Since S (cid:48) ⊂ ∪ v ∈ P (cid:48) P k ( v ) , f ( G ) − ∪ v ∈ P (cid:48) P k ( v ) = f ( G − P (cid:48) ) is k -peelable, so G − P (cid:48) is k -peelable with vertexstash P (cid:48) .This completes the reduction assuming that P k ( v ) ex-ists. In the following subsections, we show that a suitable P k ( v ) exists for both the cases k ≥ d ≥ k = , d ≥ We define the key building blocks used in constructing P k ( v ) for both cases. Definition 2.
A b − block is a k − unpeelable subgraph withb neighboring edges that is k − peelable if any of its neigh-boring edges is removed. Definition 3. A stable block of degree m is a k − unpeelablesubgraph B with the following properties:1. B has m neighboring edges. If no internal edge ofB is stashed, B is k − peelable if and only if all mneighboring edges are removed.2. There exists a nonempty set E ∗ ( B ) ⊂ B of internaledges such that B is k − peelable upon stashing anye ∈ E ∗ ( B ) . k ≥ and d = To begin we assume that we have stable blocks and 3-blocks available, and then provide their construction. Forvertex v , let δ = deg ( v ) . As shown in Figure 2, we canconstruct a P k ( v ) that consists of: • A copy of vertex v , called the primary node. • δ instances of 3-blocks ( b -blocks with 3 neighbor-ing edges). • a stable block B , with δ neighboring edges. Figure 2: The mapping (under f ) of a single v ∈ G to P k ( v ) ⊂ G (cid:48) . The black squares are 3-blocks, and the large gray structureis the stable block. Note that k doesn’t play an explicit role inthis structure - it is hidden in the structure of the b -blocks andstable block. P k ( v ) is constructed as follows: Let { u i } δ i = be the neigh-bors of v , and index the 3-blocks in P k ( v ) as b u , . . . b u δ .For each edge ( u i , v ) , add 3 edges connecting b u i to theprimary node, stable block, and b v ∈ P k ( u i ) .This construction of P k ( v ) satisfies the 3 required prop-erties listed above. (P1) is satisfied by construction. If ( u , v ) ∈ G , the edge between P k ( v ) and P k ( u ) is the edgebetween b u ∈ P k ( v ) and b v ∈ P k ( v ) as described above.(P2) is ensured by the 3-blocks. Note that the pri-mary node has the same number of neighboring edges as P k ( v ) at all times, since each 3-block is connected to aneighboring edge of P k ( v ) and is adjacent to the primarynode. Thus, if any neighboring edge is removed, the de-gree of the primary node will decrease by 1 after peeling,and vice versa. We can use this to prove (P2): if P k ( v ) hasfewer than k neighboring edges, the primary node has de-gree less than k and can be peeled, which peels all the b u i ,leaving the stable block with no neighboring edges. Sincestable blocks can be peeled completely if they have noneighboring edges, P k ( v ) can be fully peeled. Conversely,if P k ( v ) has at least k neighboring edges, the primary nodehas degree at least k and cannot be peeled. In this case, itis clear that P k ( v ) is unpeelable.The stable block ensures (P3), that there is an internaledge of P k ( v ) that can be stashed that allows P k ( v ) to be k -peeled. Specifically, there is an edge that when stashedallows the stable block to be k -peeled, and subsequentlythe 3-blocks in turn are k -peeeled. Note that this meansthat E ∗ ( B ) ⊆ E ∗ ( P k ( v )) .We now detail the constructions of b − blocks and sta-ble blocks. b -blocks While we note that b -blocks exist for every b ≥ k ≥
3, we only require 2- and 3-blocks, so only we explicitly4onstruct those. An example is given in Figure 3. • A 2-block consists of two “hub” nodes, each ad-jacent to a neighboring edge, and a clique of size k −
1. Both hub nodes have an edge to each nodein the clique. Since every vertex in this block hasdegree k , it cannot be peeled. However, it’s easy tosee that if either neighboring edge is removed, thewhole block can be peeled. • See Figure 3 for 3-blocks with k = ,
4. Note thespecial case for k =
3, which is a single node. For k ≥
5, a 3-block is created by first having 3 hubnodes, each adjacent to one of the neighboring edges,which we call “Layer 0”. There are then k − k − k , while the Layer 2nodes have degree 2 k − ≥ k since k ≥
5. Noticethat if any neighboring edge is removed, the corre-sponding hub node will have degree k − k −
1, which after peeling leaves all degree 2 ver-tices with degree k −
4, allowing the whole block tobe peeled.Figure 3:
Construction of b − blocks for b = , k = , Before constructing stable blocks, we first construct whatwe call a simple stable block , which is a stable block withdegree m ≤ k −
1. It consists of a central vertex with de-gree k − + m , two 2-blocks, and ( k −
3) 3-blocks. Thecentral vertex connects to m neighboring edges, and each of the remaining k − k − b -blocks themselves are connected: the i th b -block sharesedges with the ( i − ) st and ( i + ) st b -block, as shown inFigure 4. As a result, the 1st and ( k − ) st b -blocks are2-blocks, while the other k − Example of a simple stable block construction.Black squares are 3-blocks and gray squares are 2-blocks.
This satisfies the two properties of a stable block, since:1. If at least one neighboring edge of the stable blockremains and no internal edges are stashed, the cen-tral node has degree at least k and cannot be peeled.2. E ∗ contains any edge adjacent to the 2- or 3-blocks.Removing any of these edges will remove adjacent b -blocks and then successively all the other b -blocks,since they are connected. This leaves the singlecentral node, which would then have degree at mostonly k − k ≥ m ≤ k −
1, we can construct a stable block of arbi-trary degree m ≥ k by using a k − k −
1, constructed above. Eachneighboring edge of the central vertex of a simple stableblock at depth i is connected to a 2-block of a simple sta-ble block at depth i + m neighboring edges. Any excess neighboring edges at thebase of the tree can be removed to give the tree exactly m neighboring edges. See Figure 5 for an illustration.This satisfies both the requirements of a stable block:5igure 5: Example of a general stable block, shown here with11 neighboring edges for k =
4. Again, gray squares are 2-blocks, while black squares are 3-blocks. The thickened edgesof the root node are all in E ∗ . Notice that the tree is madeentirely out of simple stable blocks.
1. If a neighboring edge exists, there is at least onesimple stable block at the base of the tree. It, andits parents, and so on up the tree, cannot be peeledassuming that no internal edges are stashed. It isalso easy to see that the tree is then peeled if noneighboring edge remains.2. If R s is the root simple stable block of this tree, then E ∗ ( R s ) ⊆ E ∗ ( stable block). Once the root simplestable block is peeled, its children can be peeled,and so on for the whole stable block.This completes the construction of P k ( v ) . If v has de-gree δ , then P k ( v ) has size O ( δ k ) . d ≥ d ≥ d − P k ( v ) to include these extravertices. These dummy vertices will not affect the peel-ing, since a dummy vertex cannot be peeled until there arefewer than k edges remaining in the original graph. k = and d ≥ For this case, we require a different construction; we donot use b -blocks in our construction of the stable block,and we require a slightly different construction for a suit-able P ( v ) building block as well. At the heart of a sta-ble block T of degree p is a d − d − d ≥
3, and hence is consistentwith the fact that the case d = k = p leaves. Suppose v , . . . , v d − are leaves of the tree connected to the same parent bythe same edge. Then extra nodes w , . . . , w d − are cre-ated, in addition to the edges ( v i , w , . . . , w d − ) for each1 ≤ i ≤ d −
1. See Figure 6. Notice that every node ofthe tree has degree at least 2, except the root r , whichhas degree 1. Notice also that if we were to remove the root edge e r (the edge connecting the root to its immediatechildren in the tree), the entire tree would be subsequently2-peeled.To complete the construction of the stable block T ofdegree p , choose any p of the w i . For each 1 ≤ i ≤ p , add aneighboring edge ( r , w i , x i , , . . . , x i , d − ) , where the x iq ( ≤ q ≤ d − ) are a collection of p ( d − ) new vertices andneighbors of the stable block. We show below how the x iq are used to finish the construction of P k ( v ) . Notice nowthat, with the neighboring edges, deg ( r ) = p + T is a stable block for k = d − uniform hypergraphs, where d ≥
3. It satisfies the2 properties of stable blocks:1. Suppose that no internal edge of T is stashed. Sinceevery vertex in T , except r , has at least 2 internaledges, the only way for T to be peeled is for r to bepeeled, which can happen only if all neighboringedges are removed. Thus, T is k -unpeelable if ithas degree at least 1.2. If e r is stashed, then the entire d − w i would thenhave degree only 1 (the neighboring edge), it can bepeeled, peeling the neighboring edges as well. Thus e r ∈ E ∗ ( T ) .As with the stable block in the previous construction for k ≥
3, the stable block is responsible for (P3) of P ( v ) ,which allows stashing a single edge in P ( v ) to correctlysimulate stashing v in G .Given this new stable block construction, construct P ( v ) as follows. For every vertex v ∈ G , let δ = deg ( v ) and let { e i } δ i = be the edges in G adjacent to v and let m i j ( ≤ j ≤ d − ) be the neighbors of v in G that shareedge e i with v . Then P ( v ) consists of: • A copy of v in P ( v ) , which is called the primaryvertex and will serve the same role as the primaryvertex in the previous P k ( v ) construction. • A stable block T of degree δ (recall that this means T has δ ( d − ) neighbors).6 A vertex t e i for each neighboring edge e i . • Add d − i , and denotethem by x i , . . . , x i , d − .To combine these, add the edges ( v , t e i , x i , . . . , x i , d − ) foreach i .We further need to define the neighboring edges of P k ( v ) . Note that each P k ( m i j ) will have its own copy of t e i since all the m i j share edge e i . Call this copy t m ij e i ∈ P k ( m i j ) . Then, for each t e i ∈ P k ( v ) , add the hyperedge ( t e i , t m i e i , . . . , t m i , d − e i ) . These constitute the neighboring edgesof P ( v ) . See Figure 6 for an illustration.Each t e i and x iq has degree 2, while the primary nodehas degree δ . The t e i in this construction are close analogsof the b e i (the 3-blocks) used in the previous constructionfor k ≥
3, since both are responsible for ensuring (P2) of P k ( v ) . Notice that the number of neighboring edges of P ( v ) is always equal to the number of t e i s present, since ifan edge of P ( v ) is removed, the corresponding t e i has de-gree 1 and can be peeled, which reduces the degree of theprimary vertex v by 1. As such, it ensures that the degreeof the primary node is equal to the number of neighboringedges of P ( v ) , which means that the primary vertex canbe peeled if and only if P ( v ) has fewer than 2 neighboringedges. This is identical to the role of b e i in the previousconstruction.The dummy vertices are there simply to interface withthe stable block. Since each edge must contain d vertices,these dummy vertices just fill up the extra d − P ( v ) satisfies the required proper-ties. (P1) is clearly satisfied by construction. For (P2), if P ( v ) has degree less than 2, then there are fewer than 2 t e i s, so v can be peeled. Then each t e i and x i j has degreeat most 1 and can be peeled. The stable block then hasdegree 0 and is subsequently peeled, so P ( v ) be peeledentirely. Similarly, if P ( v ) has degree at least 2, thenat least 2 t e i s exist, so v has degree at least 2. The sta-ble block therefore has at least 2 neighbors and cannot bepeeled. For (P3), the root edge r of the d − E ∗ ( P ( v )) . As shown above, stashing this edge peels thestable block, which peels the x i j and in turn the t e i s and v .It is clear that f ( G ) can be constructed in time poly-nomial in | G | . We have shown that determining the minimum number ofvertices (or edges) that need to be removed from a hy- Figure 6:
An illustration how a vertex v with degree 3 in G ismapped to a set of vertices in G (cid:48) for d =
3. The stable block isthe dotted box, with the root of the tree r marked in black. Thehyper-edges are shown as triangles containing all the nodes theyconnect. pergraph so that peeling leads to an empty graph is NP-complete (except for k = d = References [1] K. Bhawalkar, J. Kleinberg, K. Lewi, T. Roughgar-den, and A. Sharma. Preventing unraveling in socialnetworks: the anchored k -core problem. In Proceed-ings of ICALP , pp. 440–451, 2012.[2] A. Broder, A. Frieze, and E. Upfal. On the satis-fiability and maximum satisfiability of random 3-CNF formulas. In
Proceedings of the Fourth AnnualACM-SIAM Symposium on Discrete Algorithms , pp.322–330, 1993.[3] B. Chazelle, J. Kilian, R. Rubinfeld, and A. Tal. TheBloomier filter: an efficient data structure for staticsupport lookup tables. In
Proc. of the 15th AnnualACM-SIAM Symposium on Discrete Algorithms , pp.30–39, 2004.74] M. Dietzfelbinger, A. Goerdt, M. Mitzenmacher, A.Montanari, R. Pagh, and M. Rink. Tight thresholdsfor cuckoo hashing via XORSAT. In
Proceedings ofICALP , pp. 213–225, 2010.[5] D. Eppstein and M Goodrich, Straggler Identi-fication in Round-Trip Data Streams via New-ton’s Identities and Invertible Bloom Filters.
IEEETransactions on Knowledge and Data Engineering ,23(2):297-306, 2011.[6] M. Goodrich and M. Mitzenmacher. InvertibleBloom Lookup Tables. In
Proceedings of the 49thAllerton Conference , pp. 792–799, 2011.[7] M. Luby, M. Mitzenmacher, A. Shokrollahi, and D.Spielman. Efficient erasure correcting codes.
IEEETransactions on Information Theory , 47(2):569–584, 2001.[8] M. Mitzenmacher. Tight thresholds for the pure lit-eral rule DEC/SRC Technical Note, 1997-011.[9] M. Mitzenmacher and G. Varghese. Biff (Bloom fil-ter) codes: Fast error correction for large data sets. In
Proceedings of the IEEE International Symposiumon Information Theory , pp. 483–487, 2012.[10] M. Molloy. The pure literal rule threshold and coresin random hypergraphs.
Random Structures & Algo-rithms , 27(1):124-135, 2005.[11] A. Pagh and F. Rodler. Cuckoo hashing.