Problem definition Approach Dynamic program Summary

Pseudo-Convex Decomposition of a Simple

Stefan Gerdjikov and Alexander Wolff

Fakultät für Informatik Karlsruhe University

Stefan Gerdjikov and Alexander Wolff 1 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Outline

1 Problem definition

2 Approach Concave geodesics Characterization of pseudo-

3 Dynamic program Computing pwij Computing cwij

4 Summary

Stefan Gerdjikov and Alexander Wolff 2 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Outline

1 Problem definition

2 Approach Concave geodesics Characterization of pseudo-triangles

3 Dynamic program Computing pwij Computing cwij

4 Summary

Stefan Gerdjikov and Alexander Wolff 3 19 Pseudo-Convex Decomposition 2 A pseudo- is a simple polygon with 3 convex . 3 A pseudo-convex decomposition of a simple polygon

Problem definition Approach Dynamic program Summary Preliminaries

Definition 1 A convex is an angle ≤ 180◦.

Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition 3 A pseudo-convex decomposition of a simple polygon

Problem definition Approach Dynamic program Summary Preliminaries

Definition 1 A convex angle is an angle ≤ 180◦. 2 A pseudo-triangle is a simple polygon with 3 convex angles.

Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition 3 A pseudo-convex decomposition of a simple polygon

Problem definition Approach Dynamic program Summary Preliminaries

Definition 1 A convex angle is an angle ≤ 180◦. 2 A pseudo-triangle is a simple polygon with 3 convex angles.

Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Preliminaries

Definition 1 A convex angle is an angle ≤ 180◦. 2 A pseudo-triangle is a simple polygon with 3 convex angles. 3 A pseudo-convex decomposition of a simple polygon

Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Preliminaries

Definition 1 A convex angle is an angle ≤ 180◦. 2 A pseudo-triangle is a simple polygon with 3 convex angles. 3 A pseudo-convex decomposition of a simple polygon

Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition Output: A pseudo-convex decomposition of P with the minimum number m of .

−→

Problem definition Approach Dynamic program Summary Problem

Input: Simple polygon P = A0A1 ... An−1 in the .

Stefan Gerdjikov and Alexander Wolff 5 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Problem

Input: Simple polygon P = A0A1 ... An−1 in the plane. Output: A pseudo-convex decomposition of P with the minimum number m of polygons.

−→

Stefan Gerdjikov and Alexander Wolff 5 19 Pseudo-Convex Decomposition −→

Problem definition Approach Dynamic program Summary Motivation

Pseudo-convex decomposition: fewer polygons than a convex decomposition! Pseudo-triangles have important applications in rigidity theory. Hope: ? Pseudo-convex decomposition of simple polygons ⇒ approximation for pseudo-convex decomposition of point sets.

Stefan Gerdjikov and Alexander Wolff 6 19 Pseudo-Convex Decomposition −→

Problem definition Approach Dynamic program Summary Motivation

Pseudo-convex decomposition: fewer polygons than a convex decomposition! Pseudo-triangles have important applications in rigidity theory. Hope: ? Pseudo-convex decomposition of simple polygons ⇒ approximation for pseudo-convex decomposition of point sets.

Stefan Gerdjikov and Alexander Wolff 6 19 Pseudo-Convex Decomposition −→

Problem definition Approach Dynamic program Summary Motivation

Pseudo-convex decomposition: fewer polygons than a convex decomposition! Pseudo-triangles have important applications in rigidity theory. Hope: ? Pseudo-convex decomposition of simple polygons ⇒ approximation for pseudo-convex decomposition of point sets.

Stefan Gerdjikov and Alexander Wolff 6 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Motivation

Pseudo-convex decomposition: fewer polygons than a convex decomposition! Pseudo-triangles have important applications in rigidity theory. Hope: ? Pseudo-convex decomposition of simple polygons ⇒ approximation for pseudo-convex decomposition of point sets.

−→

Stefan Gerdjikov and Alexander Wolff 6 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Outline

1 Problem definition

2 Approach Concave geodesics Characterization of pseudo-triangles

3 Dynamic program Computing pwij Computing cwij

4 Summary

Stefan Gerdjikov and Alexander Wolff 7 19 Pseudo-Convex Decomposition 2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .

3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons

Definition

1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .

Ai Aj dij

Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition 3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons

Definition

1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .

2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .

Pij

Ai Aj dij

Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition wij = 2

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons

Definition

1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .

2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .

3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .

Pij

