300 likes | 461 Views
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?. A Simple Example.
E N D
Partitioning Polygons intoConvex Components Presentation by Perouz Taslakian Mcgill University COMP506 – Winter 2005
A Simple Example • Given a simple polygon P with no holes, can you divide Pinto the minimum number of convex components in polynomial time?
A Simple Example • Answer: YES • Best known algorithm (Keil ’02) : O(n3)
A Simple Example • What if the polygon has holes?
A Simple Example • What if the polygon has holes? • The problem becomes NP-Hard!
Variation: min edge-length • Given a simple polygon P with no holes, can you divide P into convex components using the minimum amount of inkin polynomial time?
Variation: min edge-length • Answer: YES • Best known algorithm (Greene ’83): O(n4)
Variation: min edge-length • If the polygon has holes, the problem again becomes NP-Hard !
Why is this interesting? • Computational Geometry: • some algorithms are simpler on polygons with restricted shapes (e.g. convex) • Pattern Recognition: • Extract information about an object by decomposing it into simpler components • Robotics: • Partition a workspace for a number of robots • Other: • Architecture, VLSI design, Image Processing, Computer Graphics, …etc
Planar 3SAT • Most NPC problems in the area of polygon decomposition are reduced from Planar 3SAT Outline: • define PL3SAT • show how to reduce it from 3SAT • see how to reduce it to the problem of minimum convex decomposition.
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, …, vnunion 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
Planar 3SAT Example: or C1 u4 u3 u1 u2 C2
3SAT → Planar 3SAT C1 C2 C3 u1 u2 u3 u4 u5
Ck C1 uj Cℓ ui C2 C3 u1 u2 u3 u4 u5 3SAT → Planar 3SAT
Ck ui b1 uj Cℓ ui γ β uj uj a1 a2 a ξ α δ b2 ui b 3SAT → Planar 3SAT
3SAT → Planar 3SAT b1 γ a2 β a1 a ξ α δ b2 b
Convex Decomposition • Given a polygon Pwith holes, the problem of dividing Pinto at most K convex components is NPC • Reduction from PL3SAT
C2 = (u1 + u3 + u5) C1 = (u1 + ū2 + u4) u4 u5 C1 C2 u1 ū2 u2 ū1 C3 u3 C3 = (ū1 + u2 + u3) An Instance of PL3SAT
A Variable Wire Loop • Let ki = number of convex pieces covering the variable wire loop corresponding to variable vi • Set K = True Decomposition u1 FalseDecomposition ū1
Clause Junction U1 = False U2 = False Ci U3 = False
Clause Junction U1 = True U2 = False Ci U3 = False
Clause Junction U1 = True U2 = False Ci U3 = False
u1 C1 C2 u2 ū1 u3 C3 Putting Gadgets Together C2 C1 U1 ū1 U2 C3
u1 C1 C2 u2 ū1 u3 C3 Putting Gadgets Together C2 C1 U1 ū1 U2 C3
u1 C1 C2 u2 ū1 u3 C3 Putting Gadgets Together C2 C1 U1 ū1 U2 C3
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
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. A4 A5 A3 A1 A2
Open Problems • What is the best approximation algorithm for the problem of partitioning a polygon into the minimum number of convex pieces? • Given a polygon with holes, can you divide it into two congruentpieces? • Is there a class of simple polygons for which the area partitioning problem under the minimum edge-length criterion is polynomially solvable?