Guarding Polyominoes under k-hop Visibility or Minimum k ...

24
Guarding Polyominoes under k-hop Visibility or Minimum k-Dominating Sets in Grid Graphs Christiane Schmidt ICCG 2021, Yazd/Online, February 18, 2021 Research funded by Sweden’s Innovation Agency VINNOVA within the project NEtworK Optimization for CarSharing Integration into a Multimodal TRANSportation System (EkoCS-Trans)

Transcript of Guarding Polyominoes under k-hop Visibility or Minimum k ...

Page 1: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Guarding Polyominoes under k-hop Visibility or Minimum k-Dominating Sets in Grid GraphsChristiane Schmidt ICCG 2021, Yazd/Online, February 18, 2021

Research funded by Sweden’s Innovation Agency VINNOVA within the project NEtworK Optimization for CarSharing Integration into a Multimodal TRANSportation System (EkoCS-Trans)

Page 2: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleAgenda

2

• Motivation and Formal Problem Definition • NP-Completeness • Art Gallery Theorems • Open Problems

Page 3: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleMotivation• Serve a city with carsharing (CS) stations: - Demand in granularity of square cells - Customers willing to walk a certain distance - Same distance bound for the complete city - City ➜ Polyomino - Walking only within the polyomino

• Goal: Place as few CS stations as possible to serve the complete city

3

Image source: Gunnar Flötteröd, Waterborne Urban Mobility, Final Project Report

Page 4: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleMotivation• So, what can a station serve? - All unit squares of the polyomino reachable

when walking when walking inside the polyomino for at most the given walking range - Walking range k - “Visibility”: We can look around corners for k ≥2

4

k=5

Page 5: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleFormal Definition• Polyomino: connected polygon P in plane,

formed by joining m unit squares on the square lattice • Dual graph GP is a grid graph • Unit square v∈P k-hop visible to unit square u∈P, if shortest path from u to v

in GP has length at most k. Minimum k-hop Guarding Problem (MkGP) Given: Polyomino P, range k Find: Minimum cardinality unit-square guard cover in P under k-hop visibility.

5

k=3

Page 6: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleAlternative FormulationMinimum k-dominating Set Problem (MkDSP) Given: Graph G Find: Minimum cardinality Dk ⊆ V(G), each graph vertex connected to vertex in Dk with a path of length at most k. MkDSP is NP-complete in general graphs. ➡ We want to solve MkDSP in grid graphs

6

Page 7: Guarding Polyominoes under k-hop Visibility or Minimum k ...

NP-Completeness

Page 8: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleTheorem 1: MkGP is NP-complete for k=2 in polyominoes with holes. • Proof by reduction from PLANAR 3 SAT • Given a set of guards it can be verified in polynomial time whether each unit square of the polyomino is covered

8

Variable gadget with two corridor gadgets: • In case variable appears in clause • In case negated variable appears in clause

“true” “false”Corridor propagates variable value

Page 9: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title style

9

Corridor bend:

Page 10: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title style

10

Clause gadget

FFF: 3 witnesses - pairwise disjoint visibility regions

3 guards (necessary and sufficient)

FFT:

2 guards (necessary and sufficient)

FTT:

2 guards (necessary and sufficient)

TTT:

No guard can see all three squares

2 guards (necessary and sufficient)

Page 11: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title style

11

