Visibility Graphs of Staircase Polygons: Algorithm for ...shinms/nt-conf-alexandr.pdfThe visibility...

Post on 28-Jun-2020

7 views 0 download

Transcript of Visibility Graphs of Staircase Polygons: Algorithm for ...shinms/nt-conf-alexandr.pdfThe visibility...

Visibility Graphs of Staircase Polygons: Algorithm forBuilding Staircase Polygons from Slope-Ranking

Balanced Tableaux

James Abello1 Yulia Alexandr2

1DIMACS, Rutgers University, NJ

2Wesleyan University, CT

Berkeley Number Theory Conference, April 2018

Abello, Alexandr Visibility Graphs April 15, 2018 1 / 21

Table of Contents

1 Definitions

2 The Algorithm

Abello, Alexandr Visibility Graphs April 15, 2018 2 / 21

Polygons and Visibility

We consider a simple non-degenerate collection of points in the planethat produces a polygon.

Two vertices of the polygon are called internally visible if the closedline segment between them is either an edge of the polygon or liesentirely in the interior of the polygon (Abello et al).

Abello, Alexandr Visibility Graphs April 15, 2018 3 / 21

Polygons and Visibility

We consider a simple non-degenerate collection of points in the planethat produces a polygon.

Two vertices of the polygon are called internally visible if the closedline segment between them is either an edge of the polygon or liesentirely in the interior of the polygon (Abello et al).

Abello, Alexandr Visibility Graphs April 15, 2018 3 / 21

Example

A

B

ear

Abello, Alexandr Visibility Graphs April 15, 2018 4 / 21

Example

A

B

ear

Abello, Alexandr Visibility Graphs April 15, 2018 4 / 21

It was shown by Abello et al.that, through eardecomposition, it suffices tolook at staircase polygons.

In particular, we look atstaircase polygon paths.

Abello, Alexandr Visibility Graphs April 15, 2018 5 / 21

It was shown by Abello et al.that, through eardecomposition, it suffices tolook at staircase polygons.

In particular, we look atstaircase polygon paths.

Abello, Alexandr Visibility Graphs April 15, 2018 5 / 21

It was shown by Abello et al.that, through eardecomposition, it suffices tolook at staircase polygons.

In particular, we look atstaircase polygon paths.

Abello, Alexandr Visibility Graphs April 15, 2018 5 / 21

It was shown by Abello et al.that, through eardecomposition, it suffices tolook at staircase polygons.

In particular, we look atstaircase polygon paths.

Abello, Alexandr Visibility Graphs April 15, 2018 5 / 21

It was shown by Abello et al.that, through eardecomposition, it suffices tolook at staircase polygons.

In particular, we look atstaircase polygon paths.

Abello, Alexandr Visibility Graphs April 15, 2018 5 / 21

Staircase Polygons and Visibility Graphs

A staircase polygon monotone, decreasing sequence of a finitenumber of alternating horizontal and vertical line segmentsconnecting some point p on a positive y -axis with some point q apositive x-axis, together with the segments from the origin to p andthe origin to q (Abello et al).

The visibility graph of a polygon is a graph whose vertex set is thesame as the vertex set of a polygon and whose edges are thestraight-line segments between internally visible vertices.

Abello, Alexandr Visibility Graphs April 15, 2018 6 / 21

Staircase Polygons and Visibility Graphs

A staircase polygon monotone, decreasing sequence of a finitenumber of alternating horizontal and vertical line segmentsconnecting some point p on a positive y -axis with some point q apositive x-axis, together with the segments from the origin to p andthe origin to q (Abello et al).

The visibility graph of a polygon is a graph whose vertex set is thesame as the vertex set of a polygon and whose edges are thestraight-line segments between internally visible vertices.

Abello, Alexandr Visibility Graphs April 15, 2018 6 / 21

Balanced Tableau

A balanced tableau is atableau that has staircase shapewith

(n2

)consecutive entries.

We define the hook of a cell tobe the collection of cells thatincludes the chosen cell with allthe cells above it and all thecells to its right.

Moving ↓ and →, we definemate cells with respect to somechosen cell.

A tableau is balanced if thevalue of every cell lies inbetween every pair of mate cellsin its hook.

1

1 2

2 8 3

3 9 10 4

4 7 6 5 5

Abello, Alexandr Visibility Graphs April 15, 2018 7 / 21

Balanced Tableau

A balanced tableau is atableau that has staircase shapewith

(n2

)consecutive entries.

We define the hook of a cell tobe the collection of cells thatincludes the chosen cell with allthe cells above it and all thecells to its right.

