Linear time 8 / 3 -approx. of r -star guards in simple orthogonal - - PowerPoint PPT Presentation

linear time 8 3 approx of r star guards in simple
SMART_READER_LITE
LIVE PREVIEW

Linear time 8 / 3 -approx. of r -star guards in simple orthogonal - - PowerPoint PPT Presentation

Linear time 8 / 3 -approx. of r -star guards in simple orthogonal art galleries obert Mezei 1 Ervin Gy ori & Tam as R ICGT 2018, July 9, Lyon 1 Alfr ed R enyi Institute of Mathematics, Hungarian Academy of Sciences 1/17 The


slide-1
SLIDE 1

Linear time 8/3-approx. of r-star guards in simple orthogonal art galleries

Ervin Gy˝

  • ri & Tam´

as R´

  • bert Mezei1

ICGT 2018, July 9, Lyon

1Alfr´

ed R´ enyi Institute of Mathematics, Hungarian Academy of Sciences 1/17

slide-2
SLIDE 2

The Art Gallery problem - for Orthogonal Polygons

  • Art gallery: P ⊂ R2, a simple orthogonal polygon
  • Point guard: fixed point g ∈ P, has 360◦ line of sight vision
  • Objective: place guards in the gallery so that any point in P is

seen by at least one of the guards g P

2/17

slide-3
SLIDE 3

The art gallery theorem for orthogonal polygons

Theorem (Kahn, Klawe and Kleitman, 1980) n

4

  • guards are sometimes necessary and always sufficient to cover

the interior of a simple orthogonal polygon of n vertices.

3/17

slide-4
SLIDE 4

The art gallery theorem for orthogonal polygons

Theorem (Kahn, Klawe and Kleitman, 1980) n

4

  • guards are sometimes necessary and always sufficient to cover

the interior of a simple orthogonal polygon of n vertices. Theorem (Schuchardt and Hecker, 1995) Finding a minimum size point guard system is NP-hard in simple

  • rthogonal polygons

3/17

slide-5
SLIDE 5

Rectangular or r-vision

Rectangular vision: two points x, y ∈ P have r-vision of each other if there is an axis-parallel rectangle inside P, containing x and y. y x

4/17

slide-6
SLIDE 6

Rectangular or r-vision

Rectangular vision: two points x, y ∈ P have r-vision of each other if there is an axis-parallel rectangle inside P, containing x and y. z x x and z have unrestricted vision of each other

4/17

slide-7
SLIDE 7

Rectangular or r-vision

Rectangular vision: two points x, y ∈ P have r-vision of each other if there is an axis-parallel rectangle inside P, containing x and y. z x x and z do not have rectangular vision of each other

4/17

slide-8
SLIDE 8

Rectangular or r-vision

Rectangular vision: two points x, y ∈ P have r-vision of each other if there is an axis-parallel rectangle inside P, containing x and y. r-star: an orthogonal polygon that can be covered by one guard equipped with r-vision

4/17

slide-9
SLIDE 9

Rectangular or r-vision

Rectangular vision: two points x, y ∈ P have r-vision of each other if there is an axis-parallel rectangle inside P, containing x and y. During the rest of the talk, vision means r-vision

4/17

slide-10
SLIDE 10

Complexity results for r-vision

Theorem (Worman and Keil, 2007) There is an ˜ O(n17) time algorithm that computes the minimum size set of point guards equipped with r-vision covering an n-vertex simple orthogonal polygon.

5/17

slide-11
SLIDE 11

Complexity results for r-vision

Theorem (Worman and Keil, 2007) There is an ˜ O(n17) time algorithm that computes the minimum size set of point guards equipped with r-vision covering an n-vertex simple orthogonal polygon. Theorem (Lingas, Wasylewicz, ˙ Zyli´ nski, 2012) There is a linear time 3-approximation algorithm for minimum size point guard system with rectangular vision.

5/17

slide-12
SLIDE 12

Complexity results for r-vision

Theorem (Worman and Keil, 2007) There is an ˜ O(n17) time algorithm that computes the minimum size set of point guards equipped with r-vision covering an n-vertex simple orthogonal polygon. Theorem (Lingas, Wasylewicz, ˙ Zyli´ nski, 2012) There is a linear time 3-approximation algorithm for minimum size point guard system with rectangular vision. The novelty of our algorithm is not so much the lower approximation ratio, but the extremal style of the result (we will see this)