<latexit sha1_base64="3zeOcb/YIdW3ZfLkviLxacsFRZI=">AAAB7HicdVDLSsNAFL2pr1pfVZduBlvBVUiKtboruHFZxbSFNpTJdNIOnUzCzKRQQr/BjQtF3PpB7vwbpw/B54ELh3Pu5d57goQzpR3n3cqtrK6tb+Q3C1vbO7t7xf2DpopTSahHYh7LdoAV5UxQTzPNaTuRFEcBp61gdDXzW2MqFYvFnZ4k1I/wQLCQEayN5JXHPbfcK5Yc+/yyVqmeod/EtZ05SrBEo1d86/ZjkkZUaMKxUh3XSbSfYakZ4XRa6KaKJpiM8IB2DBU4osrP5sdO0YlR+iiMpSmh0Vz9OpHhSKlJFJjOCOuh+unNxL+8TqrDCz9jIkk1FWSxKEw50jGafY76TFKi+cQQTCQztyIyxBITbfIpmBA+P0X/k2bFdqu2c1Mp1W+XceThCI7hFFyoQR2uoQEeEGBwD4/wZAnrwXq2XhatOWs5cwjfYL1+AFYtjm8=</latexit>v1<latexit sha1_base64="oDH913c7M4DS1p5lWO71yJnIm2s=">AAAB7HicdVDLSsNAFL2pr1pfVZduBlvBVUiCtboruHFZxT6gDWUynbRDJ5MwMymU0G9w40IRt36QO//G6UPweeDC4Zx7ufeeIOFMacd5t3Irq2vrG/nNwtb2zu5ecf+gqeJUEtogMY9lO8CKciZoQzPNaTuRFEcBp61gdDXzW2MqFYvFnZ4k1I/wQLCQEayN1CiPe165Vyw59vll1aucod/EtZ05SrBEvVd86/ZjkkZUaMKxUh3XSbSfYakZ4XRa6KaKJpiM8IB2DBU4osrP5sdO0YlR+iiMpSmh0Vz9OpHhSKlJFJjOCOuh+unNxL+8TqrDCz9jIkk1FWSxKEw50jGafY76TFKi+cQQTCQztyIyxBITbfIpmBA+P0X/k6ZnuxXbufFKtdtlHHk4gmM4BReqUINrqEMDCDC4h0d4soT1YD1bL4vWnLWcOYRvsF4/AFeyjnA=</latexit>v2

<latexit sha1_base64="FQ8rd+NHvQuBgaR3S4QEVpXpJBs=">AAAB7HicdVDLSsNAFL3xWeur6tLNYCu4Ckm1VncFNy6rmLbQhjKZTtqhk0mYmRRK6De4caGIWz/InX/j9CH4PHDhcM693HtPkHCmtOO8W0vLK6tr67mN/ObW9s5uYW+/oeJUEuqRmMeyFWBFORPU00xz2kokxVHAaTMYXk395ohKxWJxp8cJ9SPcFyxkBGsjeaVR97TULRQd+/yyWq6cod/EtZ0ZirBAvVt46/RikkZUaMKxUm3XSbSfYakZ4XSS76SKJpgMcZ+2DRU4osrPZsdO0LFReiiMpSmh0Uz9OpHhSKlxFJjOCOuB+ulNxb+8dqrDCz9jIkk1FWS+KEw50jGafo56TFKi+dgQTCQztyIywBITbfLJmxA+P0X/k0bZdiu2c1Mu1m4XceTgEI7gBFyoQg2uoQ4eEGBwD4/wZAnrwXq2XuatS9Zi5gC+wXr9AFk3jnE=</latexit>v3

<latexit sha1_base64="lxITenWNhl8vOABqcQDLYwYuV9g=">AAACDXicdVDLSgMxFM34rPVVdekm2Ap1U2aqtboruHFZxT6gU4ZMetuGZh4kmYEy9Afc+CtuXCji1r07/8ZMW8HngcDhnHuS3OOGnEllmu/GwuLS8spqZi27vrG5tZ3b2W3KIBIUGjTggWi7RAJnPjQUUxzaoQDiuRxa7ugi9VsxCMkC/0aNQ+h6ZOCzPqNEacnJFQrF2LGwHQPg2CnPiB3oSHpjEjvHk6OCk8ubpdPzarlygn8Tq2ROkUdz1J3cm90LaOSBrygnUnYsM1TdhAjFKIdJ1o4khISOyAA6mvrEA9lNpttM8KFWergfCH18hafq10RCPCnHnqsnPaKG8qeXin95nUj1z7oJ88NIgU9nD/UjjlWA02pwjwmgio81IVQw/VdMh0QQqnSBWV3C56b4f9Isl6xKybwq52vX8zoyaB8doCKyUBXV0CWqowai6Bbdo0f0ZNwZD8az8TIbXTDmmT30DcbrB3iKmqY=</latexit>

(v1 _ v2 _ v3)

Page 12: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title style

Theorem 1: MkGP is NP-complete for k=2 in polyominoes with holes. Equivalent formulation: Minimum 2-dominating Set Problem is NP-complete in grid graphs.

12

Page 13: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleTheorem 2: MkGP is NP-complete for k=1 in polyominoes with holes. • Proof by reduction from PLANAR 3 SAT • Given a set of guards it can be verified in polynomial time whether each unit square of the polyomino is covered

13

Variable gadget with two corridor gadgets: • In case variable appears in clause • In case negated variable appears in clause

“true” “false”Corridor propagates variable value

Corridor bending works as before

Page 14: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title style

14

Clause gadget

FFF: 3 witnesses - pairwise disjoint visibility regions