Moving ↓ and →, we definemate cells with respect to somechosen cell.

A tableau is balanced if thevalue of every cell lies inbetween every pair of mate cellsin its hook.

1

1 2

2 8 3

3 9 10 4

4 7 6 5 5

Abello, Alexandr Visibility Graphs April 15, 2018 7 / 21

Balanced Tableau

(!) A tableau represents slope ranks in a staircase path on n vertices.

Abello, Alexandr Visibility Graphs April 15, 2018 8 / 21

Local Maxima/Minima Rule

Using the Local Maxima Rule(Abello et al.), we obtain theLocal Maxima Tableau from aBalanced Tableau we’re given.

This is a collection ofsubdiagonal entries of anadjacency matrix of a graph.

1

2 8

3 9 10

4 7 6 5

1

1 1

1 1 1

1 0 0 1

Abello, Alexandr Visibility Graphs April 15, 2018 9 / 21

Local Maxima/Minima Rule

Using the Local Maxima Rule(Abello et al.), we obtain theLocal Maxima Tableau from aBalanced Tableau we’re given.

This is a collection ofsubdiagonal entries of anadjacency matrix of a graph.

1

2 8

3 9 10

4 7 6 5

1

1 1

1 1 1

1 0 0 1

Abello, Alexandr Visibility Graphs April 15, 2018 9 / 21

Problem Statement

Problem Statement

Want to know whether there is an algorithm that transforms:Input: A balanced tableau Tn.Output: A staircase polygon whose visibility path is isomorphic tolocalMax(Tn).

Abello, Alexandr Visibility Graphs April 15, 2018 10 / 21

Problem Statement

The problem is known to be PSPACE .

We also want to know whether it is NP or P.

Abello, Alexandr Visibility Graphs April 15, 2018 11 / 21

Problem Statement

The problem is known to be PSPACE .

We also want to know whether it is NP or P.

Abello, Alexandr Visibility Graphs April 15, 2018 11 / 21

The Algorithm

It suffices to build a visibility path.

We begin building it inductively, starting from the middle of the path.

We define a visibility region to be the intersection of unboundedregions in the plane defined by lines between pairs of visible verticessuch that if we place a vertex p anywhere in the visibility region, itsvisibility (as defined by localMax(Tn)) is satisfied with respect to theother (already placed) vertices in the path.

Important to note: visibility regions can be bounded.

Abello, Alexandr Visibility Graphs April 15, 2018 12 / 21

The Algorithm

It suffices to build a visibility path.

We begin building it inductively, starting from the middle of the path.

We define a visibility region to be the intersection of unboundedregions in the plane defined by lines between pairs of visible verticessuch that if we place a vertex p anywhere in the visibility region, itsvisibility (as defined by localMax(Tn)) is satisfied with respect to theother (already placed) vertices in the path.

Important to note: visibility regions can be bounded.

Abello, Alexandr Visibility Graphs April 15, 2018 12 / 21

The Algorithm

It suffices to build a visibility path.

We begin building it inductively, starting from the middle of the path.

We define a visibility region to be the intersection of unboundedregions in the plane defined by lines between pairs of visible verticessuch that if we place a vertex p anywhere in the visibility region, itsvisibility (as defined by localMax(Tn)) is satisfied with respect to theother (already placed) vertices in the path.

Important to note: visibility regions can be bounded.

Abello, Alexandr Visibility Graphs April 15, 2018 12 / 21

The Algorithm

It suffices to build a visibility path.

We begin building it inductively, starting from the middle of the path.

We define a visibility region to be the intersection of unboundedregions in the plane defined by lines between pairs of visible verticessuch that if we place a vertex p anywhere in the visibility region, itsvisibility (as defined by localMax(Tn)) is satisfied with respect to theother (already placed) vertices in the path.

Important to note: visibility regions can be bounded.

Abello, Alexandr Visibility Graphs April 15, 2018 12 / 21

The Algorithm: First Attempt

For a middle vertex vk , build a 3-vertex path vk−1vkvk+1.

Construct visibility regions for vk−2 and vk+2.

Place vk−2 and vk+2 in their respective regions.

Continue this process inductively, until the last vertex has been placed.

Abello, Alexandr Visibility Graphs April 15, 2018 13 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

Example

1

2 1 2

3 1 1 3

4 1 1 1 4

5 1 0 0 1 5

23

4

1

5

Abello, Alexandr Visibility Graphs April 15, 2018 14 / 21

The Algorithm: Revised