5/17

slide-13
SLIDE 13

Mobile guards in orthogonal polygons

A mobile guard is an axis-parallel line segment L inside the gallery. The guard sees a point x ∈ P iff there is a point y ∈ L such that x is visible from y. L P x y Sliding camera (introduced by Katz and Morgenstern, 2011): a mobile guard whose line segment is maximal, equipped with r-vision

6/17

slide-14
SLIDE 14

Results on the complexity of sliding camera problems

Theorem (Gy˝

  • ri and M, 2016)

There is a linear time algorithm that finds a covering set of mobile guards of cardinality at most 3n+4

16

  • , even if the patrols are

required to be pairwise disjoint. The complexity of the optimization problem is open.

7/17

slide-15
SLIDE 15

Our result

p: minimum number of point guards required to cover P mV : min. number of vertical sliding cameras required to cover P mH: min. number of horizontal sliding cameras required to cover P

8/17

slide-16
SLIDE 16

Our result

p: minimum number of point guards required to cover P mV : min. number of vertical sliding cameras required to cover P mH: min. number of horizontal sliding cameras required to cover P Theorem For any simple orthogonal polygon there is a linear time algorithm which finds a point guard of size at most 4 3 (mV + mH − 1) .

8/17

slide-17
SLIDE 17

Our result

p: minimum number of point guards required to cover P mV : min. number of vertical sliding cameras required to cover P mH: min. number of horizontal sliding cameras required to cover P Theorem For any simple orthogonal polygon there is a linear time algorithm which finds a point guard of size at most 4 3 (mV + mH − 1) . Since mV , mH ≤ p, we have 4 3(mV + mH − 1) ≤ 8 3p, so the algorithm provides an 8

3-approximation solution. 8/17

slide-18
SLIDE 18

High level description of the algorithm

slide-19
SLIDE 19

Horizontal and vertical R-trees

h0 h2 h3 h4 h5 h6 h0 h1

  • rtho. poly. P

h0 h1 h2 h3 h4 h5 h6 SH

tree TH

Cut horizontally at each reflex vertex, join touching slices by an edge Gy˝

  • ri et. al. (1995) drafts that TH can be computed in linear time

9/17

slide-20
SLIDE 20

Horizontal and vertical R-trees

h0 v1 v2 v3 v4 v5 v6 v7 v8

  • rtho. poly. P

v1 v2 v3 v4 v5 v6 v7 v8 SV

tree TV

Do the same for vertical slices

9/17

slide-21
SLIDE 21

Horizontal and vertical R-trees

h0 h2 h3 h4 h5 h6 h0 h1 v1 v2 v3 v4 v5 v6 v7 v8

  • rtho. poly. P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

bipartite G

Join two slices iff their interiors intersect G may have Ω(n2) edges

9/17

slide-22
SLIDE 22

Horizontal and vertical R-trees

h0 h2 h3 h4 h5 h6 h0 h1 v1 v2 v3 v4 v5 v6 v7 v8

  • rtho. poly. P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV v4 Each neighborhood in G forms a path in the appropriate R-tree Observation 1: by storing only the ends of the path formed by the neighborhood of each vertex of G, the graph can be described in O(n) space

9/17

slide-23
SLIDE 23

Working with the sparse representation of G

  • Choose arbitrary roots in the R-trees
  • The lowest common ancestors algorithm (for eg. the one due to

Gabow and Tarjan, 1985) requires linear time

10/17

slide-24
SLIDE 24

Working with the sparse representation of G

  • Choose arbitrary roots in the R-trees
  • The lowest common ancestors algorithm (for eg. the one due to

Gabow and Tarjan, 1985) requires linear time

  • Observation 2: for any v1, v2 ∈ SV , the ends of the path

formed by NG(v1) ∩ NG(v2) in TH can be computed using 6 LCA queries

10/17

slide-25
SLIDE 25

Working with the sparse representation of G

  • Choose arbitrary roots in the R-trees
  • The lowest common ancestors algorithm (for eg. the one due to

Gabow and Tarjan, 1985) requires linear time

  • Observation 2: for any v1, v2 ∈ SV , the ends of the path