3 guards (necessary and sufficient)

FFT:

2 guards (necessary and sufficient)

FTT:

2 guards (necessary and sufficient)

TTT:

2 witnesses pairwise disjoint visibility regions

2 guards (necessary and sufficient)

Page 15: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title style

15

<latexit sha1_base64="3zeOcb/YIdW3ZfLkviLxacsFRZI=">AAAB7HicdVDLSsNAFL2pr1pfVZduBlvBVUiKtboruHFZxbSFNpTJdNIOnUzCzKRQQr/BjQtF3PpB7vwbpw/B54ELh3Pu5d57goQzpR3n3cqtrK6tb+Q3C1vbO7t7xf2DpopTSahHYh7LdoAV5UxQTzPNaTuRFEcBp61gdDXzW2MqFYvFnZ4k1I/wQLCQEayN5JXHPbfcK5Yc+/yyVqmeod/EtZ05SrBEo1d86/ZjkkZUaMKxUh3XSbSfYakZ4XRa6KaKJpiM8IB2DBU4osrP5sdO0YlR+iiMpSmh0Vz9OpHhSKlJFJjOCOuh+unNxL+8TqrDCz9jIkk1FWSxKEw50jGafY76TFKi+cQQTCQztyIyxBITbfIpmBA+P0X/k2bFdqu2c1Mp1W+XceThCI7hFFyoQR2uoQEeEGBwD4/wZAnrwXq2XhatOWs5cwjfYL1+AFYtjm8=</latexit>v1<latexit sha1_base64="oDH913c7M4DS1p5lWO71yJnIm2s=">AAAB7HicdVDLSsNAFL2pr1pfVZduBlvBVUiCtboruHFZxT6gDWUynbRDJ5MwMymU0G9w40IRt36QO//G6UPweeDC4Zx7ufeeIOFMacd5t3Irq2vrG/nNwtb2zu5ecf+gqeJUEtogMY9lO8CKciZoQzPNaTuRFEcBp61gdDXzW2MqFYvFnZ4k1I/wQLCQEayN1CiPe165Vyw59vll1aucod/EtZ05SrBEvVd86/ZjkkZUaMKxUh3XSbSfYakZ4XRa6KaKJpiM8IB2DBU4osrP5sdO0YlR+iiMpSmh0Vz9OpHhSKlJFJjOCOuh+unNxL+8TqrDCz9jIkk1FWSxKEw50jGafY76TFKi+cQQTCQztyIyxBITbfIpmBA+P0X/k6ZnuxXbufFKtdtlHHk4gmM4BReqUINrqEMDCDC4h0d4soT1YD1bL4vWnLWcOYRvsF4/AFeyjnA=</latexit>v2

<latexit sha1_base64="FQ8rd+NHvQuBgaR3S4QEVpXpJBs=">AAAB7HicdVDLSsNAFL3xWeur6tLNYCu4Ckm1VncFNy6rmLbQhjKZTtqhk0mYmRRK6De4caGIWz/InX/j9CH4PHDhcM693HtPkHCmtOO8W0vLK6tr67mN/ObW9s5uYW+/oeJUEuqRmMeyFWBFORPU00xz2kokxVHAaTMYXk395ohKxWJxp8cJ9SPcFyxkBGsjeaVR97TULRQd+/yyWq6cod/EtZ0ZirBAvVt46/RikkZUaMKxUm3XSbSfYakZ4XSS76SKJpgMcZ+2DRU4osrPZsdO0LFReiiMpSmh0Uz9OpHhSKlxFJjOCOuB+ulNxb+8dqrDCz9jIkk1FWS+KEw50jGafo56TFKi+dgQTCQztyIywBITbfLJmxA+P0X/k0bZdiu2c1Mu1m4XceTgEI7gBFyoQg2uoQ4eEGBwD4/wZAnrwXq2XuatS9Zi5gC+wXr9AFk3jnE=</latexit>v3