For a middle vertex vk , place a 3-vertex path vk−1vkvk+1, whichpreserves visibility.

Construct all visibility regions for vk−2 and vk+2.

Place vk−2 and vk+2 in the intersections of their respective regions.

Continue this process inductively, until the last vertex has been placed.

Placing each new vertex in its region, preserve slope ranks of the linesegments between the vertex and the already placed vertices it sees,and record the slopes.

Abello, Alexandr Visibility Graphs April 15, 2018 15 / 21

Example: Preserving Ranks

1

2 1 2

3 2 8 3

4 3 9 10 4

5 4 7 6 5 5

Abello, Alexandr Visibility Graphs April 15, 2018 16 / 21

Some Results

Regions are never empty as long as we preserve slope ranks of farthestseen vertices at each stage of construction.

I Concave-concave (convex-convex)I Concave-convex (convex-concave)I General case

It is always possible to preserve slope ranks of farthest seen vertices.

Abello, Alexandr Visibility Graphs April 15, 2018 17 / 21

Some Results

Regions are never empty as long as we preserve slope ranks of farthestseen vertices at each stage of construction.

I Concave-concave (convex-convex)I Concave-convex (convex-concave)I General case

It is always possible to preserve slope ranks of farthest seen vertices.

Abello, Alexandr Visibility Graphs April 15, 2018 17 / 21

Why are Regions Never Empty?

Proof by induction.

Start with two lines and assume, towards a contradiction, that theintersection of the regions the lines define is empty.

Big, messy case analysis.

Each case leads to a contradiction.

Inductive case: any potentially empty region formed by k lines can bereduced to only 2 lines.

Abello, Alexandr Visibility Graphs April 15, 2018 18 / 21

Why are Regions Never Empty?

Proof by induction.

Start with two lines and assume, towards a contradiction, that theintersection of the regions the lines define is empty.

Big, messy case analysis.

Each case leads to a contradiction.

Inductive case: any potentially empty region formed by k lines can bereduced to only 2 lines.

Abello, Alexandr Visibility Graphs April 15, 2018 18 / 21

Why are Regions Never Empty?

Proof by induction.

Start with two lines and assume, towards a contradiction, that theintersection of the regions the lines define is empty.

Big, messy case analysis.

Each case leads to a contradiction.

Inductive case: any potentially empty region formed by k lines can bereduced to only 2 lines.

Abello, Alexandr Visibility Graphs April 15, 2018 18 / 21

Why are Regions Never Empty?

Proof by induction.

Start with two lines and assume, towards a contradiction, that theintersection of the regions the lines define is empty.

Big, messy case analysis.

Each case leads to a contradiction.

Inductive case: any potentially empty region formed by k lines can bereduced to only 2 lines.

Abello, Alexandr Visibility Graphs April 15, 2018 18 / 21

Why are Regions Never Empty?

Proof by induction.

Start with two lines and assume, towards a contradiction, that theintersection of the regions the lines define is empty.

Big, messy case analysis.

Each case leads to a contradiction.

Inductive case: any potentially empty region formed by k lines can bereduced to only 2 lines.

Abello, Alexandr Visibility Graphs April 15, 2018 18 / 21

Why Can We Preserve Ranks?

Think of preserving ranks as further restricting visibility regions tosubregions in which slope ranks are guaranteed to be preserved.

Prove those subregions are never empty.

Also induction and case analysis (but using slightly differentconcepts).

Abello, Alexandr Visibility Graphs April 15, 2018 19 / 21

Why Can We Preserve Ranks?

Think of preserving ranks as further restricting visibility regions tosubregions in which slope ranks are guaranteed to be preserved.

Prove those subregions are never empty.

Also induction and case analysis (but using slightly differentconcepts).

Abello, Alexandr Visibility Graphs April 15, 2018 19 / 21

Why Can We Preserve Ranks?

Think of preserving ranks as further restricting visibility regions tosubregions in which slope ranks are guaranteed to be preserved.

Prove those subregions are never empty.

Also induction and case analysis (but using slightly differentconcepts).

Abello, Alexandr Visibility Graphs April 15, 2018 19 / 21

Acknowledgements:

Prof. James Abello and DIMACS,

NSF grant CCF-1559855.

Abello, Alexandr Visibility Graphs April 15, 2018 20 / 21

References:

1 Abello et al, Visibility Graphs of Staircase Polygons and the WeakBruhat Order, I: from Visibility Graphs to Maximal Chains*. Discreteand Computational Geometry. 1995. 331-358.

Abello, Alexandr Visibility Graphs April 15, 2018 21 / 21