G unter Rote Freie Universit at Berlin G unter Rote, Freie - - PowerPoint PPT Presentation

g unter rote
SMART_READER_LITE
LIVE PREVIEW

G unter Rote Freie Universit at Berlin G unter Rote, Freie - - PowerPoint PPT Presentation

EuroCG 2020 Ph. D. School on Computational Geometry Counting and Enumeration in Geometry G unter Rote Freie Universit at Berlin G unter Rote, Freie Universit at Berlin Counting and enumeration in geometry PhD School on


slide-1
SLIDE 1

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting and Enumeration in Geometry

G¨ unter Rote

Freie Universit¨ at Berlin

EuroCG 2020 Ph. D. School on Computational Geometry

slide-2
SLIDE 2

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Triangulations of a point set

two triangulations a point set

slide-3
SLIDE 3

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Triangulations of a point set

two triangulations a point set COUNT: How many triangulations does a given point set have? EXTREMAL QUESTION: How many triangulations can a set

  • f n points have? at most? at least?

ENUMERATE (list, visit) all triangulations of a given point set. OPTIMIZE: Find the “best” triangulation of a given point set. SAMPLE: Generate a random triangulation (uniformly)

slide-4
SLIDE 4

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Other noncrossing geometric structures

two non-crossing perfect matchings a point set

  • triangulations
  • non-crossing spanning trees
  • non-crossing Hamiltonian cycles
  • non-crossing matchings
  • non-crossing perfect matchings
  • . . .
  • [your favorite straight-line geometric graph structure]
slide-5
SLIDE 5

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

The extremal question

https://adamsheffer.wordpress.com/numbers-of-plane-graphs/

Given a set of n points in the plane (in general position), how many

  • triangulations
  • non-crossing spanning trees
  • non-crossing Hamiltonian cycles
  • non-crossing matchings
  • non-crossing perfect matchings
  • . . .
  • [your favorite straight-line geometric graph structure]

can it have, at most? (at least?)

slide-6
SLIDE 6

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

The extremal question

slide-7
SLIDE 7

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

The extremal question

Min #Triangulations: Ω(2.43N) O(3.455N)

slide-8
SLIDE 8

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

The extremal question

Min #Triangulations: Ω(2.43N) O(3.455N)

Think of some particular point set and COUNT its triangulations.

slide-9
SLIDE 9

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

The extremal question

Min #Triangulations: Ω(2.43N) O(3.455N)

Think of some particular point set and COUNT its triangulations.

slide-10
SLIDE 10

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Optimization

Given a set of points, find the triangulation that

  • has the smallest total edge length
  • minimizes the largest angle
  • maximizes the smallest angle
  • maximizes the total area of all triangles
  • minimizes the total squared edge length
  • is a good spanner
  • . . .

Enumerating all triangulations and taking the best one always works.

slide-11
SLIDE 11

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Optimization

Given a set of points, find the triangulation that

  • has the smallest total edge length
  • minimizes the largest angle
  • maximizes the smallest angle
  • maximizes the total area of all triangles
  • minimizes the total squared edge length
  • is a good spanner
  • . . .

Given a set of points, find the triangulation that

  • has the smallest total edge length NP-hard, quasipolynomial
  • minimizes the largest angle polynomial
  • maximizes the smallest angle Delaunay
  • maximizes the total area of all triangles easy
  • minimizes the total squared edge length??
  • is a good spanner??
  • . . .

Enumerating all triangulations and taking the best one always works.

slide-12
SLIDE 12

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Overview

  • 0. Introduction
  • 1. Count triangulations [ Alvarez and Seidel, 2013 ]
  • and perfect matchings [ Wettstein, 2014 ]
  • Optimal triangulations
  • 2. Coordinated primal-dual sweep

[ Biedl, Chambers, Kostitsyna, Rote, Felsner, 2020 ]

  • 3. Count perfect matchings of structured point sets

[ Asinowski and Rote, 2018 ]

  • 4. Production matrices [ Huemer, Pilz, Seara, Silveira, 2016 ]
slide-13
SLIDE 13

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation

slide-14
SLIDE 14

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes →

slide-15
SLIDE 15

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes →

slide-16
SLIDE 16

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes →

slide-17
SLIDE 17

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes →

slide-18
SLIDE 18

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes →

slide-19
SLIDE 19

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes →

slide-20
SLIDE 20

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes → → path in a DAG with 2n−2 nodes

slide-21
SLIDE 21

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes → → path in a DAG with 2n−2 nodes Not one-to-one! ? ?

slide-22
SLIDE 22

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes → → path in a DAG with 2n−2 nodes Always choose the LEFTmost triangle! Not one-to-one! ? ?

slide-23
SLIDE 23

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes → → path in a DAG with 2n−2 nodes Always choose the LEFTmost triangle! Not one-to-one!

slide-24
SLIDE 24

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes → → path in a DAG with 2n−2 nodes Always choose the LEFTmost triangle! Not one-to-one! MARK the position of change. (Ex. 1)

slide-25
SLIDE 25

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes → → path in a DAG with 2n−2 nodes Always choose the LEFTmost triangle! Not one-to-one! MARK the position of change. (Ex. 1)

slide-26
SLIDE 26

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes → → path in a DAG with 2n−2 nodes Always choose the LEFTmost triangle! Not one-to-one! MARK the position of change. (Ex. 1) ? ? ? ?

slide-27
SLIDE 27

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes → → path in a DAG with 2n−2 nodes Always choose the LEFTmost triangle! Not one-to-one! MARK the position of change. (Ex. 1) ? ? forbidden ? ?

slide-28
SLIDE 28

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 1. Count Triangulations

Count, sample, enumerate

[ V. Alvarez, R. Seidel, 2013 ]

triangulation sequence of x-monotone ropes → → path in a DAG with 2n−2 nodes Always choose the LEFTmost triangle! MARKED ropes ↔ Not one-to-one! MARK the position of change. (Ex. 1) O(n2n)

slide-29
SLIDE 29

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

N(v) := #paths from source to v Compute N(v) from source to sink.

slide-30
SLIDE 30

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

1 11 1 1 2 4 1 3 6 14 28 8 2 N(v) := #paths from source to v Compute N(v) from source to sink.

slide-31
SLIDE 31

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

1 11 1 1 2 4 1 3 6 14 28 8 2 How to SAMPLE a random path: Find a random number between 1 and 28. . . . N(v) := #paths from source to v Compute N(v) from source to sink.

slide-32
SLIDE 32

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

21/28 1 11 1 1 2 4 1 3 6 14 28 8 2 How to SAMPLE a random path: Find a random number between 1 and 28. . . . N(v) := #paths from source to v Compute N(v) from source to sink.

slide-33
SLIDE 33

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

7/14 21/28 1 11 1 1 2 4 1 3 6 14 28 8 2 How to SAMPLE a random path: Find a random number between 1 and 28. . . . because 21 = 3 + 11 + 7 N(v) := #paths from source to v Compute N(v) from source to sink.

slide-34
SLIDE 34

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

7/14 21/28 7/8 1 11 1 1 2 4 1 3 6 14 28 8 2 How to SAMPLE a random path: Find a random number between 1 and 28. . . . N(v) := #paths from source to v Compute N(v) from source to sink.

slide-35
SLIDE 35

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

7/14 21/28 7/8 1/2 1 11 1 1 2 4 1 3 6 14 28 8 2 How to SAMPLE a random path: Find a random number between 1 and 28. . . . because 7 = 2 + 4 + 1 N(v) := #paths from source to v Compute N(v) from source to sink.

slide-36
SLIDE 36

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

7/14 21/28 7/8 1/2 1 11 1 1 2 4 1 3 6 14 28 8 2 How to SAMPLE a random path: Find a random number between 1 and 28. . . . 1/1 N(v) := #paths from source to v Compute N(v) from source to sink.

slide-37
SLIDE 37

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

7/14 21/28 7/8 1/2 1 11 1 1 2 4 1 3 6 14 28 8 2 How to SAMPLE a random path: Find a random number between 1 and 28. . . . 1/1 N(v) := #paths from source to v Compute N(v) from source to sink.

slide-38
SLIDE 38

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Counting source-sink paths in a DAG

7/14 21/28 7/8 1/2 1 11 1 1 2 4 1 3 6 14 28 8 2 How to SAMPLE a random path: Find a random number between 1 and 28. . . . 1/1 Essentially, this is UNRANKING: Compute a function {1, . . . , N} → path N(v) := #paths from source to v Compute N(v) from source to sink.