formed by NG(v1) ∩ NG(v2) in TH can be computed using 6 LCA queries

  • Observation 3: if G is 2-connected then for any v1v2 ∈ E(TV )

we have |NG(v1) ∩ NG(v2)| ≥ 2

10/17

slide-26
SLIDE 26

Pixelation graph

v1 v2 v3 v4 v5 v6 v7 v8 h2 h3 h4 h5 h6 h0 h1

P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

G

The intersection graph structure in connection with mobile guards has been studied by Kosowski, Ma lafiejski, and ˙ Zyli´ nski (2007) With respect to rectangular vision, it is enough to know the pixels containing the points.

11/17

slide-27
SLIDE 27

Pixelation graph

v1 v2 v3 v4 v5 v6 v7 v8 h2 h3 h4 h5 h6 h0 h1

P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

G

Point guard ↔ Edge

11/17

slide-28
SLIDE 28

Pixelation graph

v1 v2 v3 v4 v5 v6 v7 v8 h2 h3 h4 h5 h6 h0 h1

P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

G

v3 Sliding camera ↔ Vertex

11/17

slide-29
SLIDE 29

Pixelation graph

v1 v2 v3 v4 v5 v6 v7 v8 h2 h3 h4 h5 h6 h0 h1

P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

G

h4 Sliding camera ↔ Vertex

11/17

slide-30
SLIDE 30

Pixelation graph

v1 v2 v3 v4 v5 v6 v7 v8 h2 h3 h4 h5 h6 h0 h1

P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

G

h3 Rectangular vision (e1 ∩ e2 = ∅)

11/17

slide-31
SLIDE 31

Pixelation graph

v1 v2 v3 v4 v5 v6 v7 v8 h2 h3 h4 h5 h6 h0 h1

P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

G

v3 v7 h3 h5 Rectangular vision (G[e1 ∪ e2] ∼ = C4)

11/17

slide-32
SLIDE 32

Pixelation graph

v1 v2 v3 v4 v5 v6 v7 v8 h2 h3 h4 h5 h6 h0 h1

P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

G

v3 v5 v7 h1 h3 h5 G is chordal bipartite: any cycle of length at least 6 has a chord (eg.: h5v5)

11/17

slide-33
SLIDE 33

Pixelation graph

v1 v2 v3 v4 v5 v6 v7 v8 h2 h3 h4 h5 h6 h0 h1

P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

G

v1 v4 v7 Covering set of vert. sliding cameras ↔ MV ⊆ SV dominating SH

11/17

slide-34
SLIDE 34

Pixelation graph

v1 v2 v3 v4 v5 v6 v7 v8 h2 h3 h4 h5 h6 h0 h1

P

h0 h1 h2 h3 h4 h5 h6 SH v1 v2 v3 v4 v5 v6 v7 v8 SV

G

h3 h4 Covering set of horiz. sliding cameras ↔ MH ⊆ SH dominating SV

11/17

slide-35
SLIDE 35

More about the structure

  • Dirac: ν = τ for a family subtrees of a tree ⇒ MV and MH

can be computed in linear time (Gy˝

  • ri and M, 2018)

12/17

slide-36
SLIDE 36

More about the structure

  • Dirac: ν = τ for a family subtrees of a tree ⇒ MV and MH

can be computed in linear time (Gy˝

  • ri and M, 2018)
  • M := G[MH ∪ MV ] is also chordal bipartite; for simplicity

assume it is connected

12/17

slide-37
SLIDE 37

More about the structure

  • Dirac: ν = τ for a family subtrees of a tree ⇒ MV and MH

can be computed in linear time (Gy˝

  • ri and M, 2018)
  • M := G[MH ∪ MV ] is also chordal bipartite; for simplicity

assume it is connected

  • Given an edge h0v0 ∈ E(G), there exists h1 ∈ MH and

v1 ∈ MV s.t. h0v1 ∈ E(G) and h1v0 ∈ E(G)

12/17

slide-38
SLIDE 38

More about the structure

  • Dirac: ν = τ for a family subtrees of a tree ⇒ MV and MH

can be computed in linear time (Gy˝

  • ri and M, 2018)
  • M := G[MH ∪ MV ] is also chordal bipartite; for simplicity

assume it is connected

  • Given an edge h0v0 ∈ E(G), there exists h1 ∈ MH and

