1 / 25

A (1+ )-Approximation Algorithm for 2-Line-Center

A (1+ )-Approximation Algorithm for 2-Line-Center. P.K. Agarwal, C.M. Procopiuc, K.R. Varadarajan Computational Geometry 2003. Outline. Introduction Preliminaries Approximation Algorithm Conclusion. . . . 1.Introduction: Projective clustering.

Download Presentation

A (1+ )-Approximation Algorithm for 2-Line-Center

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A (1+)-Approximation Algorithm for 2-Line-Center P.K. Agarwal, C.M. Procopiuc, K.R. Varadarajan Computational Geometry 2003

  2. Outline • Introduction • Preliminaries • Approximation Algorithm • Conclusion

  3.   1.Introduction: Projective clustering • Given a set S of n objects in Rd and two integers k < n and q  d, find k q-dimensional flats h1,...,hk and partition S into k subsets S1, ...,Sk so that • is minimized. • The k-line-center problem is the projective clustering problem for d =2 and q = 1. • Partition S into k clusters and each cluster Si is projected onto a line so that the maximum distance between a point p and its projection p* is minimized.

  4.   1.Introduction:This paper • 2-line-center • Given a set S of n points in R2, cover S by two strips so that th maximum width of a strip is minimized • Projective clustering has recently received attention as a tool for creating more efficient nearest neighbor structures, as searching amid high dimensional point set is becoming increasingly important.

  5.     1.Introduction: Previous Work • 2-line: • near-quadratic running time for exact version. • 1-line: width problem • (nlogn) for d =2 • (1+  )Approximation: • General: computing k projective clusters • Whether a set of n points in the plane can be covered by k lines is NP-Complete • Projective clustering is NP-Complete • Approximating the minimum width within a constant factor is NP-Complete.

  6. 1.Introduction: This result • Let w* denote the minimum value so that S can be covered by two strips of width at most w*. • This paper present an algorithm that computes, for any  >0, a cover of S by two strips of width at most (1+ ) w*, in time • Strategy of this paper: • first presenting a 6-approximation algorithm • then derive a (1+ )-approximation algorithm

  7.             2.Preliminaries r lpq p q (p,q, r) • Notations • Strip : the region lying between two parallel lines l1 and l2 • width of  : distance between l1 and l2 • direction of : direction of l1 • strip cover  of S: two strips that each point of S lies in one of the strips. • For any points p,q, • lpq: the line passing through p, q • (p,q, r): if r  lpq , is the same as lpq • (p,q; w): the strip having lpq as the median line of width 2w.

  8.               2.Preliminaries • Notations • Optimal cover: * = {1*, 2*} of S, its width w* • Si* = S  i* • Anchor pair (p,q) of  : if d(p,q)  diam(S  ) p S   diam(S  )  q

  9.                2.Preliminaries • Proof • let  be the diameter of S* • : the smallest rectangle containing S*, the length of  is L, the width of  is w. • We choose rS* to be the point farthest away from lpq . Since r, d(r,lpq)  3w. • Moreover S* =S  *  (p,q,r), and the lemma follows • ’: parallel to lpq, thinnest strip contains , its width w’.

  10.               3. Approximation Algorithm • Two phases • phase 1: computes a cover  of S by two strips of width at most 6w* • phase 2: Use  to compute a new cover by two strips of width at most (1+ )w*

  11.               3.1 6-approximation cover • Suppose we have an anchor pair (p,q) of a strip in * • How to obtain such a pair will be described in 3.2 • WLOG, let (p,q) be an anchor pair of 1* • By Lemma 2.1 there exist r  S so that width((p,q,r)) 6w* and (S\ (p,q,r))  2* • Perform a binary search to find that r !! • Then compute a strip of width at most 2w* that contains the rest points, i.e. S\ (p,q,r)

  12.               g(w) 3.1 6-approximation cover • Suppose we have an anchor pair (p,q) of a strip in * • f(w) • Proof: 2w f(w) wi wi+1 wn w

  13.               2w f(w) wi wi+1 wn w g(w) 3.1 6-approximation cover • f(w) • Binary search over w • Proof:

  14.               3.2 Computing an anchor pair • Compute a family F of at most 11 pairs of points that contains an anchor pair. • compute the diameter  of S, and let (p,q) be a diametral pair in S. Let Dp, Dq be the disks of radius /2, centered at p, respectively q.

  15.                 3.2 Computing an anchor pair • Case 1 • If S\(Dp Dq)  , • let rS\(Dp Dq). Return F ={(p,q),(q,r),(p,r)} • Correctness: • At least two points among p,q, and r must be in the same strip subset. Since d(p,q) =  and d(p,r), d(q,r)   /2. • all these 3 are greater than diam(S)/2, and is also greater than any diam/2 of any subset. • At least one of these 3 pairs must be an anchor pair. (of an optimal strip) • (Recall the definition of anchor pairs)

  16.                 P, Q are points 3.2 Computing an anchor pair • Case 2 • else, S\(Dp Dq) =  • Let P =S  Dp and Q = S  Dq . • conv(P) and conv(Q) be their convex hulls, these two hulls do not intersect • Compute l1 and l2, the inner common tangent lines of conv(P) and conv(Q) • let p1 P, q1 Q be the points lying on l1. Respectively p2, q2 • let p3, p4 be a diametral pair in P, and q3,q4 be a diametral pair in Q • Return F = { (p,q), (p3,p4), (q3,q4), • (p,q1), (p,q2), (p,q3), (p,q4), • (q, p1), (q,p2), (q,p3), (q,p4)}

  17.                 S12* S21* P, Q are points 3.2 Computing an anchor pair • Correctness of Case 2 • Suppose on the contrary that no pair of F is an anchor pair. • This implies p,q is neither an anchor pair of 1* nor of 2* , so S12* contains either p or q but not both. • WLOG, let p  S12* and q  S21*. Since d(p,qi), d(q,pi)  /2 (different disk), pi  S12 and qi  S21*, for i = 1,2,3,4 • S12* Q  . because otherwise S12* P, and (p3,p4) is an anchor pair, a contradiction. Similarly S21* P   • Therefore there exist point p’ S12* Q, and q’  S21* P  

  18.                 x P, Q are points 3.2 Computing an anchor pair • Correctness of Case 2 • 1* |2* • p1~p4 | q1~q4 • p | q • p’ | q’ • x • let s be the intersection point of l1 and l2. Since strip q1, q2, and q’, it also contains the triangle q1q2s. Hence, p’ q1q2s • But p’ lies in the wedge. • therefore p1p2p’ intersects the segment q1q2(green) .Let x be a point on this segment. Since 1* contains p1p2p’, it also contains x. • But q1 q2 do not lie inside 1* ,so 1* separates q1 and q2. 2* separates p1 and p2.

  19.                  3.3 (1+  )-Approximation z • Strategy • We have a 6-approximation cover. • Within this region, we try to “guess” the optimal *. We guess its direction(), displacement(by z) and its width w* (by w) • The result of our guess is ’ , an (1+ )-approximation of *, and totally contains *. For the points not covered by ’ , we run the known PTAS width algorithm to find the second strip covering them. 4d(p,q) 3w’

  20.                     (ε/2).(w~/6) - 2w~ w~/6 3.3 (1+  )-APX • Detail • R as shown. Z , , and W • Let  = C, where C is a constant to be specified later. • Z: grid of “positions” along the boundary, so that there are • grid points on each side of R •  : grid of “directions”. • W: grid of the value of “width”

  21.                   3.3 (1+  )-APX • Existence of z’, ’, w’ • Assuming we know z’, ’, we can perform binary search on w’.(By computing the width of the “rest”) • Since we don’t know z’, ’, we try all possible pairs of them.

  22.                   3.3 (1+  )-APX s • Proof of correctness • Can we find by guessing? • Also by Lemma 2.1, we know • So R is “big enough”. • The remaining question is whether the grids are “dense enough”? • 1.First we prove there exists a “good”  • 2. Then we prove there exists a good z.

  23.                   3.3 (1+  )-APX s • Proof of Lemma 3.6 • 2. There is a good z (together with the previous ,) such that there exists a strip  such that S*   , width() (1+  /2)w*

  24.                   3.3 (1+  )-APX s • Proof of Lemma 3.6 • 1.There is a good , such that there exists a strip  such that S*   , width() (1+  /4)w* • If ½ (w~) /d(p,q), assuming   2/3, • If ½ >(w~) /d(p,q) , which implies  <30°

  25. Conclusion • We have an simple and efficient 2-line-center approximation algorithm. • k-line-center for fixed k, to higher dimensions • hyper-strips

More Related