slide-39
SLIDE 39

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Summary

The number of triangulations can be found in O(n22n) time and O(n2n) space. With this much preprocessing and space:

  • The triangulations can be enumerated with O(n) delay.
  • A random triangulation can be determined in O(n log n)

steps. WARNING: Have to deal with large numbers. Counting algorithm can use modular arithmetic (Chinese remainder theorem). Can be applied to other structures (e.g. matchings, Ex. 6) Can be used for optimizing decomposable objective functions. (Nonuniqueness is not an issue.)

slide-40
SLIDE 40

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Other algorithms for counting

There are many other approaches (divide-and-conquer, sweep, dynamic programming). The theoretically fastest algorithm for counting triangulations uses divide-and-conquer, based on balanced separators of size O(√n) and has supexponential runtime: nO(√n) Also for counting other structures. [“cactus layers”, Marx and Miltzow, 2016 ]

slide-41
SLIDE 41

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Overview

  • 0. Introduction
  • 1. Count triangulations [ Alvarez and Seidel, 2013 ]
  • and perfect matchings [ Wettstein 2014 ]
  • Optimal triangulations
  • 2. Coordinated primal-dual sweep

[ Biedl, Chambers, Kostitsyna, Rote, Felsner 2020 ]

  • 3. Count perfect matchings of structured point sets

[ Asinowski and Rote, 2018 ]

  • 4. Production matrices [ Huemer, Pilz, Silveira 2016 ]
slide-42
SLIDE 42

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 2. Bipolar orientations (s-t-planar graphs)

t s

  • plane directed acyclic graph
  • a single source s and

a single sink t

slide-43
SLIDE 43

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 2. Bipolar orientations (s-t-planar graphs)

t s t′ s′

  • plane directed acyclic graph
  • a single source s and

a single sink t

  • split the outer face:

→ dual graph with a left outer vertex s′ and a right vertex t′

slide-44
SLIDE 44

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 2. Bipolar orientations (s-t-planar graphs)

t s t′ s′

  • plane directed acyclic graph
  • a single source s and

a single sink t

  • split the outer face:

→ dual graph with a left outer vertex s′ and a right vertex t′

slide-45
SLIDE 45

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 2. Bipolar orientations (s-t-planar graphs)

t s t′ s′

  • plane directed acyclic graph
  • a single source s and

a single sink t

  • split the outer face:

→ dual graph with a left outer vertex s′ and a right vertex t′

  • The dual graph is also

a bipolar orientation. (may be a multigraph)

slide-46
SLIDE 46

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 2. Bipolar orientations (s-t-planar graphs)

t s t′ s′

  • plane directed acyclic graph
  • a single source s and

a single sink t

  • split the outer face:

→ dual graph with a left outer vertex s′ and a right vertex t′

  • The dual graph is also

a bipolar orientation. (may be a multigraph)

  • All faces in the overlay of the

two graphs are quadrilaterals:

slide-47
SLIDE 47

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t′ s′

  • sweep the dual graph

with an s′–t′ rope from bottom to top sweep over the leftmost possible face

slide-48
SLIDE 48

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t′ s′

  • sweep the dual graph

with an s′–t′ rope from bottom to top sweep over the leftmost possible face

slide-49
SLIDE 49

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t′ s′

  • sweep the dual graph

with an s′–t′ rope from bottom to top sweep over the leftmost possible face

slide-50
SLIDE 50

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t′ s′

  • sweep the dual graph

with an s′–t′ rope from bottom to top sweep over the leftmost possible face

slide-51
SLIDE 51

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t′ s′

  • sweep the dual graph

with an s′–t′ rope from bottom to top sweep over the leftmost possible face Sweep is always possible! (Ex. 3)

slide-52
SLIDE 52

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t′ s′

  • sweep the dual graph

with an s′–t′ rope from bottom to top sweep over the leftmost possible face Sweep is always possible! (Ex. 3) General form of a face (Ex. 2b)

slide-53
SLIDE 53

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t′ s′

  • sweep the dual graph

with an s′–t′ rope from bottom to top sweep over the leftmost possible face Sweep is always possible! (Ex. 3) General form of a face (Ex. 2b)