v1 ∈ MV s.t. h0v1 ∈ E(G) and h1v0 ∈ E(G)

  • There is a path in M joining h1 to v1 which together with h0v0

forms a cycle

12/17

slide-39
SLIDE 39

More about the structure

  • Dirac: ν = τ for a family subtrees of a tree ⇒ MV and MH

can be computed in linear time (Gy˝

  • ri and M, 2018)
  • M := G[MH ∪ MV ] is also chordal bipartite; for simplicity

assume it is connected

  • Given an edge h0v0 ∈ E(G), there exists h1 ∈ MH and

v1 ∈ MV s.t. h0v1 ∈ E(G) and h1v0 ∈ E(G)

  • There is a path in M joining h1 to v1 which together with h0v0

forms a cycle

  • G chordal ⇒ ∃v2h2 ∈ E(M) s.t. h0v0h2v2 is a 4-cycle in G

(or v2 = v0 or h2 = h0)

12/17

slide-40
SLIDE 40

Computing the structures induced by MH and MV

  • E(M) is a point guard (given that M is connected), but may

contain Ω(n2) edges

13/17

slide-41
SLIDE 41

Computing the structures induced by MH and MV

  • E(M) is a point guard (given that M is connected), but may

contain Ω(n2) edges

  • M connected ⇒ ∃ induced R-trees on MH and MV

13/17

slide-42
SLIDE 42

Computing the structures induced by MH and MV

  • E(M) is a point guard (given that M is connected), but may

contain Ω(n2) edges

  • M connected ⇒ ∃ induced R-trees on MH and MV
  • Observations 1-3 apply to M as well!

13/17

slide-43
SLIDE 43

Computing the structures induced by MH and MV

  • E(M) is a point guard (given that M is connected), but may

contain Ω(n2) edges

  • M connected ⇒ ∃ induced R-trees on MH and MV
  • Observations 1-3 apply to M as well!
  • The observations allow us to compute the 2-connected

components M1, . . . , Mq of M efficiently

13/17

slide-44
SLIDE 44

Computing the structures induced by MH and MV

  • E(M) is a point guard (given that M is connected), but may

contain Ω(n2) edges

  • M connected ⇒ ∃ induced R-trees on MH and MV
  • Observations 1-3 apply to M as well!
  • The observations allow us to compute the 2-connected

components M1, . . . , Mq of M efficiently

  • For each i, we have a subproblem given by Mi and

NG(V (Mi)); so from now on assume that M is 2-connected

13/17

slide-45
SLIDE 45

Finding point guards

  • Case 1: M is an edge: the only edge of M guards G
  • Case 2: M is a non-trivial 2-connected graph: any edge is

contained in a 4-cycle, so we define P[M] =

  • {e1,e2,e3,e4} is a C4 in M

Conv 4

  • i=1

∩ei

  • 14/17
slide-46
SLIDE 46

Finding point guards

  • Case 1: M is an edge: the only edge of M guards G
  • Case 2: M is a non-trivial 2-connected graph: any edge is

contained in a 4-cycle, so we define P[M] =

  • {e1,e2,e3,e4} is a C4 in M

Conv 4

  • i=1

∩ei

  • Lemma: P[M] is simply connected

14/17

slide-47
SLIDE 47

M is a non-trivial 2-connected graph

P A large simple orthogonal polygon with n = 160

15/17

slide-48
SLIDE 48

M is a non-trivial 2-connected graph

P |MH| = 10

15/17

slide-49
SLIDE 49

M is a non-trivial 2-connected graph

P |MV | = 12

15/17

slide-50
SLIDE 50

M is a non-trivial 2-connected graph

P |MH| + |MV | = 22

15/17

slide-51
SLIDE 51

M is a non-trivial 2-connected graph

P P[M] The pixels on the boundary of P[M] form a point guard of P!

15/17

slide-52
SLIDE 52

M is a non-trivial 2-connected graph

P P[M] c pixels at convex vertices of P[M]

15/17

slide-53
SLIDE 53

M is a non-trivial 2-connected graph

P P[M] r pixels at reflex vertices of P[M]

15/17

slide-54
SLIDE 54

M is a non-trivial 2-connected graph

P P[M] s pixels on the boundary but not at a vertex of P[M]

15/17

slide-55
SLIDE 55

M is a non-trivial 2-connected graph

P P[M] |MH| + |MV | = c + 1

