670 likes | 789 Views
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?
E N D
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? • Requirements of a labeling algorithm • Problems considered
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
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
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
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 }
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
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
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).
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.
Considered problems • P1: For each point piP, the corner specification is known. • P2: The corner specifications of the points in P are not known.
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.
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.
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.
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.
Definition 2 • An interval graph is the intersection graph of a family of intervals on a real line.
Lemma 1 • The label graph (intersection graph of a set of valid labels) is a chordal graph. (the converse is not true)
Lemma 2 • Any interval graph (IG) is a label graph (LG), but the converse is not true.
Proof of Lemma 2 • G is a interval graph if G is a triangulated graph and G is a comparability graph. __
Theorem 1 • IG LG CG
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.
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.
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.
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.
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.
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.
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.
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.
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
Lemma 4 • The vertices { y1 , … , yt} form a maximum independent set in LG.
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.
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.
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.
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.
Algorithm • Process the elements of the array L in order, ignore it if the flag bit is 1, or perform the following steps…
Algorithm • If I corresponds to the right boundary of a label, then insert I in T.
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.
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 .
Theorem 2 • Algorithm Max_Indep_Set computes a maximum independent set of the label graph LG in O(n logn) time.
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.
Theorem 3 • The worst case time complexity of the problem P1 is Ω(n logn).
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.
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.