1 / 63

Translational Polygon Covering using Intersection Graphs

Translational Polygon Covering using Intersection Graphs. Prof. Karen Daniels Rajasekhar Inkulu 13 August, 2001. Dynamic Covering Motivation. sensor coverage clustering shape recognition channel assignment production allocation

dutch
Download Presentation

Translational Polygon Covering using 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. Translational Polygon Coveringusing Intersection Graphs Prof. Karen Daniels Rajasekhar Inkulu 13 August, 2001

  2. Dynamic Covering Motivation sensor coverage clustering shape recognition channel assignment production allocation facility location layout

  3. P2 P2 P1 Q3 P1 Q2 Q2 Q1 Translated Q Covers P Sample P and Q Q1 Q3 Translational 2D Polygon Covering • Input: • Covering polygons Q = {Q1, Q2 , ... , Qm} • Target polygons (or point-sets) P = {P1, P2 , ... , Pn} • Output: a solution • Translations g = {g1, g2 , ... , gm} such that

  4. Overview • Background • NP-Completeness • Incrementally Constrained Algorithm • Intersection Graph Heuristics • Implementation and Results • Summary & Future Work

  5. BACKGROUND

  6. covering geometric covering non-geometric covering VERTEX-COVER, SET-COVER, EDGE-COVER, VLSI logic minimization, facility location 2D translational covering P: finite point sets P: shapes covering Q: identical Q: nonconvex Q: convex decomposition: . . . . . . . . . . . . . 1D interval covered by annuli • Thin coverings of the plane with congruent convex shapes • Translational covering of a convex set by a sequence of convex shapes BOX-COVER partition: Decomposition with covering • NP-hard/complete polygon problems • polynomial-time results for restricted orthogonal polygon covering and horizontally convex polygons • approximation algorithms for boundary, corner covers of orthogonal polygons Polynomial-time algorithms for triangulation and some tilings COVERINGPROBLEMS

  7. Minkowski Sum[Mink03] of two point sets P and Q is p4 p5+q4 p5 p3 p2 p1 p3+q3 q3 q4 q2 p2+q1 q1 Minkowski Sum p+q p q

  8. If is a vector representing a translation applied to Q and –Q is a rotation of Q by p then, if and only if t p t q Q Q Q Minkowski Sum and Translational Intersection P-Q t -Q P

  9. if and only if P Q B A Minkowski Sum and Containment • If is a translation of Q with respect to P and –Q is a rotation of Q by p then,

  10. NP-COMPLETENESS

  11. Belongs to NP: Given the problem instance and the solution, one can verify solution correctness in polynomial time General instance specialized to [Fowler81]’s box-cover . . . . . . . . . . . . . . . . . . . . P P Q1 Q4 Q1 Q4 Q2 Q3 Q2 Q3 P Q1 Q3 . . . Q1 P Q3 Q2 Q2 NP-Completeness • Theorem: 2D translational polygon covering is NP-Complete. • Øeither P is a collection of point sets • Øor P is a collection of polygons Proof: NP-Hard Proof:

  12. INCREMENTALLY CONSTRAINED ALGORITHM

  13. Q”3 7 3 10 5 Q’3 11 4 9 3 8 6 5 6 4 2 2 Q’2 Q’2 Q1 1 7 1 • Q covers Pusing: • 4 convex pieces of Q • 11 points of P • 16 assignments/ constraints: • Q1 must cover points 1,2,3,4,5 of P • Q’2 must cover points 2,6,7,8 of P • Q’3 must cover points 5,4,9,10 of P • Q’’3 must cover points 4,10,11 of P P Q1 Assignment View of Covering • Q covers Pusing: • 2 convex pieces of Q • 7 points of P • 8 assignments/ constraints: • Q1 must cover points 1,5,6,7 of P • Q’2 must cover points 2,3,4,7 of P

  14. Convexity Q2 {2} {2} 4 {2} {2} 5 covered by Q2 3 {1, 2} {1, 2} covered by Q2 P {2} {2} 6 2 potentially uncovered P covered by Q1 covered by Q1 {1} Q1 {1} 1 {1} 1 {1, 2} Impact of Q Convexity Adding a Constraint

  15. 4 {2} {2} 5 {1, 2} 3 {2} covered by Q2 6 covered by Q1 {1} 2 P {1, 2} 1 • Convexity Lemma: If Qj is convex and if f is a partial covering assignment, then • Proof: The assignment fis a partial covering assignment; this implies that gj is a translation of Qj such that the points of f-1(Qj) are covered by gj (Qj ). Translate Qj by gj. Now, since Qj is convex, for every subset of points inside Qj the convex hull of those points is also inside Qj. From this the lemma follows immediately. Convexity Lemma • Covering Assignment: Given two collections of polygons Q = {Q1, Q2 , ... ,Qm } • and P = {P1, P2 , ... ,Pn }, let Y be the set of all points in P. Then an assignmentf • is a mapping: • and a covering assignment is an assignment of Y to Q such that: • Partial assignment and partial covering assignment are • defined similarly using a subset of Y in the definition • above.

  16. 4 {2} 4 {2} {2} 5 Covered by Q2 {2} 5 {1, 2} 3 {1, 2} 3 covered by Q2 Covered by Q2 {2} 6 {2} 6 covered by Q1 covered by Q1 2 {1} 2 {1} potentially uncovered covered by Q1 1 {1} 1 {1,2} Incremental/Constrained Approach • Assignment Extension: Let f1 and f2 be partial assignments whose subsets of Y are Y1 and Y2, respectively. f1 is a sub assignment of f2 and f2 is an extension of f1 if and only if: If and or and then f2 is a single extension of f1 . An extension either expands the subset of P used in an assignment or expands a subset of Q used in an assignment.

  17. 4 {2} Covered by Q2 {2} 5 {1, 2} 3 {2} 6 covered by Q1 2 {1} potentially uncovered 1 {1} 4 {2} 4 {2} {2} 5 Covered by Q2 {2} 5 {1, 2} 3 {1, 2} 3 covered by Q2 Covered by Q2 {2} 6 {2} 6 4 {2} covered by Q1 covered by Q1 2 {1} 2 {1} potentially uncovered covered by Q1 {2} 5 3 {1, 2} covered by Q2 {2} 6 2 {1} covered by Q1 1 {1} 1 {1,2} 7 {1, 2} 1 {1} Explicit Assignment Extension and Subdivision

  18. 4 {1,3} . . . . . . . 5 {1,3} 3 {1} {1} {1} 2 {1,5} 1 {1,4} Implicit Assignment Extension • Follows from convexity lemma

  19. Q”3 7 10 11 4 9 Q’3 3 8 5 6 Q’2 2 Q1 1 • Q covers P1 using following constraints: • 4 convex pieces of Q • 11 points of P • 16 constraints: • Q1 must cover points 1,2,3,4,5 of P • Q’2 must cover points 2,6,7,8 of P • Q’3 must cover points 5,4,9,10 of P • Q’’3 must cover points 4,10,11 of P P1 3 5 6 4 2 Q1 Q’2 7 1 • Q covers P1 using following constraints: • 2 convex pieces of Q • 7 points of P • 8 constraints: • Q1 must cover points 1,5,6,7 of P • Q’2 must cover points 2,3,4,7 of P Constraints Selection

  20. 6 {1} 5 {2} P Q1 Q2 1 {1} 4 {2} {1,2} 2 {2} 3 {1} {1,2} Vertex assignment inheritance • Follows from convexity lemma

  21. Pseudocode and Analysis FIND_COVER() for each candidate vertex assignment c if c with current constraints is feasible if obtained a cover select a feasible placement of Q polygons and return else inherit vertex assignments find all uncovered regions Ui in P if any Ui is below area tolerance remove c from candidate vertex assignment list else for each Ui select two vertices v1 and v2 of Ui whose vertex covers differ subdivide the edge joining v1 and v2 by introducing new vertex v for all possible vertex assignments of v FIND_COVER() • The worst case upper bound on the running time for finite Y is O((2m-1)N (MN)2 log MN) ) • The worst case upper bound on the running time for polygonal Y is O((2m-1) N(2-) (MN)2 log MN) ) where m: number of Qs M: total number of vertices in Q N: number of points used from P : area tolerance

  22. Q1 P Q3 Q2 CH(P) Q3 Q1 P Q2 Non-convex polygons Non-convex Qs: • Qs are decomposed into convex pieces Non-convex Ps: • Avoid infeasible vertex assignments by not decomposing P into convex pieces

  23. INTERSECTION GRAPH HEURISTICS

  24. Q3 {1} P Q1 {1,3} {3} {1,2,3} {1,2} {2,3} {2} Q2 • Observations used in generating assignments corresponding to intersection graphs: • ØIf S1 and S2 are intersection sets for two adjacent nodes in a connected component of an intersection graph, then • Ø If an intersection graph does not contain an intersection set = {Qj} for some , then removing Qj from each intersection set in which it appears yields an intersection graph with the same Z. If • for each Sk, then replacing each Sk with {Qj} yields an intersection graph with the same Z. Intersection Graph based Heuristics • An intersection graphon P, Q, and g is an undirected graph that contains one node • for each region of R and an edge connecting each pair of nodes whose regions share • an edge (this definition is used by [Fowler’81]) • Every cover has an intersection graph. • Each region, represented by a node in • the intersection graph, is covered by • some subset of Qs, which is the • intersection set for that region.

  25. 7 7 8 6 8 6 9 9 5 5 10 10 4 4 P P 11 11 3 3 12 2 12 2 13 1 13 1 7 8 6 7 8 6 9 5 9 5 P P 10 10 4 4 11 3 11 3 12 2 13 1 12 2 13 1 Linear Intersection Graphs • An acyclic, connected component of an intersection graph is a linear component if • and only if the maximum degree of any node is 2. An intersection graph consisting • only of linear components is a linearintersection graph.

  26. 7 {3} 8 {1} 6 {1} 9 {3} 5 {3} 10 {2} 4 {2} 11 {2} P 3 {2} G’ 12 {3} 2 {1} 13 {3} 1 {1} Star Intersection Graphs • A star intersection graph G is an intersection graph in which each • single degree node is connected to the same subgraph G’ of G.

  27. IMPLEMENTATION AND RESULTS

  28. Current Implementation • Approximate Algorithm • Linear and Star intersection graphs topologies are used as heuristics • Polygonal P • CH(P) and CH(Q)s are used • C++ • CGAL & LEDA libraries • Rational kernel of LEDA library is used to avoid numerical • round off errors

  29. Experiment: • Explore assignment space at various intervals simultaneously using a parallel algorithm. • Performance improvement comes due to the fact that the independent program instances • are working in different areas of the assignment space. • This is equivalent to interval based assignment space exploration in sequential algorithm, • where interval is equal to the number of program instances in parallel algorithm. 1,2,3,….,x,x+1,x+2,…,2x,2x+1,2x+2… Observation: Randomly generate interval and use it in determining in what order to explore the lexicographic assignment space in sequential algorithm. Simultaneous Assignment Space Exploration Experiment

  30. Index # of Qjs # of vertices of P Convexity of P # of vertices of CH(P) # of assignments tried # of new points added Cover exists? 1 1 6 cvx 6 1 0 no Area tolerance: 0.01 2 1 6 cvx 6 1 0 yes 3 2 5 cvx 5 107 1 yes 4 2 5 cvx 5 729 0 no 5 2 6 cvx 6 349 0 yes 6 2 6 cvx 6 497 9 yes 7 2 7 non-cvx 6 1334 0 yes 8 2 12 non-cvx 4 238 2 yes 9 2 5 cvx 5 174 0 yes Table 1 10 2 5 cvx 5 140 6 yes 11 2 6 cvx 6 349 0 yes 12 3 6 cvx 6 33714 5 yes Results using brute-force technique

  31. Index m N P convexity # of Assignments with heuristics # of Assignments without heuristics Cover exists? 1 1 6 cvx 1+1+ 1 no Area tolerance: 0.01 2 1 6 cvx 1 1 yes 3 2 6 cvx 60+65 728 yes 4 2 5 cvx 60+82+ 729 no 5 2 5 cvx 11 174 yes 6 2 6 cvx 40+118+ 497 yes 7 2 7 non-cvx 30 1334 yes 8 2 12 non-cvx 17+55 238 yes 9 2 5 cvx 40+60+ 140 yes Table 2 Note: In the X+Y+ notation, X is the number of assignments explored using linear intersection graphs. Y is the number of assignments explored using star intersection graphs. A second ‘+’ indicates that no cover was found using the heuristics. 10 4 6 cvx 24 - yes 11 2 6 cvx 3 349 yes 12 3 6 cvx 107 33714 yes 13 6 12 cvx 15197 - yes Intersection Graphs vs. Brute Force Technique

  32. Represents Table 1 or 2 – Row No. 2 Represents Table 1 or 2 – Row No. 6 Results

  33. Represents Table 1 or 2 – Row No. 11 Represents Table 1 or 2 – Row No. 8 Results (cont)

  34. Represents Table 1 or 2 – Row No. 12 Represents Table 2 – Row No. 13 Results (cont)

  35. Results using multi-threading on NT AreaToleranceRatio: 0.01; System Info: NT Pentium II 266MHz/128MB RAM system ; ApproachUsed: BruteForceTechnique; NumberOfThreads: 5

  36. Results using multi-processing on Solaris AreaToleranceRatio: 0.01; System Info: SunOS – dual processor system; ApproachUsed: BruteForceTechnique; NumberOfProcesses: 5

  37. SUMMARY & FUTURE WORK

  38. Summary • Proved that 2D translational polygonal covering is NP-complete • Presented an algorithm for 2D translational cvx/noncvx polygonal • covering • Explored assignment space using intersection graphs based • heuristics as preprocessing technique • Presented Future Work - Exploring some more preprocessing techniques • - Covering using Linear Programming • - Incremental Qs placement • - Mathematical programming model • - Finding clustering specific covering algorithms

  39. Future Work • Exploring assignment space using more intersection graph topologies • Applying linear programming techniques to minimize the overlap among Qs • so that Qs can cover maximum possible area of P • Incremental Qs placement such that every Q’s degrees of freedom is completely • removed while placing it on P • Using APSP of dual graph to tessellated P polygon as preprocessing technique in • determining whether a cover can exist or not • Mathematical programming model for translational covering problem • Finding more about approximation algorithm in the context of approximate • algorithm and applying the same to our algorithm • Using generating functions in answering cover exists or not decision problem • Finding some specific covering algorithms for clustering problems in • visualizations • Finding rotational covering algorithms • Finding covering algorithms in higher dimensions (??)

  40. For More Information… Daniels, K.M., Inkulu, R., “An Incremental Algorithm for Translational Polygon Covering” Technical Report 2001-001, Dept. of Computer Science, University of Massachusetts Lowell, April, 2001 http:// www.cs.uml.edu/~kdaniels

  41. BACKUP SLIDES

  42. ... static instancei static instance1 static instance0 Proposed Research: Objective • Practical solutions to dynamichard corecovering problems • dynamic instance = sequence of static instances • hard: even static problem is computationally intractable • core : useful in multiple applications • covering ~ assignment ~ allocation • Practical : solve static instancei quickly if it is “easy” • combinatorially “small” or • clearly infeasible (for decision problem) or • clearly feasible (for decision problem) or • a “small” change from instancei-1 Geometric or Combinatorial Feasibility or Optimization

  43. State-of-the-Art: Dynamic Algorithms & Data Structures • Polynomial-time problems: • Data structures supporting fast updates • Self-adjusting (e.g. splay trees) [Sleator, CMU] • Kinetic Data Structures [Guibas, Stanford] • Hard problems: • Polynomial-time approximation schemes for optimization problems : “Greedy” can be sensitive to small changes [Gao, et al.] • Meta-heuristics: no theoretical guarantee • Practical algorithms for small and/or easy instances: • Containment decision problem: [Daniels, Milenkovic] • successful building block for layout problems • leverages strong combinatorial optimization techniques • Distributed heuristics • Primarily for dynamic network routing or channel assignment • [Wu et al.] connected dominating sets for network routing • no theoretical guarantee; some empirical support • Randomized, distributed: • [Gao, et al.] discrete mobile centers (clustering) • theoretical framework; assumes knowledge of change trajectories static

  44. Proposed Research: General Algorithmic Approach • A solution is stable if a “small” change in the instance causes a “small” change in the solution. • For a dynamic covering problem: • Characterize expected types of input changes • Identify type(s) of changes to focus on • Define stability with respect to these types of changes • Develop a stability measure • Identify solution search space patterns • Group together solutions whose static instances are “similar” • Construct a combinatorially small description of a group • Develop strong: • Global search techniques for quickly finding group • Group-focused pruning techniques • Local search techniques to move to nearby solution

  45. Proposed Research Example 1: Translational 2D Covering [continued] • Focus of input changes: positions of points of P • Stability: • Covering ~ assignment • Solution is “stable” if same assignment corresponds to multiple “similar” instances • “Similar”: geometric distance between new and old P • Combinatorially small description of a group • “Size” of assignment = number of “constraints” • For a small number of “stable” points of P • Preliminary work uses convex hull of P • Global search: • Convexity covering property to establish global feasibility from local feasibility • Intersection graph heuristics to guide search • Pruning: • Superset of any infeasible assignment is infeasible

  46. Design Analyze PhD research Core Geometric & Combinatorial Algorithms Application-Based Algorithms Undergraduate & Masters research Apply Research Environment: Algorithms Lab Manufacturing Data Mining & Visualization Telecommunications

  47. Distance-Based Subdivision Maximum Rectangle Geometric Restriction Ordered Containment Limited Gaps Containment Minimal Enclosure Core Algorithms Maximal Cover Application-Based Algorithms Lattice Packing Two-Phase Layout Column-Based Layout Survey of My Previous Computational Geometry ResearchSupporting Manufacturing Applications

  48. Bibliography Literature Surveyed to make sure this work had not been done already: ·[Keil86] Keil, M. “Minimally covering a horizontally convex orthogonal polygon.” In Proceedings of the 2nd Annual ACM Symposium on Computational Geometry, p. 43-51, Yorktown Heights, New York, June, 1986. ·[Motwani90] Motwani, R., Raghunathan, A. and Saran, H. “Covering Orthogonal Polygons with Star Polygons: The Perfect Graph Approach.” Journal of Computer and System Sciences, vol. 40, p. 19-48, 1990. ·[Reckhow87] Reckhow. R. and Culberson, J. “Covering a Simple Orthogonal Polygon with a Minimum Number of Orthogonally Covex Polygons”, Proceedings of the 3rd ACM Symposium on Computational Geometry p. 268-277, 1987. ·[Sampath92] Sampath Kannan and Danny Soroker. “Tiling Polygons with Parallelograms.” Discrete & Computational Geometry, 7:175-188, 1992. ·[Berman92] Berman, P. And DasGupta, B. “Approximating the Rectilinear Polygon Cover Problems (Extended Abstract),” In Proceedings of the 4th Canadian Conference on Computational Geometry, Newfoundland, August, 1992. ·[Hochbaum87] Hochbaum, D. and Maass, Wolfgang. “Fast Approximation Algorithms for Nonconvex Covering Problem.” Journal of Algorithms, vol. 8, p. 305-323, 1987.

  49. Bibliography (cont) Literature surveyed to obtain basic tools to solve the problem: ·[Culberson88] Culberson, J. and Reckhow, R. Covering Polygons is Hard. In Proceedings of 29th IEEE Conference on Foundations of Computer Science, 1988. ·   [Coudert95] Coudert, O., Madre, J. “New Ideas for Solving Covering Problems.” In Proceedings of 32nd ACM/IEE Design Automation Conference, 1995. ·  [Chazelle83]  B.Chazelle, The polygon containment problem. In Preparata, editor, Advances in computing research, vol. 1: Computational Geometry, pages 1-33, JAI press, Inc., Greenwich, Connecticut, 1983. ·  [Avnaim87] F.Avnaim and J.Boissonnat Simultaneous containment of several polygons. In Proceedings of the 3rd ACM symposium on Computational Geometry, pages: 242-250, 1987. ·  [Daniels97] Daniels, K.M., and Milenkovic, V.J., Multiple Translational Containment. Part I: An Approximate Algorithm. In Algorithmica special issue on Computational Geometry in Manufacturing, vol. 19, 1997, p. 148-182. ·  [Toth97]  Toth, G. F. “Packing and Covering.” In Handbook of Discrete and Computational Geometry, Goodman, J. and O’Rourke, J. (editors). CRC Press, New York, 1997. ·  [Schattschneider97] Schattschneider, D. And Senechal, M. “Tilings.” In Handbook of Discrete and Computational Geometry, Goodman, J. and O’Rourke, J. (editors). CRC Press, New York, 1997. ·  [Grunbaum89] Grunbaum B., Shephard, G. Tilings and Patterns: An Introduction. W.H. Freeman and Company, New York, 1989. ·   [Fowler81] Fowler, R., Paterson, M., and Tanimoto, L., “Optimal Packing and Covering in the Plane are NP-Complete”, Information Processing Letters, 12(3):133-137, June, 1981. ·   [Li94] Li, Z. Compaction Algorithms for Nonconvex Polygons and Their Applications. PhD thesis, Harvard University Division of Applied Sciences, 1994. ·   [Mink03] Minkowski, H. “Volumen und Oberflache.” Mathematische Annalen, 57:447-495, 1903. ·   [Milenkovic99] Milenkovic, V.J. and Daniels, K.M., Translational Polygon Containment and Minimal Enclosure using Mathematical Programming. International Transactions in Operational Research special issue with papers from IFORS '96, 6:525-554, 1999.

  50. Applications • Clustering problems in visualizations • Finding clusters in publish/subscribe middleware • Dynamic channel assignment in mobile communications • Query optimization in spatial databases • Layout and packing problems in manufacturing

More Related