1 / 67

Optimal algorithm for a special point-labeling problem

Optimal algorithm for a special point-labeling problem. Sasanka Roy, Partha P. Goswami, etc Information Processing Letters 89 (2004) 91-98. Outline. Introduction to the labeling problem Specific problem 1 Specific problem 2 Experimental results for problem 2. Introduction. Why labeling?

linus
Download Presentation

Optimal algorithm for a special point-labeling problem

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. Optimal algorithm for a special point-labeling problem Sasanka Roy, Partha P. Goswami, etc Information Processing Letters 89 (2004) 91-98

  2. Outline • Introduction to the labeling problem • Specific problem 1 • Specific problem 2 • Experimental results for problem 2

  3. Introduction • Why labeling? • Requirements of a labeling algorithm • Problems considered

  4. WHY ?

  5. Requirements • The label of a site should touch the site at its boundary • The labels of two sites must not overlap • The label of one site should not obscure the other sites on the map

  6. Problem considered • Label as many sites as possible where label size of each point is specified • Find the largest possible size of the label such that all the sites can be labeled in a non-overlapping manner

  7. Case description • P = { p1 , p2 , … , pn } • axis-parallel rectangle ri with constant height and variable width • πi : marked positions on the boundary of ri, pi must appear on one of them

  8. Case description • R = { ri1 , ri2 , … , rik } ( i1 ≠ i2 ≠ … ≠ ik ) such that the members in R are mutually non-overlapping (show) • rij is represented by a tuple { (pij,α)|pijP, απij and rij is placed with pij at the position α on its boundary }

  9. Case description • The label placement problem is to maximize k , i.e., to find the largest feasible configuration. • Choices of πi : • the end point of the left edge of ri • the four corners of ri • The four corners and the center points of four edges

  10. Previous research • O(logn)-approximation algorithm in O(nlogn) time • If the labels are of the same height, a DP approach produces a (1+1/k)-approximation result in O(nlogn+n2k-1) time

  11. Previous research • In [13](2001) produces near-optimal solution, but its worst case running time is O(n2) • Then we identify a special type of point set labeling problem whose worst case time complexity is O(nlogn).

  12. Our model • axis-parallel rectangles of a constant height (h) but of variable width. • The width (wi) of the label of a point piis pre-specified. The point piappears either on the top-left or the bottom-left corner of its label. • A label is said to be valid if it does not contain any other point(s) of P.

  13. Considered problems • P1: For each point piP, the corner specification is known. • P2: The corner specifications of the points in P are not known.

  14. Problem 1 • P = { p1 , p2 , … , pn } in the plane, each pi associated with a labelri . • Heights are the same, widths may vary. • Specified point pi at either top-left or bottom-left corner. • ri is valid if it does not contain any point pj P (j ≠i) in its interior.

  15. Problem 1 • Construct a label graphLG=(V,E) • Vertices correspond to the set of valid labels of the points in P. • A pair of nodes vi, vj are adjacent if their corresponding labels have a non-empty intersection.

  16. Problem 1 • To find the largest subset P’ P such that valid labels corresponding to the members of P’ are mutually non-overlapping. • Finding a maximum independent set of the graph LG.

  17. Definition 1 • An undirected graph is a chordal graph if and only if every cycle of length greater than or equal to 4 possesses a chord.

  18. Definition 2 • An interval graph is the intersection graph of a family of intervals on a real line.

  19. Lemma 1 • The label graph (intersection graph of a set of valid labels) is a chordal graph. (the converse is not true)

  20. Proof of Lemma 1

  21. Proof of Lemma 1

  22. Lemma 2 • Any interval graph (IG) is a label graph (LG), but the converse is not true.

  23. Proof of Lemma 2

  24. Proof of Lemma 2 • G is a interval graph if G is a triangulated graph and G is a comparability graph. __

  25. Theorem 1 • IG LG CG

  26. Algorithm • For each label, we check its validity by searching in 2D tree with the set of points in P. This step requires O(nlogn) time in total for all the labels. • Then we find R = { r1 , r2 , … , rN } (N≦n) be a set of valid labels placed one the plane.

  27. Algorithm • The traditional line sweep technique may be used to construct the label graph LG in O(nlogn + |E| ) time. • To find a maximum independent set of LG, denoted by MIS.

  28. Definition 3 • A vertex v of a graph LG is a simplicial vertex if v and its adjacency set Adj(v) induces a complete subgraph of LG.

  29. Definition 4 • Let σ = { v1 , v2 , … , vn } be an ordering of vertices of LG. We say that σ is a perfect elimination order (PEO) if each vi is a simplicial vertex of the induced subgraph with the set of vertices { vi, vi+1 , … , vn }. In other words, each set Xi = {vj Adj(vi) | j >i } is a clique.

  30. Lemma 3 • If Ris a set of valid labels then the sorted order of the left boundaries of the members of R from the right to the left, gives a PEOof the graph LG.

  31. Proof of Lemma 3 • L={λ1, λ2, …, λN} is the left boundaries of the labels in R, and let L* denote the sorted sequence of the members in L in a right-to-left order.

  32. Proof of Lemma 3 • Consider the left boundary λi of a label ri . Let R’ be a subset of R such that the left boundaries of all the members in R’ appear after λi in L*, and all of them intersect ri . • Then to prove that R’∪{ri } forms a clique.

  33. Proof of Lemma 3 • ∵the placement of each r R’ is valid ∴either all the members of R’ contain the top-left corner or all of them contain bottom-left corner of ri . • ∴all the members in R’∪{ri } have a common region of intersection.

  34. Proof of Lemma 3

  35. about PEO • Let σ be a PEO of LG. • Define y1,…, yt in following manner: y1 = σ(1); yi is the first vertex in σ which follows yi-1 , and which is not in Xy1∪Xy2 ∪…∪Xyi-1, where Xv={x Adj(v)| σ -1(v) < σ -1(x) } • All the vertices following yt are in Xy1∪Xy2 ∪…∪Xyt • V = {y1,…,yt } ∪ Xy1∪Xy2 ∪…∪Xyt

  36. Lemma 4 • The vertices { y1 , … , yt} form a maximum independent set in LG.

  37. Proof of Lemma 4 • If yjyiE for j <i, then yi Xyj, which cannot be, ∴ { y1 , … , yt } is stable. Thus α(G) ≧ t. • Yi={yi }∪Xyi is a clique, and so {Y1,…,Yt } is a clique cover of G. Thus α(G)=k(G)=t, and we have produced the desired maximum stable set and minimum clique cover.

  38. Complexity • Time complexity: O(|V|+|E|) • If the placement of the labels corresponding to the vertices of LG is available in the plane, then a MIS of LG can be determined in a faster way by simply sweeping the plane with a vertical line from right to left.

  39. Data structure • array L: the line segments corresponding to the left and the right boundaries of all the valid labels riR in decreasing order of their x-coordinates. • flag: initialized to 0. set to 1 if it is selected as a member of MIS or if its corresponding label overlaps on the label of an existing element in MIS.

  40. Data structure • interval tree T : the y-coordinates of the top and bottom boundaries of the labels in R. It stores the vertical intervals of those labels that the sweep-line currently intersects, and does not overlap with any of the existing members in MIS.

  41. Algorithm • Process the elements of the array L in order, ignore it if the flag bit is 1, or perform the following steps…

  42. Algorithm • If I corresponds to the right boundary of a label, then insert I in T.

  43. Algorithm • If I corresponds to the right boundary of a label, then insert I in T. • If I corresponds to the left boundary of a label, then insert the label r (corresponding to I) in MIS. Next, search T to find the set Xr={J|JT and the label corresponding to J overlaps with that of I }. The flag bit of the left boundary element of each member of Xr is set to 1.

  44. Algorithm • If I corresponds to the right boundary of a label, then insert I in T. • If I corresponds to the left boundary of a label, then insert the label r (corresponding to I) in MIS. Next, search T to find the set Xr={J|JT and the label corresponding to J overlaps with that of I }. The flag bit of the left boundary element of each member of Xr is set to 1. • Next, remove all the intervals in I∪Xr from the interval tree T .

  45. Theorem 2 • Algorithm Max_Indep_Set computes a maximum independent set of the label graph LG in O(n logn) time.

  46. Proof of Theorem 2 • The PEO of the graph LG is obtained from the right to left sweep on the plane (Lemma 3). • When a label is selected as a member in the MIS, its adjacent labels are discarded by setting 1 in their flag bit. By Lemma 4, the correctness follows.

  47. Theorem 3 • The worst case time complexity of the problem P1 is Ω(n logn).

  48. Proof of Theorem 3 • An interval graph is a label graph. • Time complexity of finding a MIS of an interval graph is Ω(n logn)[4]. • If an algorithm exists which can compute a MIS of a label graph is less than Ω(n logn) time, then it can be used for finding a MIS of an interval graph, which is impossible.

  49. Here comes the problem 2…

  50. Problem 2 • The corner specification of the label ri is not known in advance. • A point pi may not have any valid label, or it may have one or two valid labels. • If a point pi has two valid labels, say ri and ri’, they must have an edge in the label graph LG.

More Related