2s and r = c − 4, so

c + r + s = 2c + s − 4 = 2(|MH| + |MV |) − 4 The pixels on the boundary of P[M] is a 4-approximation solution

15/17

slide-56
SLIDE 56

M is a non-trivial 2-connected graph

P P[M] We can do better: some reflex and side edges can be omitted

15/17

slide-57
SLIDE 57

M is a non-trivial 2-connected graph

P P[M] Path of ℓ reflex and side pixels: only ⌈ ℓ

3⌉ guards needed 15/17

slide-58
SLIDE 58

M is a non-trivial 2-connected graph

P P[M] Cycle of ℓ reflex and side pixels: only ⌊ ℓ

3⌋ guards needed 15/17

slide-59
SLIDE 59

Summing it up

c +

  • paths

⌈ ℓ 3⌉ +

  • cycles

⌊ ℓ 3⌋ ≤ c +

  • paths

ℓ + 2 3 +

  • cycles

ℓ 3 ≤ ≤ c + 1 3(r + s) +

  • paths

2 3 ≤ ≤ c + 1 3(c − 4 + s) + 1 3s ≤ ≤ 4 3(c + 1 2s − 1) ≤ ≤ 4 3(|MH| + |MV | − 1)

16/17

slide-60
SLIDE 60

Finishing the proof

  • If M is connected, but not 2-connected, we recursively

construct the guard sets for each 2-connected component

  • Technical: if M has t connected components, at most t − 1

extra guards are necessary beyond what the recursive construction gives

17/17

slide-61
SLIDE 61

Sharpness

mV + mH = 13, p = 16 A new block requires 4 more point guards, but only 3 more vertical + horizontal mobile guards.

slide-62
SLIDE 62

Translating the problem to the pixelation graph

Orthogonal polygon Pixelation graph Mobile guard Vertex Point guard Edge Simply connected Chordal bipartite (⇒, but ⇐) r-vision of two points e1 ∩ e2 = ∅ or G[e1 ∪ e2] ∼ = C4

  • Horiz. mobile guard cover

MH ⊆ SH dominating SV Covering set of mobile guards Dominating set

slide-63
SLIDE 63

Making the definitions precise

  • Degenerate-vision is prohibited
  • The vertical and horizontal lines containing a point/mobile

guard may not pass through a vertex of the polygon.

  • These may be assumed without loss of generality, by using

applying the following transformation to the gallery:

slide-64
SLIDE 64

Simply connectedness is essential

For an orthogonal polygon with orthogonal holes, the ratio of mV + mH and p is not bounded: no two of the black dots can be covered by a single point guard. mV + mH = 4k + 4, but p ≥ k2

slide-65
SLIDE 65

Approximation algorithms for line of sight vision

Theorem (Krohn and Nilsson, 2012) There is a polynomial time algorithm that computes a guard cover

  • f size O(OPT 2) in a simple orthogonal polygon P, where OPT

is the size of the smallest guard cover for P.

slide-66
SLIDE 66

Approximation algorithms for line of sight vision

Theorem (Krohn and Nilsson, 2012) There is a polynomial time algorithm that computes a guard cover

  • f size O(OPT 2) in a simple orthogonal polygon P, where OPT

is the size of the smallest guard cover for P. Theorem (Ghosh, 2010) There is an O(n5) time algorithm that computes a solution the point guard problem in a polygon (with or without holes) with an O(log n) approximation ratio.

slide-67
SLIDE 67

Approximation algorithms for line of sight vision

Theorem (Krohn and Nilsson, 2012) There is a polynomial time algorithm that computes a guard cover

  • f size O(OPT 2) in a simple orthogonal polygon P, where OPT

is the size of the smallest guard cover for P. Theorem (Ghosh, 2010) There is an O(n5) time algorithm that computes a solution the point guard problem in a polygon (with or without holes) with an O(log n) approximation ratio. Theorem (Eidenbenz, Stamm, and Widmayer, 2001) The point guard problem in simple polygons is APX-hard.

slide-68
SLIDE 68

Covering by r-stars

Theorem (Hoffmann and Kaufmann, 1991) Any n-vertex orthogonal polygon with holes can be partitioned into at most n

4

  • at most 16-vertex r-stars in ˜

O(n

3 2 ) time.

A 16-vertex r-star.