A polynomial time approximation schema for maximum k-vertex cover in bipartite graphs
aa r X i v : . [ c s . CC ] S e p A polynomial time approximation schema for max k -vertex cover in bipartite graphs Vangelis Th. PaschosUniversit Paris-Dauphine, PSL Research UniversityCNRS, UMR 7243 LAMSADE [email protected]
September 19, 2019
Abstract
The paper presents a polynomial time approximation schema for the edge-weightedversion of max k -vertex cover problem in bipartite graphs. The max k -vertex cover problem is defined as follows: given a graph G ( V, E ) of order n and a constant k n , determine k vertices that cover a maximum number of edges. Inthe (edge-)weighted version of the max k -vertex cover , weights are associated with theedges and the objective is to determine k vertices that maximize the total weight of theedges covered by them. The problem is NP -hard even in bipartite graphs [2, 4]. max k -vertex cover is a well-known restriction of max k -set cover problemwhere we are given a family of subsets S over a set of elements C and an integer k and theobjective is to determine a subfamily S ′ ⊆ S of cardinality k , covering a maximum numberof elements from C . Analogously, in the weighted version of max k -set cover , theelements of C are provided with positive weights and the objective becomes to determine k sets that maximize the total weight of the covered elements.Both max k -set cover and max k -vertex cover are well-known problems metin many real-world applications since they model several very natural facility locationproblems. In particular max k -vertex cover is used for modeling problems in areassuch as databases, social networks, sensor placement, information retrieval, etc. A non-exhaustive list of references to such applications can be found in [3].To the best of our knowledge, the approximation of max k -set cover has been studiedfor the first time in the late seventies by Cornuejols et al. [5], where an approximationratio 1 − ( / e ) ( ≈ . k sets are included in the solution. max k -vertex cover being a restriction of max k -set cover , the same ratio is achieved forthe former problem also and this ratio is tight in (weighted) bipartite graphs [3]. A moresystematic study of the greedy approximation of max k -vertex cover can be foundin [7]. In [6] it has been proved that the greedy algorithm also achieves ratio k / n . In thesame paper, a very simple randomized algorithm is presented, that achieves approximationratio 2( k / n ) − ( k / n ) . Using a sophisticated linear programming method, the approximationratio for max k -vertex cover , in general graphs was improved to / [1]; this ratio1emained the best known one in general graphs until 2018, when [8] proposed a 0.92-approximation for the problem. Obvously, this ratio remains valid for bipartite graphs. Forthis class, the best ratio (still based on linear programming) known before [8] was / ([4]).The complexity of this / -approximation algorithm is not given in [4]; a rough evaluationof it, gives a complexity of O (( | L || R | ) / ), where L and R are the two color-classes of B ( | L | + | R | = n ), which is bounded above by O ( n ). Finally, max k -vertex cover being a generalisation of min vertex cover , its inapproximability by polynomial timeapproximation schemata (PTAS) in general graphs P = NP is immediately derived fromthe corresponding inapproximability of the latter, ([9]).Let us note that unweighted max k -vertex cover is easy in semi-regular bipartitegraphs (where all the vertices of each color class have the same degree). Indeed, any k vertices in the color class of maximum degree yield an optimal solution. Obviously, if thiscolor class contains less than k vertices, then one can cover all the edges.In this paper, we propose a PTAS for max k -vertex cover in bipartite graphs.The following notations will be used in what follows: • B ( L, R, E, ~w ): an edge-weighted bipartite graph instance of max k -vertex cover ( ~w is a weight-vector of dimension | E | ); • O an optimal solution of max k -vertex cover ; O and O the subsets of O lyingin the color-classes L and R , respectively; • k = | O | and k = | O | the numbers of the optimal vertices in L and R , respectively; k + k = k ; we assume that k k ; • opt( B ) = opt the value of an optimal solution (i.e., the value of the total coveragecapacity of O ); opt( O ) the total coverage capacity of O ; we set opt( O ) = α · opt, α
1; opt( O ) denotes the private coverage capacity of O , i.e., the edges alreadycovered by O are not encountered there ; obviously, opt( O ) = (1 − α ) · opt; • for a vertex-set cardinality | X | opt ( X ⊂ O ): – C ( X ) · opt denotes the total weight of the edges covered by the members of X covering a maximum weight of edges (the best | X | -elements subset of O ; C ( O ) · opt = α · opt, C ( O ) · opt = (1 − α ) · opt); – C w ( X ) · opt denotes the total weight of the edges covered by the members of X covering a minimum weight of edges (the worst | X | -elements subset of O ); • ρ : the approximation ratio of a known max k -vertex cover -algorithm.The following proposition holds and will be frequently used in what follows. Proposition 1.
For any set X of optimal vertices: opt( O \ X ) = opt − C w ( X ) · opt = (1 − C w ( X )) · optLet us note that values of k and k can be guessed in polynomial time. We simply run thealgorithm specified below for any possible pair of integers k ′ an k ′′ such that k ′ + k ′′ = k and take the best result of these runnings. One of the results will be obtained for thepair k , k and the solution returned will dominate the one for this particular pair. It iseasy to see that this procedure takes, at worst, O ( n ) time. In what follows we will reasonw.r.t. to the solution obtained for pair ( k , k ).In what follows, we consider that the vertices of L and R are ordered in decreasingorder w.r.t. their initial coverage capacity. Also, we call “best” vertices, a set of verticesthat cover the largest total weight of uncovered edges in B .2 A preliminary result
The following proposition shows that we can consider that the values of ~w are polynomiallybounded. Denote by max k -vertex cover ( n ℓ ) the instances of max k -vertex cover where edge-weights are bounded above by n ℓ , for a fixed constant ℓ > Proposition 2 .
There exists an approximation-preserving reduction between max k -vertex cover and max k -vertex cover ( n ℓ ). Proof.
Consider an instance B = ( L, R, E, ~w ) of max k -vertex cover and produce aninstance B ′ = ( L, R, E, ~w ′ ) of max k -vertex cover ( n ℓ ) where L , R and E remain thesame and any element w i of ~w is transformed in w ′ i = ⌈ n ℓ · w i / w max ⌉ in B , where w max isthe maximum of the values in ~w . It is easy to see that all the elements in ~w ′ are boundedabove by n ℓ and that the transformation of B into B ′ can be done in polynomial time.Assume now that there exists a polynomial ρ -approximation algorithm A for max k -vertex cover ( n ℓ ) computing a solution S ′ consisting of m ′ edges of total weight sol( B ′ )and denote by opt ′ the optimal value for the problem. Denote by OPT the edge-set ofan optimal solution of B and by w ∗ , w ∗ , . . . , w ∗ OPT the weights of its edges; obviouslyopt( B ) = P OPT i =1 w ∗ i . We then have: n ℓ w max · opt( B ) = n ℓ w max · OPT X i =1 w ∗ i OPT X i =1 (cid:24) n ℓ · w ∗ i w max (cid:25) = opt (cid:0) B ′ (cid:1) (1)sol (cid:0) B ′ (cid:1) = m ′ X i =1 (cid:24) n ℓ · w i w max (cid:25) n ℓ w max · m ′ X i =1 w i + m ′ n ℓ w max · m ′ X i =1 w i + n n ℓ w max · sol( B ) + n n is bounded above by n / .Combining (1) and (2) and using the fact that max k -vertex cover ( n ℓ ) is polynomialtime ρ -approximable, i.e., sol( B ′ ) / opt( B ′ ) > ρ , one can easily conclude that in this case max k -vertex cover is polynomially approximable within ratio ρ − ( / (4 · n ℓ − ) ) = ρ − ǫ . ρ The following proposition gives a lower bound for C w ( X ), for any X ⊆ L , that will beused later (it is easy to see that, symmetrically, the same holds also for X ⊆ R ). Proposition 3 C w ( X ) > ρ − r + (1 − ρ ) · C ( X ) ρ (3) where r is an upper bound of the approximation ratio of Algorithm 1 . Proof.
Denote by A a ρ -approximation algorithm for max k -vertex cover , fix an integer | X | k and run Algorithm 1 .Step 1 of Algorithm 1 deletes a subset X ∗ of optimal vertices members of O togetherwith their (optimal) incident edges and, probably, another set of optimal edges incident3 lgorithm 1:Input: A bipartite graph B ( L, R, E ) and a constant k < | L | + | R | Output: A k -vertex cover of B
1. remove the best (first) | X | vertices from L together with their incident edges;let B ′ (( L \ X ) , R, E ′ , ~w ) the remaining graph;2. run A on B ′ to solve max ( k − | X | )-vertex cover ;3. add to the result of step 2 the | X | vertices removed in step 1;4. return the so computed solution SOL1.to a subset of Γ( X \ X ∗ ) belonging to O ∗ . Step 2 deletes from B , | X \ X ∗ | additionaloptimal vertices. After Steps 1 and 2, the optimal value is at least:(1 − C ( X ) − C w ( X \ X ∗ )) · optFinally, Step 3 produces a solution SOL1 with value: C (SOL1) > [ ρ · (1 − C ( X ) − C w ( X \ X ∗ )) + C ( X )] · opt= [ ρ + (1 − ρ ) · C ( X ) − ρ · C w ( X \ X ∗ )] · opt (4)Since C w ( X \ X ∗ ) C w ( X ), (4) becomes: C (SOL1) > [ ρ + (1 − ρ ) · C ( X ) − ρ · C w ( X )] · optThen:[ ρ + (1 − ρ ) · C ( X ) − ρ · C w ( X )] · opt r · opt = ⇒ C w ( X ) > ρ − r + (1 − ρ ) · C ( X ) ρ q.e.d.Consider now the following Algorithm 2 . Theorem 1
The approximation ratio of
Algorithm 2 is: r > ρ + (1 − ρ ) − ρ ) Proof.
Consider Step (2b) of
Algorithm 2 . If SOL( k ′ ) leaves outside at least 2 · ℓ optimalvertices, then either L \ SOL( k ′ ), or R \ SOL( k ′ ) contains a set L ℓ of at least ℓ optimalvertices with a coverage capacity at least C w ( L ℓ ). So, in this case, by adding the ℓ bestvertices either from L , or from R and taking into account Proposition 1, Algorithm 2 builds a solution with value at least: m ′ k + C w (cid:16) L ℓ (cid:17) · opt > ρ · (cid:16) − C w (cid:16) L ℓ (cid:17)(cid:17) · opt + C w (cid:16) L ℓ (cid:17) · opt= (cid:16) ρ + (1 − ρ ) · C w (cid:16) L ℓ (cid:17)(cid:17) · opt (5)Let now assume that Step 2b of Algorithm 2 leaves outside less than 2 · ℓ optimal vertices.If there exist ℓ vertices (outside of the solution computed) either in L , or in R , with coverage4 lgorithm 2:Input: A bipartite graph B ( L, R, E ) and a constant k < | L | + | R | Output: A k -vertex cover of B
1. fix a constant c > for ℓ ← k downto c do (a) run A with k := k ′ := k − ℓ ;let SOL( k ′ ) the solution obtained and m ′ k its value;(b) complete SOL( k ′ ) by adding the ℓ best vertices either from L , or from R and store it;3. for ℓ ← c downto do (a) compute all the sets on ℓ vertices from B and store them together withthe edges covered by any of them;(b) for any such set C do i. delete it from B together with the edges covered by it and solve max ( k − ℓ ) -vertex cover in the remaining graph;ii. add C together with the edges covered by its verticesin the solution computed during the previous step, producing soa solution for max k -vertex cover on B ;iii. store the solution computed;4. output the best among the solutions so computed.5apacity at least C w ( L ℓ ), then the solution computed in Step 2b adds in the solution anadditional coverage capacity at least C w ( L ℓ ) and the discussion just above always holds.So, the case remaining to be handled, is the one where: m ′ k > h − · C w (cid:16) L ℓ (cid:17)i · optThen: h − · C w (cid:16) L ℓ (cid:17)i · opt m ′ k r · opt = ⇒ C w (cid:16) L ℓ (cid:17) > − r ℓ = k ( k ′ = k ). Then, following (3): C w ( L ) > ρ − r + (1 − ρ ) · αρ (7)and embedding (7) in (5), one obtains a ratio: r > ρ + ρ − r + (1 − ρ ) · αρ · (1 − ρ )which, after some easy algebra becomes: r > ρ − r · (1 − ρ ) + (1 − ρ ) · αρ (8)Consider now the very simple algorithm consisting of taking the k first best vertices of R (recall that vertices in R are ordered in decreasing order with respect to their coveragecapacity). It guarantees at least 1 − α . So:1 − α r = ⇒ α > − r (9)Combining (8) and (9) one gets, after some easy algebra: r > ρ + (1 − ρ ) − ρ ) > ρ (10)Let now consider the other extreme case where Step (2b) of Algorithm 2 leaves outsideless than 2 · ℓ optimal vertices for any ℓ from k down to c . In this case (6) holds for anyexecution of Step 2 of the algorithm. Then, in Step 3, Algorithm 2 guarantees ratio: r > ρ · (cid:16) − C w (cid:16) L ℓ (cid:17)(cid:17) + C w (cid:16) L ℓ (cid:17) = ρ + (1 − ρ ) C w (cid:16) L ℓ (cid:17) ( ) > ρ + (1 − ρ ) · − r r > ρ − ρ > ρ (11)Assume now that from ℓ = k to ℓ = k ′ , Step (2b) of Algorithm 2 leaves outside lessthan 2 · ℓ optimal vertices and that for ℓ = k ′ − Algorithm 2 leaves outsidemore than 2 · ℓ optimal vertices. This means (following (6)) that until the k ′ -th executionof Step 2, C k ′ w ( L k ′ ) > (1 − r ) / and at the ( k ′ + 1)-th execution ( ℓ = k ′ − C k ′ +1 w ( L k ′ +1 )becomes smaller than (1 − r ) / . Denote by w ( v ) the coverage capacity of a vertex v ∈ V and consider the sum C k ′ +1 w ( L k ′ +1 ) + w ( v ), for any v ∈ V \ L k ′ . Obviously, there existsat least a v ∈ L k ′ \ L k ′ +1 such that: C k ′ +1 w ( L k ′ +1 ) + w ( v ) > C k ′ w ( L k ′ ), which implies C k ′ +1 w ( L k ′ +1 ) > C k ′ w ( L k ′ ) − w ( v ). We can assume that w ( v ) ( (1 − r ) / ) · opt. Indeed, if6 ( v ) > ( (1 − r ) / ) · opt, then Step 3 of Algorithm 2 computes a set C of coverage capacityat least ( (1 − r ) / ) · opt and then discussion above concludes to a ratio: r > ρ + (1 − ρ ) · − r ⇒ r > · ρ − ρ > ρ (12)Assuming w ( v ) ( (1 − r ) / ) · opt we get: C k ′ +1 w (cid:16) L k ′ +1 (cid:17) > C k ′ w (cid:16) L k ′ (cid:17) − (1 − r )4 ( ) > − r m of the so-produced solution holds: m > h ρ · (cid:16) − C k ′ +1 w (cid:16) L k ′ +1 (cid:17)(cid:17) + C k ′ +1 w (cid:16) L k ′ +1 (cid:17)i · opt ( ) > (cid:18) ρ + (1 − ρ ) · − r (cid:19) · optSolving the inequality: (cid:18) ρ + (1 − ρ ) · − r (cid:19) r one gets: r > · ρ − ρ > ρ (14)Some very simple algebra concludes that the lower bound for r given in (10) is the smallestamong the ones given in (10), (11), (12) and (14).The proof of the theorem is now concluded. k -vertex cover Algorithm 3:
A polynomial time approximation schema for max k -vertex cover in bipartite graphs Input:
A bipartite graph B ( L, R, E ) and a constant k < | L | + | R | Output: A k -vertex cover of B fix a constant ǫ > for i:= 1 to ( · ǫ · (1 − ǫ − ρ ) / (1 − · ǫ − √ (1 − · ǫ )) ) do run Algorithm 2 to solve max k -vertex cover on B by using Algorithm 2 itself as A ;*for i = 1 A is used* endreturn the solution computed.Revisit (10). Some easy algebra allows to conclude that: r − ρ > (1 − ρ ) − ρ ) (15)and this quantity is decreasing with ρ .Consider now Algorithm 3 and denote by ρ i , the ratio of A ( ρ i = ρ ), by ρ j , the ratioof Algorithm 3 after the j -th execution of the loop for and by ρ f the ratio of Algorithm 37fter the last execution. Suppose also that the for loop of Algorithm 3 is executed t times.Then, taking 15, into account: ρ f − ρ > t × ( ρ f − ρ f − ) (16)For facility, in what follows, we work with equality in (10), we set ρ f = 1 − ǫ and supposethat the loop for of Algorithm 3 is executed t times. Setting in (10), r = ρ f = 1 − ǫ and ρ = ρ f − we have, after some easy algebra:1 − ǫ = ρ f − + (1 − ρ f − ) − ρ f − ) = ⇒ ρ f − = − (1 − · ǫ ) + √ − · ǫ · ǫ = ⇒ ρ f − ρ f − = 1 − · ǫ − √ − · ǫ · ǫ (17)Combining (16) and (17)(1 − ǫ ) − ρ > t · − · ǫ − √ − · ǫ · ǫ ! = ⇒ t · ǫ · (1 − ǫ − ρ )1 − · ǫ − √ − · ǫ Since the discussion just above holds for any fixed constant ǫ < − ρ , the following theoremholds immediately. Theorem 2 . max k -vertex cover in bipartite graphs admits a polynomial timeapproximation schema. Acknowledgement.
The very useful discussions with Ccile Murat, Federico Della Croce,Michael Lampis and Aristotelis Giannakos are gratefully acknowledged.
References [1] A. A. Ageev and M. Sviridenko. Approximation algorithms for maximum coverage andmax cut with given sizes of parts. In G. Cornu´ejols, R. E. Burkard, and G. J. Woeginger,editors,
Proc. Conference on Integer Programming and Combinatorial Optimization,IPCO’99 , volume 1610 of
Lecture Notes in Computer Science , pages 17–30. Springer-Verlag, 1999.[2] N. Apollonio and B. Simeone. The maximum vertex coverage problem on bipartitegraphs.
Discrete Appl. Math. , 165:37–48, 2014.[3] A. Badanidiyuru, R. Kleinberg, and H. Lee. Approximating low-dimensional coverageproblems. In T. K. Dey and S. Whitesides, editors,
Proc. Symposuim on ComputationalGeometry, SoCG’12, Chapel Hill, NC , pages 161–170. ACM, 2012.[4] B. Caskurlu, V. Mkrtchyan, O. Parekh, and K. Subramani. Partial vertex cover andbudgeted maximum coverage in bipartite graphs.
SIAM J. Discrete Math. , 31(3):2172–2184, 2017.[5] G. Cornuejols, M. L. Fisher, and G. L. Nemhauser. Location of bank accounts tooptimize float: an analytic study of exact and approximate algorithms.
ManagementSci. , 23(8):789–810, 1977.[6] Q. Han, Y. Ye, H. Zhang, and J. Zhang. On approximation of max-vertex-cover.
European J. Oper. Res. , 143:342–355, 2002.87] D. S. Hochbaum and A. Pathria. Analysis of the greedy approach in problems ofmaximum k -coverage. Naval Research Logistics , 45:615–627, 1998.[8] Pasin Manurangsi. A note on max k-vertex cover: faster fpt-as, smaller approximatekernel and improved approximation.
CoRR , abs/1810.03792, 2018.[9] E. Petrank. The hardness of approximation: gap location.