<latexit sha1_base64="lxITenWNhl8vOABqcQDLYwYuV9g=">AAACDXicdVDLSgMxFM34rPVVdekm2Ap1U2aqtboruHFZxT6gU4ZMetuGZh4kmYEy9Afc+CtuXCji1r07/8ZMW8HngcDhnHuS3OOGnEllmu/GwuLS8spqZi27vrG5tZ3b2W3KIBIUGjTggWi7RAJnPjQUUxzaoQDiuRxa7ugi9VsxCMkC/0aNQ+h6ZOCzPqNEacnJFQrF2LGwHQPg2CnPiB3oSHpjEjvHk6OCk8ubpdPzarlygn8Tq2ROkUdz1J3cm90LaOSBrygnUnYsM1TdhAjFKIdJ1o4khISOyAA6mvrEA9lNpttM8KFWergfCH18hafq10RCPCnHnqsnPaKG8qeXin95nUj1z7oJ88NIgU9nD/UjjlWA02pwjwmgio81IVQw/VdMh0QQqnSBWV3C56b4f9Isl6xKybwq52vX8zoyaB8doCKyUBXV0CWqowai6Bbdo0f0ZNwZD8az8TIbXTDmmT30DcbrB3iKmqY=</latexit>

(v1 _ v2 _ v3)

Page 16: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Art Gallery Theorems

Page 17: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleTheorem 3: There exist simple polyominoes with m unit squares that require guards to cover their interior under k-hop visibility.

17

m not divisible by k+1 ➜ we add x=(m mod (k+1)) unit squares to the right of the shaft

k=1

k=6

Page 18: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleTheorem 4: guards are always sufficient and sometimes necessary to cover a polyomino with m unit squares under k-hop visibility for k∈{1,2}.

18

always sufficient

Proof: k=1: • Use dual grid graph GP • Compute a maximum matching M in the dual grid graph GP • Every vertex in GP that is not matched is adjacent to matched vertices only • For each matching edge {v,w} unmatched vertices only adjacent to v or w • For each matching edge: place guard at unit square adjacent to

unmatched vertices (if any)

Page 19: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleTheorem 4: guards are always sufficient and sometimes necessary to cover a polyomino with m unit squares under k-hop visibility for k∈{1,2}.

19

Proof: k=2: • Again: Compute a maximum matching M in the dual grid graph GP • Graph GM based on M:

- Vertex for each matching edge - Vertex for each unmatched vertex - {v,v’}∈V(GM) if:

- For v=v{u,u’}, v’=v’{w,w’}: if at least one of the edges {u,w}, {u,w’}, {u’,w} or {u’,w’} ∈E(GP)

- For v=v{u,u’}, v’=v’w: if at least one of {u,w} or {u,w’} ∈E(GP) • Compute maximum matching M’ in GM

Page 20: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleTheorem 4: guards are always sufficient and sometimes necessary to cover a polyomino with m unit squares under k-hop visibility for k∈{1,2}.

20

Proof: k=2: Case distinction

u' u

w w'

u'uw

w'

y

y'

y''

u'u

w w'

y y'

y''

e={v{u,u’}, v{w,w’}} ∈M’ not adjacent to any other unmatched vertex Single guard covers 4 unit squares

e={v{u,u’}, v{w,w’}} ∈M’ adjacent to unmatched vertices, all of which represent one vertex from GP.

W.l.o.g. all unmatched vertices adjacent to v{u,u’}

{u,w}∈ E(GP) or {u,w’}∈ E(GP), but {u’,w}∉E(GP) and {u’,w’}∉E(GP) Single guard on u covers u, u’, w, w’ and all unmatched vertices adjacent to covered v{u,u’} Single guard covers at least 5 unit squares

{u,w}∈ E(GP) and {u’,w’}∈ E(GP) (or {u’,w}∈ E(GP) and {u’,w’}∈ E(GP)) Single guard on u (or u’) covers u, u’, w, w’ and all unmatched vertices adjacent to covered v{u,u’} Single guard covers at least 5 unit squares

Page 21: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title style

21

u'uw

w' x

x'

u'u

w

u'uwy

y'

Two guards cover at least 6 unit squares

Single guard covers 3 unit squares

Single guard covers at least 4 unit squares

w u'u

y

x

x'

w u'u

y

x

x'

Single guard covers at least 5 unit squares

Single guard covers at least 5 unit squares

w u'u

y

z

z'

x x'

u'

u

x

x'w

Single guard covers at least 5 unit squares

Two guards cover at least 6 unit squares

➜Each guard covers at least 3 unit squares ➜ ⌊m/(k+1)⌋=⌊m/3⌋ guards always sufficient

Page 22: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Open Problems

Page 23: Guarding Polyominoes under k-hop Visibility or Minimum k ...

Click to edit Master title styleOpen Problems

• Computational complexity in simple polyominoes (grid graphs without holes) • Upper bounds on the number of guards for k≥3 • Approximation algorithms (k=1: trivial 5/2-approximation)

23

Page 24: Guarding Polyominoes under k-hop Visibility or Minimum k ...

THANKS