1 / 30

Partitioning Polygons into Convex Components

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.

nikkos
Download Presentation

Partitioning Polygons into Convex Components

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. Partitioning Polygons intoConvex Components Presentation by Perouz Taslakian Mcgill University COMP506 – Winter 2005

  2. A Simple Example • Given a simple polygon P with no holes, can you divide Pinto the minimum number of convex components in polynomial time?

  3. A Simple Example • Answer: YES • Best known algorithm (Keil ’02) : O(n3)

  4. A Simple Example • What if the polygon has holes?

  5. A Simple Example • What if the polygon has holes? • The problem becomes NP-Hard!

  6. 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?

  7. Variation: min edge-length • Answer: YES • Best known algorithm (Greene ’83): O(n4)

  8. Variation: min edge-length • If the polygon has holes, the problem again becomes NP-Hard !

  9. 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

  10. 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.

  11. 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

  12. Planar 3SAT Example: or C1 u4 u3 u1 u2 C2

  13. 3SAT → Planar 3SAT C1 C2 C3 u1 u2 u3 u4 u5

  14. Ck C1 uj Cℓ ui C2 C3 u1 u2 u3 u4 u5 3SAT → Planar 3SAT

  15. Ck ui b1 uj Cℓ ui γ β uj uj a1 a2 a ξ α δ b2 ui b 3SAT → Planar 3SAT

  16. 3SAT → Planar 3SAT b1 γ a2 β a1 a ξ α δ b2 b

  17. Convex Decomposition • Given a polygon Pwith holes, the problem of dividing Pinto at most K convex components is NPC • Reduction from PL3SAT

  18. 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

  19. 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

  20. Clause Junction Ci

  21. Clause Junction U1 = False U2 = False Ci U3 = False

  22. Clause Junction U1 = True U2 = False Ci U3 = False

  23. Clause Junction U1 = True U2 = False Ci U3 = False

  24. u1 C1 C2 u2 ū1 u3 C3 Putting Gadgets Together C2 C1 U1 ū1 U2 C3

  25. u1 C1 C2 u2 ū1 u3 C3 Putting Gadgets Together C2 C1 U1 ū1 U2 C3

  26. u1 C1 C2 u2 ū1 u3 C3 Putting Gadgets Together C2 C1 U1 ū1 U2 C3

  27. 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

  28. 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

  29. 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?

  30. Thank You

More Related