1 / 49

Visibility Coverage Problems Joe Mitchell

Visibility Coverage Problems Joe Mitchell. (Some work joint work with Yoav Amit, Alon Efrat, and Eli Packer). Visibility Coverage Problems. Compute a small set of “ guards ” in a polygonal region P in order to cover (see) all of P

varen
Download Presentation

Visibility Coverage Problems Joe Mitchell

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. Visibility Coverage Problems Joe Mitchell (Some work joint work with Yoav Amit, Alon Efrat, and Eli Packer)

  2. Visibility Coverage Problems • Compute a small set of “guards” in a polygonal region P in order to cover (see) all of P • Compute short visibility coverage tours for polygons and for fields of sensors. Watchman route TSP with Neighborhoods Sensor field monitoring Parts Cutting Problem

  3. The TSPN Problem Find shortest tour to visit a set of neighborhoods P1,P2,…,Pn TSPN: Order not given vs. Touring an ordered sequence of polygons

  4. One Motivation: Parts Cutting Cutter starts here, cuts out boundary of part Red tour: “wasted” motion of cutter head (minimize) [M. Dror]

  5. Another Motivation: How to “See the Forest for the Trees” New result: Can apply also to yield PTAS for watchman route among fat obstacles Fat obstacles: Prove m-guillotine PTAS applies to geodesic metric NP-hard Forest Trees

  6. Require robot to get within distance R of a point p in order to see it Forest Assumptions Either: (1) limited view distance p

  7. Numerous other applications in PACKING, cosmology, origins of the universe. May help solve global warming…. Related to Polya’s Orchard Problem r Dark if tree radius > 1/r Forest Assumptions Or: (2) forest is dense enough (e.g., maximal packing) so that the visibility region from a point deep inside the forest is a fat (star-shaped) region. p Radius R = const Olber’s paradox [1826]

  8. Watchman Route Problems • Closely related to TSPN: visit VP(p), all p • Poly-time in simple polygons [CN,DELM] • NP-hard in polygons with holes • No approx algorithm known in general! • Rectilinear visibility: O(log n)-approx [MM’95] • NEW: For fat obstacles, PTAS to see at least one point on the boundary of each obstacle • 3D: Depends on 3D TSPN [ADDFM]

  9. TSPN Recent Result SODA’07 • TSPN has a PTAS for regions/neighborhoods that are “fat”, disjoint (or sufficiently disjoint) connected regions in the plane • Applies also to “MST with neighborhoods”, Steiner MSTN, and related problems arbitrarily overlapping

  10. Background on TSPN Generalizes 2D Euclidean TSP (thus, NP-hard) Introduced by [Arkin & Hassin, 1994] • “obvious” heuristics do not work: • TSP approx on centroids (as representative points) • Greedy algorithms (Prim- or Kruskal-like) • O(1)-approx, time O(n + k log k), for “nice” regions: • Parallel unit segments • Unit disks • Translates of a polygon P • Combination Lemma

  11. General Connected Regions O(log k)-approx [Mata & M, SoCG’95] Use guillotine rectangular subdivisions, DP (non – disjoint: regions may overlap) • O(n5) time [Mata & M, SoCG’95] • O(n2 log n) [Gudmundsson & Levcopoulos, 1999] k = # regions n = # vertices of all regions

  12. O(1)-Approximations • Unit disks, parallel unit segments, translates of P [Arkin & Hassin, 1993] • Connected regions of comparable size [Dumitrescu & M, SODA’01] • Disjoint fat regions of any size[de Berg, Gudmundsson, Katz, Levcopoulos, Overmars, van der Stappen, ESA’02] • Discrete point sets within disjoint, fat, non-convex regions [Elbassioni, Fishkin, Mustafa, Sitters, ICALP’05] • Non - disjoint, convex, fat, comparable size [Elbassioni, Fishkin, Sitters, ISAAC’06]

  13. PTAS: O(1+e)-Approximations • Disjoint (or nearly disjoint) fat regions of comparable size [Dumitrescu & M, SODA’01] • Point clusters within disjoint fat regions of comparable size in Rd [Feremans, Grigoriev, EWCG’05] Here: PTAS for disjoint (or nearly disjoint) fat regions of arbitrarysizes. Def: P is fat if area( P ) = W( diam2(P) ) Weaker notion than usual “fatness”

  14. Exact Poly-Time Solutions TSPN for a set of infinite lines in 2D: Is this the only nontrivial case exactly solvable in poly-time? Solved in O(n4 log n) time using Watchman Route solution [Dror, Efrat, Lubiw, M, STOC’03]

  15. Recipe for PTAS Structure Theorem Network with special recursive structure OPT increasing length by  (1+e) factor Use dynamic programming to compute shortest network with the required structure (connectivity, Eulerian subgraph, etc) Optimal network with special structure TSPN tour What should the special recursive structure be?

  16. Recall: m-Guillotine Structure Network edge set E is m-guillotine if it can be recursively partitioned by horiz/vertical cuts, each having small (O(m)) complexity wrt E Example: 3-guillotine

  17. Recall: m-Guillotine Structure Theorem Any set E of edges of length L can be made to be m-guillotine by adding length O(L/m) to E, for any positive integer m. Proof is based on a simple charging scheme. While this “scribble” may not be m-guillotine, it is “close” in that it can be made m-guillotine by adding only (1/m)th of its length

  18. Difficulty in Applying TSP Methods to TSPN Consider a subproblem (rectangle):

  19. New Structure • Build region-bridges in order to encode succinctly which regions are the “responsibility” of a subproblem • Cannot afford to build m-region-bridges for m = O(1/e), constant wrt n. • But can afford to build M-region-bridges, with M=O((1/e)log n) and this is “just right”, since the remaining M bridges that are not part of the bridge can be specified in the subproblem: 2M = 2O(log n) is poly(n) Uses aPACKINGargument

  20. Key Geometric Observation The sum of the perimeters of a set of n disjoint fat regions that are visited by a path of length L is at most O(L log n) Uses PACKING argument Ex: Bound is tight

  21. Subproblem: A Window into OPT Bridges m = 4 Region-Bridges M=3

  22. New New Approximation of 2D TSPN: Connected Regions Fat Regions non-Fat Regions Disjoint Disjoint O(1) PTAS Comparable sizes O(1) PTAS O(1) APX-hard Non-Disjoint Non-Disjoint Disjoint Disjoint PTAS O(log n) O(1) Arbitrary size PTAS? O(log n) O(log n) APX-hard Non-Disjoint Non-Disjoint Conjecture: PTAS for all Conjecture: O(1) for all

  23. The Art Gallery Problem Determine a small set of “guards” to see all of a given n-vertex polygon P NP-hard, even in simple polygon g(P) = min # guards Art Gallery Thm: guards suffice and are sometimes necessary Motivation: Sensor coverage, security SET COVER PROBLEM

  24. Our Contribution • Propose several heuristics for computing guards • Experimental analysis and comparison • Compute both upper bounds and lower bounds on • OPT, so we can bound how close to OPT we get • Conclude: heuristics work well in practice: • Either find OPT solution or close to optimal • Almost always 2-approx • (always for “random” polygons)

  25. Related Work Art Gallery Thm:guards suffice and are sometimes necessary • Combinatorics: Lots! • Approximation algorithms for discrete candidate sets (vertex guards, grid-point guards, etc): • O(log n)-approx: set cover (greedy) [G87] • O(log k)-approx: reweighting ([Cl,BG]) [EH03,GL01] • O(1)-approx in special cases: • 1.5D terrains [BKM05] • Monotone polygons [Ni05] • Exact poly-time solutions: • Rectangle visibility in rectilinear polygons [WK06] • Partitioning P into min # star-shaped pieces [Ke85] • Min-length watchman tour (mobile guard) [CN86] • Other recent experiments • Experiments with (exp-time) combinatorial algorithm for guarding the boundary of P [BL06]

  26. Greedy Heuristics • Two phases: • Generate a set of good candidate guard positions • Greedily select a subset of candidates that fully cover P • Algorithm design choices: • How to specify the set of candidates? • How to score candidates for greedy selection?

  27. Phase 1: Generating Candidates • Use set V(P) = vertices of polygon P • Centers C(P) of convex cells in an arrangement: • Edge extensions [ size O(n2) ] • Visibility extensions [ size O(n4) ] • V(P) [ C(P) (actually used points perturbed interior to P) (VG edges incident on at least 1 reflex vertex)

  28. Example Centers of cells in arrangement of edge extensions Visibility extensions for VG edge (u,v) u v

  29. Phase 2: Greedily Selecting Candidates • Set of candidates: W(P) • Greedily add “good” candidates g 2 W(P) until P is covered: Max m(g) g 2 W(P) • At end, iteratively remove redundant guards until set is minimal

  30. Heuristics Used in Experimentation • A1 : • A2 : • Variant: With each guard g chosen, add to • arrangement the visibility edges V(g) induced by g Candidates W(P) = V(P) [ C(P) Score m(g) = # unseen candidates Arrangement: Edge extensions Vertices and center points in arr Blue: added edges

  31. Heuristics Used in Experimentation A3 : A4 : A5 : A6 : A7 : A8 : A9 : A10 : A11 : A12 : Like A1but:Score m(g) = area newly seen Like A1but: m(g) weighted by cell area Like A4but:m(g) weighted by shared bd(P) Like A4but:m(g) weighted by % of shared bd(P) Like A1but:Candidates W(P) = V(P) Like A1but:Candidates W(P) = C(P) Like A1but:m(g) = # newly seen vertices Like A1but:m(g) = # newly seen cell centers Like A1but:Arrangement of visibility extensions Combination of A2and A11 (dynamically added edges, arr of visibility extensions)

  32. Method: A13 : Probabilistic Reweighting We also implemented an algorithm based on the Clarkson/Bronnimann-Goodrich framework: [EH03,GL01] Each candidate is assigned a weight : probability it is selected Initially: All weights = 1 Iteration: A candidate is selected at random If there is an unguarded point, q, then the weights of candidates that see q are doubled (improve chances q is guarded on future iterations) Continue until all points of P are guarded

  33. Lemma:g(P)  |I|, for any visibility-independent set I of points in P Lower Bounds on OPT g(P)  4 Obtain a PACKING of star-shaped polygons in P Other packings: Convex polyhedra inside nonconvex polyhedra

  34. Lower Bounds on OPT We greedily compute a visibility-independent set I: • Generate candidate set S (not vis-indep) • Add points p2S iteratively to I, minimizing # points of S seen by p, making sure that VP(p) is disjoint from VP(q), for q2I (We use CGAL arrangements to maintain VP’s and test vis-independence) • Remove from S points seen by p • Stop when S is empty

  35. Lower Bounds on OPT Most cases: p 2 bd(P) sees less Moving away from a convex vertex tends to see more Moving away from a reflex vertex tends to see less Heuristic: Candidates S are convex vertices and midpoints of edges of P joining two reflex vertices

  36. Experimental Setup • Windows XP, Pentium 4 (3.2GHz, 2.0GB) • Visual .Net compiler; openGL; CGAL • Randomly generated polygons: • RPG of Auer and Held, 50-200 vertices • Manually generated special polygons

  37. Robust computation of cells With exact arithmetic Possible error with floating-point Solution: push extensions

  38. Examples: n=100 A11 A1 A2

  39. Examples: n=100 A11 A1 A2

  40. More Examples A1 Spike box

  41. More Examples A1

  42. More Examples A1

  43. Comparison of Heuristics Results on 40 polygons: K - average excess = number of guards more than the min guard number over all heuristics M – average relative excess (relative to min) Q - number of times (out of 40) the guarding obtained with the heuristic was the best among all heuristics B - number of completed tests

  44. Comparison of Heuristics LB 2 2 4 11 2 2 5 8 3 2 2 7 5 1 5 4 5 4 11 12 13 9 13 14 14 13 11 12 1 1 2

  45. Comparison of Heuristics

  46. Number of Guards vs. Number of Vertices A1 A2 A11

  47. Number of Guards vs. Number of Vertices

  48. Early Termination: Partial Covering Total fraction of P covered as the number of guards varies from the lower bound, |I|, to the full coverage number of guards Most cases: 80% is covered using |I| guards

  49. Conclusion • Extensions: • Visibility constraints (view distance, good view angles, robust coverage) • Terrain coverage (2.5D) • 3D • Open: • Any approx algorithm (better than n/3-approx) for unrestricted guards • O(1)-approx for vertex/grid guarding simple polygons • Characterization of polygons for which our heuristics perform well (provably well)?

More Related