slide-54
SLIDE 54

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t′ s′

  • sweep the dual graph

with an s′–t′ rope from bottom to top sweep over the leftmost possible face Sweep is always possible! (Ex. 3) General form of a face (Ex. 2b)

slide-55
SLIDE 55

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t s

  • sweep the primal graph

with an s–t rope from left to right

slide-56
SLIDE 56

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t s

  • sweep the primal graph

with an s–t rope from left to right

slide-57
SLIDE 57

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t s

  • sweep the primal graph

with an s–t rope from left to right

slide-58
SLIDE 58

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t s

  • sweep the primal graph

with an s–t rope from left to right sweep over the lowest possible face

slide-59
SLIDE 59

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated primal-dual sweep

t s

  • sweep the primal graph

with an s–t rope from left to right sweep over the lowest possible face

slide-60
SLIDE 60

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Animation

dual rope in the dual (multi-)graph primal rope (The primal graph is not shown.) s′ t′ s t dual rope in the dual (multi-)graph primal rope (The primal graph is not shown.)

page.mi.fu-berlin.de/rote/Papers/slides/Wuerzburg-2020-Simultaneous-sweep-Animation.pdf

slide-61
SLIDE 61

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

There is a (unique) coordinated primal-dual sweep with the following properties:

  • The primal rope always crosses the dual rope exactly once.
  • The primal and the dual rope stay “close” to each other.
  • Exactly one rope can advance, depending on the situation

at the crossing.

  • Every primal-dual edge pair is visited exactly once.
  • Each individual sweep is a leftmost/bottommost sweep.

[ Biedl, Chambers, Kostitsyna, Rote, Felsner 2020 ] in connection with sweeping over a pseudoline arrangement, see Ex. 4.

slide-62
SLIDE 62

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

general situation:

slide-63
SLIDE 63

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

general situation:

slide-64
SLIDE 64

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

general situation:

slide-65
SLIDE 65

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

? ? general situation:

slide-66
SLIDE 66

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

general situation:

slide-67
SLIDE 67

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

The other case is symmetric. general situation:

slide-68
SLIDE 68

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

The other case is symmetric. general situation:

slide-69
SLIDE 69

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

The other case is symmetric. general situation:

slide-70
SLIDE 70

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Coordinated sweep

The other case is symmetric. general situation:

slide-71
SLIDE 71

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Overview

  • 0. Introduction
  • 1. Count triangulations [ Alvarez and Seidel, 2013 ]
  • and perfect matchings [ Wettstein 2014 ]
  • Optimal triangulations
  • 2. Coordinated primal-dual sweep

[ Biedl, Chambers, Kostitsyna, Rote, Felsner 2020 ]

  • 3. Count perfect matchings of structured point sets

[ Asinowski and Rote, 2018 ]

  • 4. Production matrices [ Huemer, Pilz, Seara, Silveira 2016 ]
slide-72
SLIDE 72

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 3. Perf. matchings in structured points

convex position smallest possible number of perfect matchings: Θ∗(2n) P Q double-chain Θ∗(3n)

[Garc´ ıa, Noy, Tejel 2000]

Upper bound: O∗(10.06n)

[Sharir, Welzl 2006]

∗ = up to a polynomial factor

“flat”!

slide-73
SLIDE 73

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 3. Perf. matchings in structured points

convex position smallest possible number of perfect matchings: Θ∗(2n) P Q double-chain Θ∗(3n)

[Garc´ ıa, Noy, Tejel 2000]

Upper bound: O∗(10.06n)

[Sharir, Welzl 2006]

∗ = up to a polynomial factor

noncrossing!

slide-74
SLIDE 74

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 3. Perf. matchings in structured points

r = 5 |P| = rn + 1 1 2 3 n r = 8: Θ∗(3.0930n) [ Asinowski and Rote 2018 ] Current lower bound record: The generalized double-zigzag chain

slide-75
SLIDE 75

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 3. Perf. matchings in structured points

r = 5 |P| = rn + 1 1 2 3 n r = 8: Θ∗(3.0930n) [ Asinowski and Rote 2018 ] Current lower bound record: The generalized double-zigzag chain Here: r = 3 without corners: Θ∗(3.037n)

slide-76
SLIDE 76

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 3. Perf. matchings in structured points

