U 1 - Computational Geometry Lab at McGill

advertisement
Partitioning Polygons into
Convex Components
Presentation by
Perouz Taslakian
Mcgill University
COMP506 – Winter 2005
A Simple Example

Given a simple polygon P with no holes, can
you divide P into the minimum number of
convex components in polynomial time?
2
A Simple Example


Answer: YES
Best known algorithm (Keil ’02) : O(n3)
3
A Simple Example

What if the polygon has holes?
4
A Simple Example

What if the polygon has holes?

The problem becomes NP-Hard !
5
Variation: min edge-length

Given a simple polygon P with no holes, can
you divide P into convex components using the
minimum amount of ink in polynomial time?
6
Variation: min edge-length


Answer: YES
Best known algorithm (Greene ’83): O(n4)
7
Variation: min edge-length

If the polygon has holes, the problem
again becomes NP-Hard !
8
Why is this interesting?

Computational Geometry:


Pattern Recognition:


Extract information about an object by
decomposing it into simpler components
Robotics:


some algorithms are simpler on polygons with
restricted shapes (e.g. convex)
Partition a workspace for a number of robots
Other:

Architecture, VLSI design, Image Processing,
Computer Graphics, …etc
9
Planar 3SAT

Most NPC problems in the area of
polygon decomposition are reduced
from Planar 3SAT
Outline:
1. define PL3SAT
2. show how to reduce it from 3SAT
3. see how to reduce it to the problem of
minimum convex decomposition.
10
Planar 3SAT

Given a 3SAT instance with:




m clauses C1, C2, …, Cm
n variables v1, v2, …, vn
Let G=(U, E) be a graph such that:

U is the set of n vertices representing the variables
v1, v2, …, vn union the set of clauses C1, C2, …, Cm

there is an edge between two vertices vi, Ck if ui
appears in the clause Ck
Planar 3SAT: G is Planar
11
Planar 3SAT
Example:
C1  (u1  u2  u3 )
C2  (u2  u3  u4 )
or
C1  (u1  u2  u3 )
C2  ( u2  u3  u4 )
C1
u1
u2
u3
u4
C2
12
3SAT → Planar 3SAT
C1
C2
C3
u1
u2
u3
u4
u5
13
3SAT → Planar 3SAT
Ck
C1
uj
Cℓ
ui
C2
C3
u1
u2
u3
u4
u5
14
3SAT → Planar 3SAT
b1
Ck
ui
uj
Cℓ
ui
γ
uj
a1
β
a2
ξ
a
uj
α
δ
b2
b
ui
15
3SAT → Planar 3SAT
( a2  b2  α)(a2  α)(b2  α)
i.e. a2b2  
( a2  b1  )(a2   )(b1   )
i.e. a2 b1  
(a1  b1  )( a1  )( b1  )
i.e. a1b1  
(a1  b2  )( a1  )(b2  )
i.e. a1b2  
(    )(    )
(    )(   )(  )(   )
(a2  a )(a  a2 )(b2  b )(b  b2 )
i.e. a  a2 , b  b2
b1
a1
γ
β
a2
ξ
α
δ
b
b
2
16
a
Convex Decomposition


Given a polygon P with holes, the problem of
dividing P into at most K convex components is
NPC
Reduction from PL3SAT
17
An Instance of PL3SAT
C2 = (u1 + u3 + u5)
C1 = (u1 + ū2 + u4)
u4
C1
u5
u1
C2
ū2
u2
ū1
C3
u3
C3 = (ū1 + u2 + u3)
18
A Variable Wire Loop

Let ki = number of convex pieces covering the
variable wire loop corresponding to variable vi
n

Set K =
k
i1
i
True Decomposition
u1
False Decomposition
ū1
19
Clause Junction
Ci
20
Clause Junction
U1 = False
U2 = False
Ci
U3 = False
21
Clause Junction
U1 = True
U2 = False
Ci
U3 = False
22
Clause Junction
U1 = True
U2 = False
Ci
U3 = False
23
Putting Gadgets Together
C2
C1
U1
ū1
U2
u1
C1
u2
C3
C2
ū1
C3
u3
24
Putting Gadgets Together
C2
C1
U1
ū1
U2
u1
C1
u2
C3
C2
ū1
C3
u3
25
Putting Gadgets Together
C2
C1
U1
ū1
U2
u1
C1
u2
C3
C2
ū1
C3
u3
26
Variations: Bisection

Bisecting a polygon into two (possibly
disconnected) parts with equal area & smallest
possible total perimeter is NP-hard.

It is even NP-hard to approximate within any ratio.
A1
A3
A1 + A2 = A3
A2
27
Variations: Area Partition

Given a simple polygon P and a set of areas A1,
A2, …, An, the problem of partitioning P into n
smaller connected components each of a given
area Ai with minimum cut-length is NP-hard.

It is even NP-hard to approximate within any ratio.
A5
A1
A4
A3
A2
28
Open Problems
1.
What is the best approximation algorithm for
the problem of partitioning a polygon into the
minimum number of convex pieces?
2.
Given a polygon with holes, can you divide it
into two congruent pieces?
3.
Is there a class of simple polygons for which
the area partitioning problem under the
minimum edge-length criterion is polynomially
solvable?
29
Thank You
30
Download