Ai Aj dij

Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons

Definition

1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .

2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .

3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .

Pij

Ai Aj dij wij = 2

Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition → dynamic programming

. . . w0,n−1 = m

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons

Definition

1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .

2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .

3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .

wi,i+1 = 0

Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition → dynamic programming

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons

Definition

1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .

2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .

3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .

wi,i+1 = 0 . . . w0,n−1 = m

Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons

Definition

1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .

2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .

3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .

wi,i+1 = 0 ...... → dynamic programming w0,n−1 = m

Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition min. #polygons in pseudo-convex pwij = pseudo-triangle decomposition of Pij if dij bounds a

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Split the problem!

wij = min. #polygons in pseudo-convex decomposition of Pij .

Stefan Gerdjikov and Alexander Wolff 9 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Split the problem!

wij = min. #polygons in pseudo-convex decomposition of Pij . min. #polygons in pseudo-convex pwij = pseudo-triangle decomposition of Pij if dij bounds a

Pij Pij

dij dij

Stefan Gerdjikov and Alexander Wolff 9 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Split the problem!

wij = min. #polygons in pseudo-convex decomposition of Pij .   pwij min. #polygons in pseudo-convex pseudo-triangle = cwij decomposition of Pij if dij bounds a

Pij Pij

dij dij

diagonal-convex decomposition

Stefan Gerdjikov and Alexander Wolff 9 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Split the problem!

wij = min. #polygons in pseudo-convex decomposition of Pij .   pwij min. #polygons in pseudo-convex pseudo-triangle = cwij decomposition of Pij if dij bounds a convex polygon

wij = min(pwij, cwij)

Compute wij , cwij and pwij in increasing order of j − i.

Stefan Gerdjikov and Alexander Wolff 9 19 Pseudo-Convex Decomposition B1 = Ai and Bm = Aj . For each k < m: + Bk+1 = last vertex on P (Bk , Aj ) visible from Bk .

B1B2 ... Bm is a convex, anticlockwise oriented polygon.

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Concave geodesics

Definition

A concave geodesic from Ai to Aj with respect to P is a path π = B1B2 ... Bm with

Ai

Aj

Stefan Gerdjikov and Alexander Wolff 10 19 Pseudo-Convex Decomposition For each k < m: + Bk+1 = last vertex on P (Bk , Aj ) visible from Bk .

B1B2 ... Bm is a convex, anticlockwise oriented polygon.

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Concave geodesics

Definition

A concave geodesic from Ai to Aj with respect to P is a path π = B1B2 ... Bm with

B1 = Ai and Bm = Aj .

Ai = B1

Aj = Bm

Stefan Gerdjikov and Alexander Wolff 10 19 Pseudo-Convex Decomposition B1B2 ... Bm is a convex, anticlockwise oriented polygon.

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Concave geodesics

Definition

A concave geodesic from Ai to Aj with respect to P is a path π = B1B2 ... Bm with

B1 = Ai and Bm = Aj . For each k < m: + Bk+1 = last vertex on P (Bk , Aj ) visible from Bk .

Bk+1 Bk

Ai = B1

Aj = Bm

Stefan Gerdjikov and Alexander Wolff 10 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Concave geodesics

Definition

A concave geodesic from Ai to Aj with respect to P is a path π = B1B2 ... Bm with

B1 = Ai and Bm = Aj . For each k < m: + Bk+1 = last vertex on P (Bk , Aj ) visible from Bk .

B1B2 ... Bm is a convex, anticlockwise oriented polygon.

Bk+1 Bk

Ai = B1

Aj = Bm

Stefan Gerdjikov and Alexander Wolff 10 19 Pseudo-Convex Decomposition Each pseudo-triangle in the interior of P consists of 3 concave geodesics that connect its convex vertices. If π1, π2 and π3 are concave geodesics from Ai to Aj , Aj to Ak and Ak to Ai respectively and Ai Aj Ak is clockwise oriented, then π1π2π3 is a pseudo-triangle.

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Characterization of pseudo-triangles

Stefan Gerdjikov and Alexander Wolff 11 19 Pseudo-Convex Decomposition If π1, π2 and π3 are concave geodesics from Ai to Aj , Aj to Ak and Ak to Ai respectively and Ai Aj Ak is clockwise oriented, then π1π2π3 is a pseudo-triangle.

Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Characterization of pseudo-triangles

Each pseudo-triangle in the interior of P consists of 3 concave geodesics that connect its convex vertices.