|P| = rn + 1 1 2 3 n r = 8: Θ∗(3.0930n) [ Asinowski and Rote 2018 ] Current lower bound record: The generalized double-zigzag chain Here: r = 3 without corners: Θ∗(3.037n) |P| = 3n

slide-77
SLIDE 77

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Perfect matchings in double-X

P Q |P| = |Q| = n

slide-78
SLIDE 78

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Perfect matchings in double-X

P Q |P| = |Q| = n P Q matching with k edges matching with k edges

slide-79
SLIDE 79

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Perfect matchings in double-X

P Q |P| = |Q| = n P Q matching with k edges matching with k edges n − 2k unique edges P—Q

slide-80
SLIDE 80

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Perfect matchings in double-X

P Q |P| = |Q| = n P Q matching with k edges matching with k edges n − 2k unique edges P—Q PM(double- X) =

n/2

  • k=0

Mk(X)2 M(X) =

n/2

  • k=0

Mk(X) M(X), Mk(X) = # matchings of X (with k edges) = ⇒ M(X)2/ n

2 ≤ PM(double-

X) ≤ M(X)2 = ⇒ Θ∗(32n) (Ex. 5)

slide-81
SLIDE 81

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

More general “flat” X

P

slide-82
SLIDE 82

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

More general “flat” X

P

slide-83
SLIDE 83

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

More general “flat” X

P

slide-84
SLIDE 84

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

More general “flat” X

P Must count only down-free matchings of P: The unmatched points must be visible from below!

slide-85
SLIDE 85

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Dynamic Programming Recursion

B dangling edges A dangling edges Xn

A

Xn+1

B

Xn

A = # possibilities after n arcs with A dangling edges

ℓn ℓn+1

slide-86
SLIDE 86

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Dynamic Programming Recursion

Xn+1

5

= Xn

2 + 3Xn 3 + 7Xn 4 + 6Xn 5 + 7Xn 6 + 3Xn 7 + Xn 8

               Xn+1 Xn+1

1

Xn+1

2

Xn+1

3

Xn+1

5

Xn+1

6

Xn+1

7

Xn+1

8.

. .                =                3 6 3 1 · · · 6 6 7 3 1 · · · 3 7 6 7 3 1 · · · 1 3 7 6 7 3 1 · · · 1 3 7 6 7 3 1 · · · 1 3 7 6 7 3 · · · 1 3 7 6 7 · · · 1 3 7 6 · · · . . . . . . . . . . . . . . . . . . . . . . . . ...                               Xn Xn

1

Xn

2

Xn

3

Xn

5

Xn

6

Xn

7

Xn

8

. . .               

row sum 28 = ⇒ vectors grow like 28n/n3/2 = ⇒ Θ∗(3.037N)

[ Banderier and Flajolet, 2002 ]

total #points

slide-87
SLIDE 87

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Weighted lattice paths

1 3 7 6 7 3 1 n Xn

A

A

slide-88
SLIDE 88

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Overview

  • 0. Introduction
  • 1. Count triangulations [ Alvarez and Seidel, 2013 ]
  • and perfect matchings [ Wettstein 2014 ]
  • Optimal triangulations
  • 2. Coordinated primal-dual sweep

[ Biedl, Chambers, Kostitsyna, Rote, Felsner 2020 ]

  • 3. Count perfect matchings of structured point sets

[ Asinowski and Rote, 2018 ]

  • 4. Production matrices [ Huemer, Pilz, Seara, Silveira 2016 ]
slide-89
SLIDE 89

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 4. Triangulations of a convex n-gon

dn+1 = 4 dn = 5

1 2 3 4 n n + 1 1 2 3 4 n

slide-90
SLIDE 90

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 4. Triangulations of a convex n-gon

dn+1 = 4 dn = 5

1 2 3 4 n n + 1

d′

n = dn + dn+1 − 3

1 2 3 4 n

slide-91
SLIDE 91

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 4. Triangulations of a convex n-gon

dn+1 = 4 dn = 5

1 2 3 4 n n + 1

d′

n = dn + dn+1 − 3

1 2 3 4 n

dn+1 = 2, 3, . . . , d + 1

1 2 3 4 n

dn = d

1 2 3 4 n n + 1

slide-92
SLIDE 92

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 4. Triangulations of a convex n-gon

