1 / 20

Maximum Independent Sets in Rectangle Intersection Graphs

Maximum Independent Sets in Rectangle Intersection Graphs. Author: Timothy M. Chan Inform. Process. Letters, 89(2004), 19-23. Outline. Introduction Previous and new results Modified dynamic programming method The unit-height case The general case. Introduction --- problem definition.

fritz-wells
Download Presentation

Maximum Independent Sets in Rectangle Intersection Graphs

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. Maximum Independent Sets in Rectangle Intersection Graphs Author: Timothy M. Chan Inform. Process. Letters, 89(2004), 19-23

  2. Outline • Introduction • Previous and new results • Modified dynamic programming method • The unit-height case • The general case

  3. Introduction --- problem definition • To find the maximum independent set in the intersection graph of n axis-parallel rectangles. • This problem is NP-hard.

  4. Previous results --- part1 • Finding efficient approximation algorithms. • Unit squares model:factor 1 + 1/k • Hochbaum and Maass (1985) --- nO(k^2) time • Agarwal, van Kreveld and Suri (1998) --- O(n2k-1) • Unit height rectangle model:factor 1 + 1/k • Agarwal, van Kreveld and Suri (1998) --- O(n2k-1) • This model arise in the application to map labeling problem for a fixed font size.

  5. Previous results --- part2 • Arbitrary square model:factor 1 + 1/k • Erlebach, Jansen and Seidel (2001) --- nO(k^2) time • Timothy M. Chan (2003) --- nO(k) time • General rectangle model:The problem is open • Agarwal, van Kreveld and Suri (1998) --- • O(nlogn) time and factor log2n • No polynomial time algorithm achieves factor o(logn) and specifically, there is the result of factor O(logkn) in O(nk|S*|) time.

  6. New results • Unit height rectangle model: • factor 1 + 1/k in O(nlogn + nk-1) time, where  is the max number of rectangles a point can be in. • In general map labeling application,  is small and even close to a constant. • Arbitrary rectangle model: • factor logkn in O(nlogn + nk-2) time and the algorithm is simpler and faster in practical.

  7. Dynamic programming subroutine • Lemma 1: • Fix an integer constant k1. If all the rectangles can be stabbed by k horizontal lines, then we can solve the problem exactly in O(nlogn + nk-1) time. Notation1: Let R1,R2,…,Rn be the given rectangles with a1…an , where ai and bi are the left and right x-coordinate of Ri. Notation2: Let next[j] denote the smallest index i with ai > bj. Notation3: For a set S of rectangles, let S|i denote the subset of rectangles of S intersecting the vertical line x=ai.

  8. Strategy • Consider a sub-problem for each index i and each subset S of disjoint rectangles intersecting the vertical line x=ai with |S| k-1. • A[i , S] is the maximum number of disjoint rectangles among Ri,Ri+1,…,Rn that do not intersect the rectangles in S. • Consider from i = n+1 to i=1. • A[n+1,]=0. (Initial condition)

  9. x=ai+1 S Ri x=ai Proof • Case1. If Ri intersects some rectangle in S, then • A[i,S]=A[i+1, S|i+1]. A[i,S]= A[i+1,S] = A[i+1,S|i+1]

  10. Proof cont’d • Case2. If Ri doesn’t intersect any rectangle in S and |S|< k-1, then • A[i,S]=max{ A[i+1, S|i+1], 1+A[i+1, (S{Ri})|i+1] }. The blue item is the case of no Ri , similar to Case1. The red item is the case of Ri being used.

  11. S x=at Ri x=ai Rj Proof cont’d • Case3. If Ri doesn’t intersect any rectangle in S and |S|=k-1, then • A[i,S]=max{ A[i+1, S|i+1], 1+A[t, (S{Ri})|t] }, where t is the smallest next[j] of all rectangles Rj S{Ri}. If Ri is used in the solution, all the other rectangles in the solution must be to the right of Rj, the rectangle of the smallest bj. (i.e. right of at) |S|+|{Ri}|+? k+1

  12. Analysis • A[i,S] : i from 1 to n; |S|k-1 and for each choice, at most . • O(nlogn + nk-1) time. • It is an exact solution!!!

  13. 0 1 2 C(0) 0 1 2 The unit-height case • Theorem 2: • Fix an integer constant k1. If all rectangles have unit height, then we can solve the problem approximately to within a factor of 1 + 1/k in O(nlogn + nk-1) time. Let C(i), i=0~k, be the sub-collection of all rectangles that don’t intersect any grid horizontal line y=l=i mod (k+1). k=2

  14. Proof • Each C(i) is an union of groups of rectangles. Each group can be stabbed by k horizontal lines (since grid line is built by unit), and no two rectangles from distinct groups intersect. • Use Lemma1 to solve each group and union them to obtain S(i) for C(i). • Return the largest set S of S(0), S(1),…, S(k).

  15. Analysis • Running time sums to O(nlogn + nk-1) time. • Factor: 1 + 1/k • Since each unit height rectangle belongs to exactly k of the k+1 sub-collection C(0),…,C(k), we have • k|S*| = i=0~k|S*C(i)|  i=0~k|S(i)|  (k+1)|S|.

  16. The general case • Theorem 3: • Fix an integer constant k2. If we are given H>1 horizontal lines that stab all rectangles, then we can solve the problem approximately to within a factor of logkH in O(nlogn + nk-2) time. By Divide and Conquer method. The initial case is Hk.

  17. Proof • Let L1,L2,…,Lk-1 be the H/kth, 2(H/k)th,…, (k-1)(H/k)th lowest horizontal lines. L0=-, Lk=. • C(0) is the sub-collection of all rectangles stabbed by these k-1 lines. We can compute the exact solution S(0) for C(0) by Lemma1. • C(i), i=1~k, is the sub-collection of all rectangles lie between Li-1 and Li.

  18. H/k Proof cont’d • C(i) is stabbed by H/k lines. We compute S(i) for C(i) approximately recursively.

  19. Analysis • Finally, return the larger one of the two sets S(0) and S(1)…S(k). • Running time sums to O(nlogn + nk-2) time. • Let S be the larger one. And let Cv and Sv be sets corresponding to node v in the recursion tree. • v|S*Cv|  v|Sv|  |S|, for nodes in some level. • Sum over all levels  |S*|  (logkH)|S|.

  20. Future work • Think about FPTAS results for unit square, arbitrary square, unit height rectangle model. • For the general rectangle model, is it possible to reduce the factor (only need polynomial running time), or to prove the lower bound factor (else, NP-hard)?

More Related