Title: Translational Polygon Covering using Intersection Graphs
1Translational Polygon Coveringusing Intersection
Graphs
- Prof. Karen Daniels
- Rajasekhar Inkulu
- 13 August, 2001
2Dynamic Covering Motivation
- sensor coverage
- clustering
- shape recognition
- channel
- assignment
- production allocation
- facility location
- layout
3Translational 2D Polygon Covering
- Input
- Covering polygons Q Q1, Q2 , ... , Qm
- Target polygons (or point-sets) P P1, P2 , ...
, Pn - Output a solution
- Translations g g 1, g 2 , ... , g m such that
4Overview
- Background
- NP-Completeness
- Incrementally Constrained Algorithm
- Intersection Graph Heuristics
- Implementation and Results
- Summary Future Work
5BACKGROUND
6COVERINGPROBLEMS
7Minkowski Sum
pq
p
q
8Minkowski Sum and Translational Intersection
P?-Q
t
-Q
P
9Minkowski Sum and Containment
- If is a translation of Q with respect
to P and Q is a rotation of Q by p then,
10NP-COMPLETENESS
11NP-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
12INCREMENTALLY CONSTRAINED ALGORITHM
13Assignment View of Covering
- Q covers P using
- 2 convex pieces of Q
- 7 points of P
- 8 assignments/ constraints
- Q1 must cover points 1,5,6,7 of P
- Q2 must cover points 2,3,4,7 of P
14Convexity
Q2
2
2
4
2
2
5
covered by Q2
3
1, 2
1, 2
covered by Q2
P
2
6
2
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
15Convexity 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 assignment f - 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.
16Incremental/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.
17Explicit Assignment Extension and Subdivision
18Implicit Assignment Extension
- Follows from convexity lemma
19Constraints Selection
20Vertex assignment inheritance
- Follows from convexity lemma
21Pseudocode 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
22Non-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
23INTERSECTION GRAPH HEURISTICS
24Intersection Graph based Heuristics
- An intersection graph on 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
Fowler81)
- 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.
25Linear 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 linear
intersection graph.
26Star 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.
27IMPLEMENTATION AND RESULTS
28Current 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
29Simultaneous Assignment Space Exploration
Experiment
30Results using brute-force technique
31 Intersection Graphs vs. Brute Force Technique
Â
32Results
33Results (cont)
34Results (cont)
35Results using multi-threading on NT
AreaToleranceRatio 0.01 System Info NT
Pentium II 266MHz/128MB RAM system
ApproachUsed BruteForceTechnique
NumberOfThreads 5
Q Is cover exists? Is P convex? Assignments tried in thread0 Assignments tried in thread1 Assignments tried in thread2 Assignments tried in thread3 Assignments tried in thread4 Total assignments tried using multiple threads Total assignments tried using one thread Time in multiple threads implementation (in sec) Time in one thread implementation (in sec)
2 no yes 145 146 146 160 159 757 757 125 87
2 no no 145 146 146 146 195 779 779 137 95
2 yes no 28 17 29 30 12 117 108 23 14
2 yes yes 23 24 27 28 25 128 220 21 23
2 yes yes 48 49 42 49 43 232 140 33 15
2 yes yes 12 14 12 9 6 54 155 9 16
2 yes yes 139 135 101 130 132 638 405 94 12
3 yes yes 28 29 25 24 24 131 317 31 49
3 yes yes 1218 1202 1088 1088 1281 5878 25626 860 2634
36Results using multi-processing on Solaris
AreaToleranceRatio 0.01 System Info SunOS
dual processor system ApproachUsed
BruteForceTechnique NumberOfProcesses 5
Q Is cover exists? Is P convex? Assignments tried in process0 Assignments tried in process1 Assignments tried in process2 Assignments tried in process3 Assignments tried in process4 Total assignments tried using multiple processes Total assignments tried using one process Time in multiple processes implementation (in sec) Time in one process implementation (in sec)
2 no yes 145 146 146 146 145 729 729 15 30
2 no no 145 146 146 146 195 779 779 19 36
2 yes no 22 18 21 35 11 108 108 3 5
2 yes yes 42 29 32 28 25 157 220 3 9
2 yes yes 48 49 42 45 41 226 140 4 5
2 yes yes 17 21 23 9 6 77 155 1 6
2 yes yes 145 71 101 60 73 451 405 9 16
2 yes yes 35 31 25 21 24 136 317 5 19
3 yes yes 1125 1202 1149 1111 1195 5783 25626 111 946
3 yes yes 1220 1257 1147 1402 1146 6172 37442 132 1012
37SUMMARY FUTURE WORK
38Summary
- 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
39Future 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 Qs
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 (??)
40For 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
41BACKUP SLIDES
42Proposed Research Objective
- Practical solutions to dynamic hard core covering
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
43State-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
44Proposed 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
45Proposed 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
46Research Environment Algorithms Lab
Manufacturing
Data Mining Visualization
Telecommunications
47Survey of My Previous Computational Geometry
ResearchSupporting Manufacturing Applications
48Bibliography
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, 7175-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.
49Bibliography (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 ORourke, J. (editors). CRC Press, New York,
1997. Â Schattschneider97 Schattschneider, D.
And Senechal, M. Tilings. In Handbook of
Discrete and Computational Geometry, Goodman, J.
and ORourke, 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,
57447-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, 6525-554, 1999.
50Applications
- 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
51Minkowski Sum degenerate case
- This is needed to deal with degenerate case
which arises when - P is a line i.e., degenerate polygon.
52 Finding Maximum ?
Objective Given a 2D convex polygon Q and a
slope m, find a line L of the form ymxb that
maximizes ?
- Known as a stabbing problem in
- the computational geometry literature.
53Finding Maximum ? (cont)
- Lemma1 Maximum ? of a convex polygon occurs
only at its vertices. - Lemma2 The length subtended by line L whose
slope is zero and passing - through vertex (a,b) of a
given polygon Q is (b-c-ma)/m, where - ymxc is an edge of polygon
which intersects L at the other end.
54Finding Maximum ? (cont)
- Lemma3 ? is unimodal across the convex
polygon.
- Corollary The geometric binary search can be
used to find maximum ?? - among ?s at vertices of Q
- Theorem Finding Maximum ? can be solved with
O(n) preprocessing time (for - rotational transform of
coordinate axes) and O(lg n) query time.
55Exploring assignment space using more
intersection graph topologies
- Generating random triangulations of randomly
generated polygons and observe their - intersection graph topologies
Example
- Hub and spokes intersection graph
- We constrain each Qi such that it intersects
other Qs and P as needed - by the given intersection graph using
translational geometric restriction - technique Daniels97.
56Applying linear programming techniques to
minimize overlap among Qs so that Qs can cover
maximum possible area of P
57Incremental Qs placement such that every Qs
degrees of freedom is completely removed while
placing it on P
- It works since we seek only one cover
- Example of using necessary but not sufficient
condition as part of pruning
58Using APSP of dual graph to tessellated P polygon
as preprocessing technique in determining whether
a cover can exist or not
- Determine a random tessellation of P
- Find dual graph based on adjacency of regions
- Find furthest regions using APSP of dual graph
- Join these furthest regions and make sure this
line can be covered using given Q polygons
59Finding some specific covering algorithms for
clustering problems in visualizations
- Given a collection of shapes and clusters of
points representing a problem, cover - those points with the shapes and find
clusters among them. - Dynamic algorithm to find whether a new point
fed into the system belongs to - which existing cluster
60Finding rotational covering algorithms
- Observe that the translational cover is not
possible with the given Q polygons.
61CGAL vs LEDA
- CGAL Computational Geometry Algorithms Library
- LEDA Library of Efficient Data Types and
Algorithms - CGALs distinctive features
- Geometry kernel can be instantiated with any
number type - Geometric algorithms are decoupled from the
geometry kernel - Large variety of geometric data structures and
algorithms - Open architecture makes it easy to import
modules from other - libraries
- However, the development of CGAL will not make
LEDA geometry obsolete. These libraries can be
used side by side and both systems offer
functionality which the other system does not
have.
62Implementation hierarchy
63Implementation hierarchy (cont)