dn+1 = 4 dn = 5

1 2 3 4 n n + 1

d′

n = dn + dn+1 − 3

1 2 3 4 n

dn+1 = 2, 3, . . . , d + 1

1 2 3 4 n

dn = d

1 2 3 4 n n + 1

slide-93
SLIDE 93

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 4. Triangulations of a convex n-gon

dn+1 = 2, 3, . . . , d + 1

1 2 3 4 n

dn = d

1 2 3 4 n n + 1

Triangulation of n-gon with last vertex of degree dn = d → Triangulation of (n + 1)-gon with last vertex of degree dn+1 = 2 or 3 or 4 or . . . or d, or d + 1 [ Hurtado & Noy 1999 ] “tree of triangulations”

slide-94
SLIDE 94

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 4. Triangulations of a convex n-gon

Triangulation of n-gon with last vertex of degree dn = d → Triangulation of (n + 1)-gon with last vertex of degree dn+1 = 2 or 3 or 4 or . . . or d, or d + 1 [ Hurtado & Noy 1999 ] “tree of triangulations”

slide-95
SLIDE 95

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

  • 4. Triangulations of a convex n-gon

Triangulation of n-gon with last vertex of degree dn = d → Triangulation of (n + 1)-gon with last vertex of degree dn+1 = 2 or 3 or 4 or . . . or d, or d + 1 n d

2 3 4

triangulation

  • lattice path

[ Hurtado & Noy 1999 ] “tree of triangulations”

slide-96
SLIDE 96

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Production matrices

n

1 . . .          1 1 1 1 . . . 1 1 1 1 . . . 1 1 1 . . . 1 1 . . . 1 . . . . . . . . . . . . . . . ...          n      1 . . .     

The answer is

  • the “production matrix” P

count paths in a layered graph

slide-97
SLIDE 97

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Production matrices for enumeration

were introduced by Emeric Deutsch, Luca Ferrari, and Simone Rinaldi (2005). were used for counting noncrossing graphs for points in convex position: Huemer, Seara, Silveira, and Pilz (2016) Huemer, Pilz, Seara, and Silveira (2017)          2 3 4 5 . . . 1 2 3 4 . . . 1 2 3 . . . 1 2 . . . 1 . . . . . . . . . . . . . . . ...          matchings spanning trees forests          1 1 1 . . . 1 1 1 . . . 1 1 . . . 1 0 . . . 1 . . . . . . . . . . . . . . . ...                   1 1 1 1 . . . 1 3 4 5 . . . 1 3 4 . . . 1 3 . . . 1 . . . . . . . . . . . . . . . ...         

slide-98
SLIDE 98

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Making the degree finite

n n Number of paths is preserved. use vertical edges for partial summation

slide-99
SLIDE 99

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Making the degree finite

n Number of paths is preserved. n Shearing → Dyck paths → Catalan numbers

slide-100
SLIDE 100

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Other examples: graphs, paths

          1 1 1 . . . 1 . . . 1 . . . 1 1 1 1 1 1 . . . 1 1 1 1 . . . 1 1 . . . . . . . . . . . . . . . . . . ...                     1 1 1 1 1 1 . . . 1 3 3 3 3 3 . . . 2 4 4 4 4 . . . 2 4 4 4 . . . 2 4 4 . . . 2 4 . . . . . . . . . . . . . . . . . . ...           geometric graphs paths Huemer, Seara, Silveira, and Pilz (2016) Huemer, Pilz, Seara, and Silveira (2017)

slide-101
SLIDE 101

G¨ unter Rote, Freie Universit¨ at Berlin Counting and enumeration in geometry PhD School on Computational Geometry, W¨ urzburg, March 20, 2020

Other examples: graphs, paths

          1 1 1 . . . 1 . . . 1 . . . 1 1 1 1 1 1 . . . 1 1 1 1 . . . 1 1 . . . . . . . . . . . . . . . . . . ...                     1 1 1 1 1 1 . . . 1 3 3 3 3 3 . . . 2 4 4 4 4 . . . 2 4 4 4 . . . 2 4 4 . . . 2 4 . . . . . . . . . . . . . . . . . . ...           geometric graphs paths two “states” Huemer, Seara, Silveira, and Pilz (2016) Huemer, Pilz, Seara, and Silveira (2017)