Stefan Gerdjikov and Alexander Wolff 11 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Characterization of pseudo-triangles

Ak

π3

T π2 π1 Aj Ai

Each pseudo-triangle in the interior of P consists of 3 concave geodesics that connect its convex vertices. If π1, π2 and π3 are concave geodesics from Ai to Aj , Aj to Ak and Ak to Ai respectively and Ai Aj Ak is clockwise oriented, then π1π2π3 is a pseudo-triangle.

Stefan Gerdjikov and Alexander Wolff 11 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary Outline

1 Problem definition

2 Approach Concave geodesics Characterization of pseudo-triangles

3 Dynamic program Computing pwij Computing cwij

4 Summary

Stefan Gerdjikov and Alexander Wolff 12 19 Pseudo-Convex Decomposition select a concave geodesic π = B ... B in P con- Step 1 1 m ij taining dij . Step 2 go along boundary of Pij from Bm to B1 for each vertex As check: ∃ pseudo-triangle T with convex vertices As, B1, Bm.  X X X  Step 3 pwij = min wk` + wk` + wk` + 1 T =ππ1π2 Ak A`∈π1 Ak A`∈π2 Ak A`∈π Ak A`6=Ai Aj

Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Computing pwij

Pij

dij

Stefan Gerdjikov and Alexander Wolff 13 19 Pseudo-Convex Decomposition Step 2 go along boundary of Pij from Bm to B1 for each vertex As check: ∃ pseudo-triangle T with convex vertices As, B1, Bm.  X X X  Step 3 pwij = min wk` + wk` + wk` + 1 T =ππ1π2 Ak A`∈π1 Ak A`∈π2 Ak A`∈π Ak A`6=Ai Aj

Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Computing pwij

select a concave geodesic π = B ... B in P con- Step 1 1 m ij taining dij .

d Bm Aj ij Ai π B1

Stefan Gerdjikov and Alexander Wolff 13 19 Pseudo-Convex Decomposition  X X X  Step 3 pwij = min wk` + wk` + wk` + 1 T =ππ1π2 Ak A`∈π1 Ak A`∈π2 Ak A`∈π Ak A`6=Ai Aj

Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Computing pwij

select a concave geodesic π = B ... B in P con- Step 1 1 m ij taining dij . Step 2 go along boundary of Pij from Bm to B1 for each vertex As check: ∃ pseudo-triangle T with convex vertices As, B1, Bm.

As π2

T π 1 d Bm Aj ij Ai π B1

Stefan Gerdjikov and Alexander Wolff 13 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Computing pwij

select a concave geodesic π = B ... B in P con- Step 1 1 m ij taining dij . Step 2 go along boundary of Pij from Bm to B1 for each vertex As check: ∃ pseudo-triangle T with convex vertices As, B1, Bm.  X X X  Step 3 pwij = min wk` + wk` + wk` + 1 T =ππ1π2 Ak A`∈π1 Ak A`∈π2 Ak A`∈π Ak A`6=Ai Aj

As π2

T π 1 d Bm Aj ij Ai π B1

Stefan Gerdjikov and Alexander Wolff 13 19 Pseudo-Convex Decomposition O(n2) geodesics ⇒ running time O(n3)

Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Time needed to compute all pwij

1 Determine all concave geodesics.

2 Construct lists Lij of all concave geodesics containing dij and 2 lying in Pij → O(n ) time. 3 for each geodesic go along the boundary of Pij → O(n) time go once along a geodesic π to determine the sums of type X X wk` and wk`

Ak A`∈π Ak A`∈π\Ai Aj

→ O(n) time per geodesic.

Stefan Gerdjikov and Alexander Wolff 14 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Time needed to compute all pwij

1 Determine all concave geodesics.

2 Construct lists Lij of all concave geodesics containing dij and 2 lying in Pij → O(n ) time. 3 for each geodesic go along the boundary of Pij → O(n) time go once along a geodesic π to determine the sums of type X X wk` and wk`

Ak A`∈π Ak A`∈π\Ai Aj

→ O(n) time per geodesic.

O(n2) geodesics ⇒ running time O(n3)

Stefan Gerdjikov and Alexander Wolff 14 19 Pseudo-Convex Decomposition select a point A on the boundary of P , visible both Step 1 ` ij from Ai and Aj . containing dij . Step 2 Is there a diagonal-convex decomposition D of P`j such that: |D| = cw`j , A`As ... At Aj ∈ D and Ai A`As ... At Aj is convex?  Step 3 cwij = min min(cw`j + wi`), w`j + wi` + 1 ` D

Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Computing cwij

