Translational Polygon Covering using Intersection Graphs - PowerPoint PPT Presentation

About This Presentation
Title:

Translational Polygon Covering using Intersection Graphs

Description:

1. Translational Polygon Covering. using Intersection Graphs. Prof. Karen Daniels ... decomposition: Decomposition with covering. partition: ... – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 64
Provided by: rajasekh
Learn more at: https://www.cs.uml.edu
Category:

less

Transcript and Presenter's Notes

Title: Translational Polygon Covering using Intersection Graphs


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
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 g 1, g 2 , ... , g m such that

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

5
BACKGROUND
6
COVERINGPROBLEMS
7
Minkowski Sum
pq
p
q
8
Minkowski Sum and Translational Intersection
P?-Q
t
-Q
P
9
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
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
Assignment 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

14
Convexity
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
15
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 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.

16
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
Explicit Assignment Extension and Subdivision
18
Implicit Assignment Extension
  • Follows from convexity lemma

19
Constraints Selection
20
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
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
Intersection 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.

25
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 linear
    intersection graph.

26
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
Simultaneous Assignment Space Exploration
Experiment
30
Results using brute-force technique
31
Intersection Graphs vs. Brute Force Technique
 

32
Results
33
Results (cont)
34
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
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
36
Results 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
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 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 (??)

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
Proposed 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
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
Research Environment Algorithms Lab
Manufacturing
Data Mining Visualization
Telecommunications
47
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, 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.
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 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.
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

51
Minkowski 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.

53
Finding 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.

54
Finding 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.

55
Exploring 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.

56
Applying linear programming techniques to
minimize overlap among Qs so that Qs can cover
maximum possible area of P
57
Incremental 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

58
Using 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

59
Finding 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

60
Finding rotational covering algorithms
  • Observe that the translational cover is not
    possible with the given Q polygons.

61
CGAL 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.

62
Implementation hierarchy
63
Implementation hierarchy (cont)
Write a Comment
User Comments (0)
About PowerShow.com