Pij

dij

Stefan Gerdjikov and Alexander Wolff 15 19 Pseudo-Convex Decomposition Step 2 Is there a diagonal-convex decomposition D of P`j such that:

|D| = cw`j , A`As ... At Aj ∈ D and Ai A`As ... At Aj is convex?  Step 3 cwij = min min(cw`j + wi`), w`j + wi` + 1 ` D

Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Computing cwij

select a point A on the boundary of P , visible both Step 1 ` ij from Ai and Aj . containing dij .

A` Aj dij Ai

Stefan Gerdjikov and Alexander Wolff 15 19 Pseudo-Convex Decomposition  Step 3 cwij = min min(cw`j + wi`), w`j + wi` + 1 ` D

Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Computing cwij

select a point A on the boundary of P , visible both Step 1 ` ij from Ai and Aj . containing dij .

Step 2 Is there a diagonal-convex decomposition D of P`j such that:

|D| = cw`j , A`As ... At Aj ∈ D and Ai A`As ... At Aj is convex?

As At A` Aj dij Ai

Stefan Gerdjikov and Alexander Wolff 15 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Computing cwij

select a point A on the boundary of P , visible both Step 1 ` ij from Ai and Aj . containing dij .

Step 2 Is there a diagonal-convex decomposition D of P`j such that:

|D| = cw`j , A`As ... At Aj ∈ D and Ai A`As ... At Aj is convex?  Step 3 cwij = min min(cw`j + wi`), w`j + wi` + 1 ` D

As At A` Aj dij Ai

Stefan Gerdjikov and Alexander Wolff 15 19 Pseudo-Convex Decomposition Total time: O(n3)

Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Time needed to compute all cwij

1 go along the boundary of Pij – O(n) time per pair (i, j) 2 use concept of representative classes [Keil & Snoeyink ’02] to perform the test in step 2 – amortized O(n) time per pair (i, j).

Stefan Gerdjikov and Alexander Wolff 16 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary

Time needed to compute all cwij

1 go along the boundary of Pij – O(n) time per pair (i, j) 2 use concept of representative classes [Keil & Snoeyink ’02] to perform the test in step 2 – amortized O(n) time per pair (i, j). Total time: O(n3)

Stefan Gerdjikov and Alexander Wolff 16 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Outline

1 Problem definition

2 Approach Concave geodesics Characterization of pseudo-triangles

3 Dynamic program Computing pwij Computing cwij

4 Summary

Stefan Gerdjikov and Alexander Wolff 17 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Summary

Problem minimum pseudo-convex decomposition of a simple polygon. Approach Characterization of pseudo-triangles in terms of concave geodesics. Take advantage of [Keil & Snoeyink ’02].

Result O(n3)-time algorithm.

Stefan Gerdjikov and Alexander Wolff 18 19 Pseudo-Convex Decomposition −→

Thank you for your attention!

Problem definition Approach Dynamic program Summary Open Problem

efficient algorithm for pseudo-convex decomposition of point sets

Stefan Gerdjikov and Alexander Wolff 19 19 Pseudo-Convex Decomposition Thank you for your attention!

Problem definition Approach Dynamic program Summary Open Problem

efficient algorithm for pseudo-convex decomposition of point sets

−→

Stefan Gerdjikov and Alexander Wolff 19 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Open Problem

efficient algorithm for pseudo-convex decomposition of point sets

−→

Thank you for your attention!

Stefan Gerdjikov and Alexander Wolff 19 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary O. Aichholzer, C. Huemer, S. Renkl, B. Speckmann, C. D. Tóth. On pseudo-convex decompositions, partitions, and coverings. In Proc. 21st European Workshop on Computational (EWCG’05), pages 89–92, Eindhoven, 2005. J. Gudmundsson and C. Levcopoulos. Minimum weight pseudo-triangulations. Proc. 24th Int. Conf. FSTTCS’04, volume 3328 of Lecture Notes in Computer Science, pages 299–310. Springer-Verlag, 2004. J. M. Keil. Decomposing a polygon into simpler components. SIAM J. Comput., 14:799–817, 1985. J. M. Keil and J. Snoeyink. On the time bound for convex decomposition of simple polygons. Int. J. Comput. Geometry Appl., 12(3):181–192, 2002.

Stefan Gerdjikov and Alexander Wolff 19 19 Pseudo-Convex Decomposition