to discrete & computational geometry an introduction · 2019-11-05 · to discrete &...

147
Midi – Rouen, September 2015 Xavier Goaoc LIGM - Universit´ e Paris-Est Marne-la-Vall´ ee An introduction to discrete & computational geometry

Upload: others

Post on 19-Jun-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Midi – Rouen, September 2015

Xavier Goaoc

LIGM - Universite Paris-Est Marne-la-Vallee

An introductionto discrete & computational geometry

Page 2: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

“Builds general tools – analytic and computational – to satisfy the algorithmic needs of geometric computing.”[CG impact task force, ’96]

Computational geometry studies the algorithmic foundations of geometric computing.

Design of algorithms, analysis of their resource consumption.

?

Page 3: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

“Builds general tools – analytic and computational – to satisfy the algorithmic needs of geometric computing.”[CG impact task force, ’96]

Computational geometry studies the algorithmic foundations of geometric computing.

Algorithms are described and analyzed in a computational model.Define the operations allowed and their costs.

Design of algorithms, analysis of their resource consumption.

Usual model: Real RAM (exact arithmetic over R in constant time).

Complexity measured as a function of the input size.

?

Page 4: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

“Builds general tools – analytic and computational – to satisfy the algorithmic needs of geometric computing.”[CG impact task force, ’96]

Computational geometry studies the algorithmic foundations of geometric computing.

Algorithms are described and analyzed in a computational model.Define the operations allowed and their costs.

Design of algorithms, analysis of their resource consumption.

Usual model: Real RAM (exact arithmetic over R in constant time).

Complexity measured as a function of the input size.

Interested in the asymptotic behaviour.Compare algorithms independently of implementation or technology.

?

Page 5: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

70’s - beginnings

segments intersectionVoronoi diagramsnearest neighbours

Page 6: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

70’s - beginnings

segments intersectionVoronoi diagramsnearest neighbours

80’s - exact solutions, lower bounds

range searching

convex hullsarrangements

triangulations

Page 7: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

70’s - beginnings

segments intersectionVoronoi diagramsnearest neighbours

80’s - exact solutions, lower bounds

range searching

convex hullsarrangements

triangulations

90’s - approximation, probabilistic methods

ε-nets, cuttings...robustness, CGAL...applications : GIS, CAD...

Page 8: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

70’s - beginnings

segments intersectionVoronoi diagramsnearest neighbours

80’s - exact solutions, lower bounds

range searching

convex hullsarrangements

triangulations

90’s - approximation, probabilistic methods

ε-nets, cuttings...robustness, CGAL...applications : GIS, CAD...

00’s - other geometries, large amount of data

metric spaces, embeddings...computational topologyexternal memory algorithms

Page 9: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Computational geometry makes heavy use ofdiscrete properties of geometric objects...

... which are the specialty of discrete geometry.

Packing & covering

Polytopes

Space partitions

Points configurations

Geometric (hyper)graphs

These two communities merged during the 80’s.

Page 10: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Some classicsArrangements

Delaunay triangulations & Voronoi diagrams

New development: algebraic/polynomial methodsIncidence geometry, around the Szemeredi-Trotter theorem

Solution to the joint problem by algebraic arguments

New developments: topological methodsTopological combinatorics and inclusion-exclusion formulas

Persistent homology and topological inference

Page 11: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Some classicsArrangements

Delaunay triangulations & Voronoi diagrams

New development: algebraic/polynomial methodsIncidence geometry, around the Szemeredi-Trotter theorem

Solution to the joint problem by algebraic arguments

New developments: topological methodsTopological combinatorics and inclusion-exclusion formulas

Persistent homology and topological inference

Page 12: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Page 13: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Page 14: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Various interesting sub-structures and refinements.

An arrangement of 6 segments.

Their lower envelope.

The zone of a 7th segment.

Their trapezoidal decomposition.

Page 15: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Various interesting sub-structures and refinements.

An arrangement of 6 segments.

Their lower envelope.

The zone of a 7th segment.

Their trapezoidal decomposition.

Page 16: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Various interesting sub-structures and refinements.

An arrangement of 6 segments.

Their lower envelope.

The zone of a 7th segment.

Their trapezoidal decomposition.

Page 17: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Various interesting sub-structures and refinements.

An arrangement of 6 segments.

Their lower envelope.

The zone of a 7th segment.

Their trapezoidal decomposition.

Page 18: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Various interesting sub-structures and refinements.

Many problems can be modelled by questions on arrangements.

An arrangement of 6 segments.

Their lower envelope.

The zone of a 7th segment.

Their trapezoidal decomposition.

The piano mover’s problem.

Page 19: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Various interesting sub-structures and refinements.

Many problems can be modelled by questions on arrangements.

An arrangement of 6 segments.

Their lower envelope.

The zone of a 7th segment.

Their trapezoidal decomposition.

The piano mover’s problem.

Page 20: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Various interesting sub-structures and refinements.

Many problems can be modelled by questions on arrangements.

An arrangement of 6 segments.

Their lower envelope.

The zone of a 7th segment.

Their trapezoidal decomposition.

The piano mover’s problem.

Arrangement in the space of motions.

R2 for translations in the plane.

R3 × SO(3) for rigid motions in space.

Motions forbidden by each obstacle.

Page 21: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Various interesting sub-structures and refinements.

Many problems can be modelled by questions on arrangements.

An arrangement of 6 segments.

Their lower envelope.

The zone of a 7th segment.

Their trapezoidal decomposition.

The piano mover’s problem.

Arrangement in the space of motions.

R2 for translations in the plane.

R3 × SO(3) for rigid motions in space.

Motions forbidden by each obstacle.

Page 22: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

(Geometric) arrangements

The arrangement of a family of subsets of R2

is the subdivision of R2 induced by the boundaries of these objects.

Embedded combinatorial structure.

The boundaries of any two objects intersect in a finite number of points.

Various interesting sub-structures and refinements.

Many problems can be modelled by questions on arrangements.

An arrangement of 6 segments.

Their lower envelope.

The zone of a 7th segment.

Their trapezoidal decomposition.

The piano mover’s problem.

Arrangement in the space of motions.

R2 for translations in the plane.

R3 × SO(3) for rigid motions in space.

Motions forbidden by each obstacle.

Page 23: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Central question in discrete geometry:

Estimate the asymptotic complexity of various sub-structures of arrangements.

Page 24: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Notion of complexity (of a sub-structure) of an arrangement.

Expressed as a function of the number n of objects.

In the worst-case position.

Central question in discrete geometry:

Estimate the asymptotic complexity of various sub-structures of arrangements.

The number of elements, of all dimensions.# vertices+ # edges + # faces.

Possibly for a restricted class of objects.Line, segments, circles, squares, rectangles...

In arbitrary position, congruents under translation...

Page 25: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Notion of complexity (of a sub-structure) of an arrangement.

Expressed as a function of the number n of objects.

In the worst-case position.

Central question in discrete geometry:

Estimate the asymptotic complexity of various sub-structures of arrangements.

The number of elements, of all dimensions.# vertices+ # edges + # faces.

Possibly for a restricted class of objects.Line, segments, circles, squares, rectangles...

In arbitrary position, congruents under translation...

Question: What is the complexity of the lower envelopeof n segments in the plane?

Page 26: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Number the segments (arbitrarily).

Read off the sequence of segments appearing on the lower envelope.

Lower envelope of n segments → word on 1, 2, . . . n.1

2

4

3

5

6

1 2 5 2 4 2

Page 27: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Number the segments (arbitrarily).

Read off the sequence of segments appearing on the lower envelope.

Lower envelope of n segments → word on 1, 2, . . . n.

This word obeys (at least) two rules:

(1) Consecutive letters are distinct.

(2) For any letter a, b there is no sub-word a . . . b . . . a . . . b . . . a.

1

2

4

3

5

6

1 2 5 2 4 2

Page 28: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Number the segments (arbitrarily).

Read off the sequence of segments appearing on the lower envelope.

Lower envelope of n segments → word on 1, 2, . . . n.

This word obeys (at least) two rules:

(1) Consecutive letters are distinct.

(2) For any letter a, b there is no sub-word a . . . b . . . a . . . b . . . a.

1

2

4

3

5

6

1 2 5 2 4 2

Page 29: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Number the segments (arbitrarily).

Read off the sequence of segments appearing on the lower envelope.

Lower envelope of n segments → word on 1, 2, . . . n.

This word obeys (at least) two rules:

(1) Consecutive letters are distinct.

(2) For any letter a, b there is no sub-word a . . . b . . . a . . . b . . . a.

1

2

4

3

5

6

1 2 5 2 4 2

Define λ3(n) as the maximum length of a word on 1, 2, . . . , n obeying these two rules.

Page 30: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Number the segments (arbitrarily).

Read off the sequence of segments appearing on the lower envelope.

Lower envelope of n segments → word on 1, 2, . . . n.

This word obeys (at least) two rules:

(1) Consecutive letters are distinct.

(2) For any letter a, b there is no sub-word a . . . b . . . a . . . b . . . a.

1

2

4

3

5

6

1 2 5 2 4 2

Define λ3(n) as the maximum length of a word on 1, 2, . . . , n obeying these two rules.

n 7→ α(n) is the inverse of the Ackermann function n 7→ An(n) defined by A2(n) = 2n and Ak(n) = Ak−1(Ak(n− 1)).

α(n) ≤ 4 for n ≤ 22...2

(tower of 65536 exponentials).

Related to path compressions on trees and inspired by union-find structures [Tarjan 1975].

Theorem. [Hart-Sharir, 1986] λ3(n) = Θ(nα(n)).

Page 31: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Number the segments (arbitrarily).

Read off the sequence of segments appearing on the lower envelope.

Lower envelope of n segments → word on 1, 2, . . . n.

This word obeys (at least) two rules:

(1) Consecutive letters are distinct.

(2) For any letter a, b there is no sub-word a . . . b . . . a . . . b . . . a.

1

2

4

3

5

6

1 2 5 2 4 2

Define λ3(n) as the maximum length of a word on 1, 2, . . . , n obeying these two rules.

n 7→ α(n) is the inverse of the Ackermann function n 7→ An(n) defined by A2(n) = 2n and Ak(n) = Ak−1(Ak(n− 1)).

α(n) ≤ 4 for n ≤ 22...2

(tower of 65536 exponentials).

Related to path compressions on trees and inspired by union-find structures [Tarjan 1975].

Theorem. The lower envelope of n segments in the plane has complexity Θ(nα(n)).

Theorem. [Hart-Sharir, 1986] λ3(n) = Θ(nα(n)).

Page 32: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Number the segments (arbitrarily).

Read off the sequence of segments appearing on the lower envelope.

Lower envelope of n segments → word on 1, 2, . . . n.

This word obeys (at least) two rules:

(1) Consecutive letters are distinct.

(2) For any letter a, b there is no sub-word a . . . b . . . a . . . b . . . a.

1

2

4

3

5

6

1 2 5 2 4 2

Define λ3(n) as the maximum length of a word on 1, 2, . . . , n obeying these two rules.

n 7→ α(n) is the inverse of the Ackermann function n 7→ An(n) defined by A2(n) = 2n and Ak(n) = Ak−1(Ak(n− 1)).

α(n) ≤ 4 for n ≤ 22...2

(tower of 65536 exponentials).

Related to path compressions on trees and inspired by union-find structures [Tarjan 1975].

Theorem. The lower envelope of n segments in the plane has complexity Θ(nα(n)).

Theorem. [Hart-Sharir, 1986] λ3(n) = Θ(nα(n)).

One of many applications of Davenport-Schinzel sequences.

Page 33: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A triangulation of a finite point set P ⊆ Rd is adecomposition of the convex hull of P in a unionof simplices with vertices in P and disjoint interiors.

Page 34: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A triangulation of a finite point set P ⊆ Rd is adecomposition of the convex hull of P in a unionof simplices with vertices in P and disjoint interiors.

Page 35: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A triangulation of a finite point set P ⊆ Rd is adecomposition of the convex hull of P in a unionof simplices with vertices in P and disjoint interiors.

Page 36: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A triangulation of a finite point set P ⊆ Rd is adecomposition of the convex hull of P in a unionof simplices with vertices in P and disjoint interiors.

Any set of n ≥ 5 points in R2 has several triangulations.

Page 37: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A triangulation of a finite point set P ⊆ Rd is adecomposition of the convex hull of P in a unionof simplices with vertices in P and disjoint interiors.

Any set of n ≥ 5 points in R2 has several triangulations.

Page 38: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A triangulation of a finite point set P ⊆ Rd is adecomposition of the convex hull of P in a unionof simplices with vertices in P and disjoint interiors.

Any set of n ≥ 5 points in R2 has several triangulations.

1n−1

(2n−4n−2

)∼ 4n

n√πn

triangulations for n+ 2 points in convex position in R2.

Any planar set of n points has Ω(2.43n) and O(30n) triangulations

and there exist examples with Ω(8.65n) triangulations.

The number of triangulations grows exponentially with the number n of points.

Page 39: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A triangulation of a finite point set P ⊆ Rd is adecomposition of the convex hull of P in a unionof simplices with vertices in P and disjoint interiors.

Any set of n ≥ 5 points in R2 has several triangulations.

1n−1

(2n−4n−2

)∼ 4n

n√πn

triangulations for n+ 2 points in convex position in R2.

Any planar set of n points has Ω(2.43n) and O(30n) triangulations

and there exist examples with Ω(8.65n) triangulations.

The number of triangulations grows exponentially with the number n of points.

Exception: cospherical (d+ 2)-tuples of points need to be handled separately.

The simplices whose circumscribed ball contains no otherpoint in its interior form the Delaunay triangulation.

Page 40: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A triangulation of a finite point set P ⊆ Rd is adecomposition of the convex hull of P in a unionof simplices with vertices in P and disjoint interiors.

Any set of n ≥ 5 points in R2 has several triangulations.

1n−1

(2n−4n−2

)∼ 4n

n√πn

triangulations for n+ 2 points in convex position in R2.

Any planar set of n points has Ω(2.43n) and O(30n) triangulations

and there exist examples with Ω(8.65n) triangulations.

The number of triangulations grows exponentially with the number n of points.

Exception: cospherical (d+ 2)-tuples of points need to be handled separately.

The simplices whose circumscribed ball contains no otherpoint in its interior form the Delaunay triangulation.

Nice properties, eg. maximizes the smallest angle.Triangulation → vector of its angles in increasing order.

Triangulation de Delaunay → lexicographically maximal vector.

Page 41: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

S = p1, p2 . . . pn a set of points in R2.

The Voronoi diagram of S is the partition of R2

into regions R1, . . . Rn where

Ri = x ∈ R2 | ∀j ∈ 1, 2, . . . , n \ i, ‖xpj‖ ≥ ‖xpi‖

Page 42: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

S = p1, p2 . . . pn a set of points in R2.

The Voronoi diagram of S is the partition of R2

into regions R1, . . . Rn where

Ri = x ∈ R2 | ∀j ∈ 1, 2, . . . , n \ i, ‖xpj‖ ≥ ‖xpi‖

Captures growth phenomena.

Page 43: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

S = p1, p2 . . . pn a set of points in R2.

The Voronoi diagram of S is the partition of R2

into regions R1, . . . Rn where

Ri = x ∈ R2 | ∀j ∈ 1, 2, . . . , n \ i, ‖xpj‖ ≥ ‖xpi‖

Captures growth phenomena.

Page 44: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

S = p1, p2 . . . pn a set of points in R2.

The Voronoi diagram of S is the partition of R2

into regions R1, . . . Rn where

Ri = x ∈ R2 | ∀j ∈ 1, 2, . . . , n \ i, ‖xpj‖ ≥ ‖xpi‖

also known as Dirichlet tesselations.

Used by Descartes to study “cosmic fragmentation”.

Used in meteorology under the name of Thiessen polygons.

Used in chemistry under the name of Wigner-Seitz cell.

Captures growth phenomena.

Used in biology under the name of area potentiallyavailable to a tree or plant polygon.

Page 45: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

S = p1, p2 . . . pn a set of points in R2.

The Voronoi diagram of S is the partition of R2

into regions R1, . . . Rn where

Ri = x ∈ R2 | ∀j ∈ 1, 2, . . . , n \ i, ‖xpj‖ ≥ ‖xpi‖

also known as Dirichlet tesselations.

Used by Descartes to study “cosmic fragmentation”.

Used in meteorology under the name of Thiessen polygons.

Used in chemistry under the name of Wigner-Seitz cell.

Captures growth phenomena.

Used in biology under the name of area potentiallyavailable to a tree or plant polygon.

Generalizes to arbitrary families of subsets of a metric space.

Page 46: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Dualities between Delaunay triangulation and Voronoi diagram.

Page 47: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Dualities between Delaunay triangulation and Voronoi diagram.

Combinatorial

Voronoi vertex= center of a ball circumscribed to a Delaunay simplex.

Page 48: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Dualities between Delaunay triangulation and Voronoi diagram.

q

q′h(q′)

Combinatorial

Voronoi vertex= center of a ball circumscribed to a Delaunay simplex.

Quadratic form (here for d = 2)

Let Γ be the paraboloid in R3 with equation z = x2 + y2.

We “lift” q = (x, y) to q′ = (x, y, x2 + y2) ∈ Γ.

The dual of q′ is h(q′), the tangent plane to Γ in q′.

Page 49: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Dualities between Delaunay triangulation and Voronoi diagram.

q

q′h(q′)

height of q′2 : x22 + y22.

h(q′1) : 2x1(x− x1) + 2y1(y − y1)− z + x21 + y21 = 0

Let q1, q2 ∈ R2 and let q′′2 be the lift of q2 on h(q′1).

⇒ ‖q1q2‖2 = ‖q′2q′′2 ‖.

height of q′′2 : (2x1(x2 − x1) + 2y1(y2 − y1) + xx1 + y21)

Combinatorial

Voronoi vertex= center of a ball circumscribed to a Delaunay simplex.

Quadratic form (here for d = 2)

The Voronoi diagram of p1, p2, . . . , pn

' upper enveloppe of h(p′1), h(p′2), . . . , h(p′n).

Delaunay triangulation of p1, p2, . . . , pn

' convex hull of p′1, p′2, . . . , p

′n.

Let Γ be the paraboloid in R3 with equation z = x2 + y2.

We “lift” q = (x, y) to q′ = (x, y, x2 + y2) ∈ Γ.

The dual of q′ is h(q′), the tangent plane to Γ in q′.

Page 50: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Dualities between Delaunay triangulation and Voronoi diagram.

q

q′h(q′)

height of q′2 : x22 + y22.

h(q′1) : 2x1(x− x1) + 2y1(y − y1)− z + x21 + y21 = 0

Let q1, q2 ∈ R2 and let q′′2 be the lift of q2 on h(q′1).

⇒ ‖q1q2‖2 = ‖q′2q′′2 ‖.

height of q′′2 : (2x1(x2 − x1) + 2y1(y2 − y1) + xx1 + y21)

Combinatorial

Voronoi vertex= center of a ball circumscribed to a Delaunay simplex.

Quadratic form (here for d = 2)

Topological

Delaunay = Nerve(Voronoi). cf. “topological methods”

The Voronoi diagram of p1, p2, . . . , pn

' upper enveloppe of h(p′1), h(p′2), . . . , h(p′n).

Delaunay triangulation of p1, p2, . . . , pn

' convex hull of p′1, p′2, . . . , p

′n.

Let Γ be the paraboloid in R3 with equation z = x2 + y2.

We “lift” q = (x, y) to q′ = (x, y, x2 + y2) ∈ Γ.

The dual of q′ is h(q′), the tangent plane to Γ in q′.

Page 51: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 52: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 53: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 54: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 55: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

Correction

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 56: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

Correction

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 57: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

Correction

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 58: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

Correction

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 59: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Correction

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 60: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Correction

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 61: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Correction

Incremental algorithm to construct Delaunay triangulations.Localization

pi

Page 62: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Subdivision

T ← p1p2p3 // We assume p1p2p3 contains all the points

For i = 4 . . . nFind the triangle pqr in T that contains pi.

T ← T \ pqr ∪ pipq, piqr, pirpMake T Delaunay by flips.

Correction

Incremental algorithm to construct Delaunay triangulations.

At most di flips.

Analysis of the correction phase:

di = degree of pi in Del(p1, p2, . . . , pi).

Backward analysis for a random insertion order.

Localization

pi

Page 63: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Start from a known triangle.

Choose one of its edges whose supporting line separatesthe target point from the interior of the current triangle.

Example of open question.

Cross this edge to find the new current triangle.

Repeat until the triangle containing the target point is found.

Efficient localization uses (random) walks.

Start from a known triangle.

Walk in the triangulation

Various walking strategies exist.

(triangles have pointers to adjacent triangles).

Page 64: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Start from a known triangle.

Choose one of its edges whose supporting line separatesthe target point from the interior of the current triangle.

Example of open question.

Cross this edge to find the new current triangle.

Repeat until the triangle containing the target point is found.

Efficient localization uses (random) walks.

Start from a known triangle.

Walk in the triangulation

Various walking strategies exist.

(triangles have pointers to adjacent triangles).

Page 65: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Start from a known triangle.

Choose one of its edges whose supporting line separatesthe target point from the interior of the current triangle.

Example of open question.

Cross this edge to find the new current triangle.

Repeat until the triangle containing the target point is found.

Efficient localization uses (random) walks.

Start from a known triangle.

Walk in the triangulation

Various walking strategies exist.

(triangles have pointers to adjacent triangles).

Page 66: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Start from a known triangle.

Choose one of its edges whose supporting line separatesthe target point from the interior of the current triangle.

Example of open question.

Cross this edge to find the new current triangle.

Repeat until the triangle containing the target point is found.

Efficient localization uses (random) walks.

Start from a known triangle.

Walk in the triangulation

Various walking strategies exist.

(triangles have pointers to adjacent triangles).

Page 67: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Start from a known triangle.

Choose one of its edges whose supporting line separatesthe target point from the interior of the current triangle.

Example of open question.

Cross this edge to find the new current triangle.

Repeat until the triangle containing the target point is found.

Efficient localization uses (random) walks.

Start from a known triangle.

Walk in the triangulation

Various walking strategies exist.

(triangles have pointers to adjacent triangles).

Page 68: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Start from a known triangle.

Choose one of its edges whose supporting line separatesthe target point from the interior of the current triangle.

Example of open question.

Cross this edge to find the new current triangle.

Repeat until the triangle containing the target point is found.

Efficient localization uses (random) walks.

Start from a known triangle.

Walk in the triangulation

Various walking strategies exist.

(triangles have pointers to adjacent triangles).

Page 69: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Start from a known triangle.

Choose one of its edges whose supporting line separatesthe target point from the interior of the current triangle.

Example of open question.

Cross this edge to find the new current triangle.

Repeat until the triangle containing the target point is found.

Conjecture: Let P be a set of n random points chosenuniformly in [0, 1]2. The expectation of the maximumnumber of steps in a visibility walk is O(

√n).

Efficient localization uses (random) walks.

Start from a known triangle.

Walk in the triangulation

Various walking strategies exist.

(triangles have pointers to adjacent triangles).

Page 70: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Start from a known triangle.

Choose one of its edges whose supporting line separatesthe target point from the interior of the current triangle.

Example of open question.

Cross this edge to find the new current triangle.

Repeat until the triangle containing the target point is found.

Conjecture: Let P be a set of n random points chosenuniformly in [0, 1]2. The expectation of the maximumnumber of steps in a visibility walk is O(

√n).

Efficient localization uses (random) walks.

Start from a known triangle.

Walk in the triangulation

Various walking strategies exist.

(triangles have pointers to adjacent triangles).

Other open problem: probabilistic complexity, in particular smoothed complexity.

[Spielman-Tang’04]

Page 71: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Some classicsArrangements

Delaunay triangulations & Voronoi diagrams

New development: algebraic/polynomial methodsIncidence geometry, around the Szemeredi-Trotter theorem

Solution to the joint problem by algebraic arguments

New developments: topological methodsTopological combinatorics and inclusion-exclusion formulas

Persistent homology and topological inference

Page 72: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

An incidence between a set C of curves and a set P of points isa pair (c, p) ∈ C × P such that c ∈ p.

Problem: estimate the maximum number of incidencesgiven |C|, |P | and the nature of the curves in C.

Page 73: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

An incidence between a set C of curves and a set P of points isa pair (c, p) ∈ C × P such that c ∈ p.

Problem: estimate the maximum number of incidencesgiven |C|, |P | and the nature of the curves in C.

Theorem. [Szemeredi-Trotter, 1983] The number of incidencesbetween n points and ` lines in the plane is O(n+ `+n2/3`2/3).

Page 74: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

An incidence between a set C of curves and a set P of points isa pair (c, p) ∈ C × P such that c ∈ p.

Problem: estimate the maximum number of incidencesgiven |C|, |P | and the nature of the curves in C.

A+A = x+ y | x, y ∈ A and A ∗A = x ∗ y | x, y ∈ A

Application:

Sum-product conjecture [Erdos-Szemeredi, 1983]: For any ε > 0 there exists C ∈ Rsuch that for any A ⊂ N finite and large enough, max|A+A|, |A ∗A| ≥ C|A|2−ε.

Theorem. [Szemeredi-Trotter, 1983] The number of incidencesbetween n points and ` lines in the plane is O(n+ `+n2/3`2/3).

Page 75: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

An incidence between a set C of curves and a set P of points isa pair (c, p) ∈ C × P such that c ∈ p.

Problem: estimate the maximum number of incidencesgiven |C|, |P | and the nature of the curves in C.

A+A = x+ y | x, y ∈ A and A ∗A = x ∗ y | x, y ∈ A

Application:

[Elekes, 1997]

Associate to A the points P = (A+A)× (A ·A) and lines L = y = a(x− b) : a, b ∈ A.

Szemeredi-Trotter ⇒ |A||L| = O(|P |2/3|L|2/3) ⇒ |P | = Ω(|A|3/2|L|1/2) = Ω(|A|5/2).

Sum-product conjecture [Erdos-Szemeredi, 1983]: For any ε > 0 there exists C ∈ Rsuch that for any A ⊂ N finite and large enough, max|A+A|, |A ∗A| ≥ C|A|2−ε.

|P | = |A+A||A ∗A| implies max|A + A|, |A ·A| = Ω(|A|5/4).

Theorem. [Szemeredi-Trotter, 1983] The number of incidencesbetween n points and ` lines in the plane is O(n+ `+n2/3`2/3).

any line y = a(x− b) contains every point (c+ b, a · c) for c ∈ A.

The number of incidence is at least |A||L|.

Page 76: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Preparation for the proof of the Szemeredi-Trotter theorem.

[Leighton, 1983] [Ajtai-Chvatal-Newborn-Szemeredi, 1982]

Conjectured by [Erdos-Guy, 1972]

Crossing lemma. Let G be a graph with v vertices and e ≥ 4v edges. In any

drawing of G in the plane, at least e3

64v2 pairs of edges cross.

1

2

3 4

edges = Jordan arcs

crossing = intersection other than a common endpoint.

Page 77: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Preparation for the proof of the Szemeredi-Trotter theorem.

[Leighton, 1983] [Ajtai-Chvatal-Newborn-Szemeredi, 1982]

Conjectured by [Erdos-Guy, 1972]

Setting p = 4ve

yields Cr(χ) ≥ e3

16v2− 3 e3

64v2= e3

64v2.

Crossing lemma. Let G be a graph with v vertices and e ≥ 4v edges. In any

drawing of G in the plane, at least e3

64v2 pairs of edges cross.

1

2

3 4

edges = Jordan arcs

crossing = intersection other than a common endpoint.

Proof: χ a drawing of G and Cr(χ) = its number of crossings.

Fix p ∈ [0, 1] and delete every vertex of G with probability 1− p (independently).

We obtain a random graph Gp and a drawing χp of Gp induced by χ.

(*) ⇒ p4Cr(χ) = E[Cr(χp)] ≥ p2e− 3pv so Cr(χ) ≥ ep2− 3 v

p3

(*) Cr(χ) ≥ e− 3v.

Any planar graph has at most 3v − 3 edges (Euler relation + double counting).

[Proofs from the book]

Page 78: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Proof:

Consider the graph with vertices the n points andedges the pairs of points incident to a common lineand consecutive on that line.

Start with a family of n points and ` lines.

Let k be the number of point/line incidences.

This graph has at most k edges.

Theorem. [Szemeredi-Trotter, 1983] The number of incidencesbetween n points and ` lines in the plane is O(n+ `+n2/3`2/3).

Page 79: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Proof:

Consider the graph with vertices the n points andedges the pairs of points incident to a common lineand consecutive on that line.

Start with a family of n points and ` lines.

Let k be the number of point/line incidences.

This graph has at most k edges.

Theorem. [Szemeredi-Trotter, 1983] The number of incidencesbetween n points and ` lines in the plane is O(n+ `+n2/3`2/3).

Page 80: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Proof:

Consider the graph with vertices the n points andedges the pairs of points incident to a common lineand consecutive on that line.

Start with a family of n points and ` lines.

Let k be the number of point/line incidences.

This graph has at most k edges.

In the straight-line drawing of this graph there are at most(`2

)crossings.

Theorem. [Szemeredi-Trotter, 1983] The number of incidencesbetween n points and ` lines in the plane is O(n+ `+n2/3`2/3).

Page 81: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Proof:

Consider the graph with vertices the n points andedges the pairs of points incident to a common lineand consecutive on that line.

Start with a family of n points and ` lines.

Let k be the number of point/line incidences.

This graph has at most k edges.

In the straight-line drawing of this graph there are at most(`2

)crossings.

By the crossing lemma, any drawing of a graph with v vertices

and e ≥ 4v edges has at least e3

64v2 crossings.

k < 4n or k3

64n2 ≤(`2

)⇒ k = O(n+ `+ n2/3`2/3).

Theorem. [Szemeredi-Trotter, 1983] The number of incidencesbetween n points and ` lines in the plane is O(n+ `+n2/3`2/3).

Page 82: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Motivation: understand cycles in depth orders.

A joint in a set of lines is a point incident to 3 non-coplanar lines.

Question: what is the maximum number ofjoints in a set of n lines in R3?

Page 83: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Motivation: understand cycles in depth orders.

√n

√n

√n

nLower bound: Ω(n

√n).

3n lines

n√n joints

A joint in a set of lines is a point incident to 3 non-coplanar lines.

Question: what is the maximum number ofjoints in a set of n lines in R3?

Page 84: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Motivation: understand cycles in depth orders.

√n

√n

√n

nLower bound: Ω(n

√n).

3n lines

n√n joints

Upper bounds: O(n7/4) → O(n23/14 log31/14 n) → O(n√n)

[Chazelle et al.’92] [Sharir’94] [Guth-Katz’08]

A joint in a set of lines is a point incident to 3 non-coplanar lines.

Question: what is the maximum number ofjoints in a set of n lines in R3?

Uses an idea from Dvir’s solution to the discrete Kakeya problem.

Page 85: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A Kakeya set is a subset of Rd containing a unit-length segmentin every direction.

Page 86: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A Kakeya set is a subset of Rd containing a unit-length segmentin every direction.

Theorem. [Besicovitch 1919] There exist planar Kakeya setsof arbitrarily small measure.

Page 87: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A Kakeya set is a subset of Rd containing a unit-length segmentin every direction.

Theorem. [Besicovitch 1919] There exist planar Kakeya setsof arbitrarily small measure.

Kakeya conjecture. Any Kakeya set in Rd has dimension d.

Need clarifications: which classes of sets? Which dimension?...

Proven for d = 2 and open for any d ≥ 3.

Page 88: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A Kakeya set is a subset of Rd containing a unit-length segmentin every direction.

Theorem. [Besicovitch 1919] There exist planar Kakeya setsof arbitrarily small measure.

Kakeya conjecture. Any Kakeya set in Rd has dimension d.

Need clarifications: which classes of sets? Which dimension?...

Proven for d = 2 and open for any d ≥ 3.

Discrete analogue of the Kakeya conjecture:

Fix a field F with q elements.

A discrete Kakeya set is a subset K ⊆ Fd satisfying: for anyx ∈ Fd there exists y ∈ Fd such that y + ax : a ∈ F ⊂ K.

How large must a discrete Kakeya set be?

Page 89: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

A Kakeya set is a subset of Rd containing a unit-length segmentin every direction.

Theorem. [Besicovitch 1919] There exist planar Kakeya setsof arbitrarily small measure.

Kakeya conjecture. Any Kakeya set in Rd has dimension d.

Need clarifications: which classes of sets? Which dimension?...

Proven for d = 2 and open for any d ≥ 3.

Discrete analogue of the Kakeya conjecture:

Fix a field F with q elements.

A discrete Kakeya set is a subset K ⊆ Fd satisfying: for anyx ∈ Fd there exists y ∈ Fd such that y + ax : a ∈ F ⊂ K.

How large must a discrete Kakeya set be?

Lower bounds: Ω(qd+22 ) → Ω(q

47d) → Ω(qd−1)

[Wolff’99] [Bourgain-Katz-Tao’04] [Mockenhaupt-Tao’04][Dvir’09]

Dvir’s idea: a non-zero polynomial of deg. b has at most bqd−1 zeros. [Zippel’79][Shwartz’80]

Page 90: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Theorem. [Guth-Katz, 2008] Any set of n lines in R3 hasO(n√n) joints.

Proof: Let L be a set of n lines in R3 with j joints.

We can assume that every line of L contains at least j2n joints.

Eliminate any line with less than j2n

joints and any joint on less than 3 remaining lines.

If αn lines were eliminated then at most α2j joints were eliminated.

(1− α2

)j = O((1− α)3/2n3/2)⇒ j = O(n3/2).

Page 91: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Theorem. [Guth-Katz, 2008] Any set of n lines in R3 hasO(n√n) joints.

Proof: Let L be a set of n lines in R3 with j joints.

We can assume that every line of L contains at least j2n joints.

Eliminate any line with less than j2n

joints and any joint on less than 3 remaining lines.

If αn lines were eliminated then at most α2j joints were eliminated.

(1− α2

)j = O((1− α)3/2n3/2)⇒ j = O(n3/2).

Choose a polynomial P (x, y, z) 6= 0 vanishing in every jointsand with minimal total degree b.

Every joint defines a linear constraint in the(b+33

)coefficients of P so b = O(j1/3).

Page 92: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Theorem. [Guth-Katz, 2008] Any set of n lines in R3 hasO(n√n) joints.

Proof: Let L be a set of n lines in R3 with j joints.

We can assume that every line of L contains at least j2n joints.

Eliminate any line with less than j2n

joints and any joint on less than 3 remaining lines.

If αn lines were eliminated then at most α2j joints were eliminated.

(1− α2

)j = O((1− α)3/2n3/2)⇒ j = O(n3/2).

Choose a polynomial P (x, y, z) 6= 0 vanishing in every jointsand with minimal total degree b.

Every joint defines a linear constraint in the(b+33

)coefficients of P so b = O(j1/3).

Minimality imposes b ≥ j2n .

Else every line of L is contained in P (x, y, z) = 0 (Bezout).

then−−→gradP = ~0 in every joint; since one of ∂P

∂x, ∂P∂y

, ∂P∂z

is not identically zero, b is not minimal.

Page 93: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Theorem. [Guth-Katz, 2008] Any set of n lines in R3 hasO(n√n) joints.

Proof: Let L be a set of n lines in R3 with j joints.

We can assume that every line of L contains at least j2n joints.

Eliminate any line with less than j2n

joints and any joint on less than 3 remaining lines.

If αn lines were eliminated then at most α2j joints were eliminated.

(1− α2

)j = O((1− α)3/2n3/2)⇒ j = O(n3/2).

Choose a polynomial P (x, y, z) 6= 0 vanishing in every jointsand with minimal total degree b.

Every joint defines a linear constraint in the(b+33

)coefficients of P so b = O(j1/3).

Minimality imposes b ≥ j2n .

Else every line of L is contained in P (x, y, z) = 0 (Bezout).

then−−→gradP = ~0 in every joint; since one of ∂P

∂x, ∂P∂y

, ∂P∂z

is not identically zero, b is not minimal.

Thus, j2n = O(j1/3) and we have j = O(n3/2).

Page 94: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Stimulated a re-examination of old questions through a polynomial lens.

Erdos’ distinct distances problem.

Question: how few distinct distances are determinedby n points in the plane?

Page 95: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Stimulated a re-examination of old questions through a polynomial lens.

Erdos’ distinct distances problem.

Question: how few distinct distances are determinedby n points in the plane?

O(n/√

logn) for regular grids, conjectured to be minimal.

Slow progress on lower bounds of the form Ω(nc).

c = 1/2→ 2/3→ 5/7→ 4/5→ 6/7→ 4e5e−1

− ε→ 48−14e55−16e

− ε

[Erdos’46][Moser’52][Chung’84][Chung-Szemeredi-Trotter’92][Szekely’93]

[Solymosi-Toth’01][Tardos’03][Katz-Tardos’04]

Page 96: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Stimulated a re-examination of old questions through a polynomial lens.

Erdos’ distinct distances problem.

Question: how few distinct distances are determinedby n points in the plane?

O(n/√

logn) for regular grids, conjectured to be minimal.

Slow progress on lower bounds of the form Ω(nc).

c = 1/2→ 2/3→ 5/7→ 4/5→ 6/7→ 4e5e−1

− ε→ 48−14e55−16e

− ε

[Erdos’46][Moser’52][Chung’84][Chung-Szemeredi-Trotter’92][Szekely’93]

[Solymosi-Toth’01][Tardos’03][Katz-Tardos’04]

Ω(n/ logn) by incidence geometry + polynomial method.[Guth-Katz’15] using [Elekes-Sharir’10]

Page 97: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Stimulated a re-examination of old questions through a polynomial lens.

Erdos’ distinct distances problem.

Question: how few distinct distances are determinedby n points in the plane?

O(n/√

logn) for regular grids, conjectured to be minimal.

Slow progress on lower bounds of the form Ω(nc).

c = 1/2→ 2/3→ 5/7→ 4/5→ 6/7→ 4e5e−1

− ε→ 48−14e55−16e

− ε

[Erdos’46][Moser’52][Chung’84][Chung-Szemeredi-Trotter’92][Szekely’93]

[Solymosi-Toth’01][Tardos’03][Katz-Tardos’04]

Ω(n/ logn) by incidence geometry + polynomial method.[Guth-Katz’15] using [Elekes-Sharir’10]

Partitioning theorems.

Partition a set of n points into r balanced subsets so that any lineintersects O(

√r) of the convex hulls of the subsets.

Cuttings, simplicial partition theorem... [Chazelle-Friedman’90]

Algorithmic applications (eg. range searching) by divide-and-conquer.

Complicated proofs, not effective.

[Chazelle’93][Matousek & Chazelle’88-’93]

Page 98: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Stimulated a re-examination of old questions through a polynomial lens.

Erdos’ distinct distances problem.

Question: how few distinct distances are determinedby n points in the plane?

O(n/√

logn) for regular grids, conjectured to be minimal.

Slow progress on lower bounds of the form Ω(nc).

c = 1/2→ 2/3→ 5/7→ 4/5→ 6/7→ 4e5e−1

− ε→ 48−14e55−16e

− ε

[Erdos’46][Moser’52][Chung’84][Chung-Szemeredi-Trotter’92][Szekely’93]

[Solymosi-Toth’01][Tardos’03][Katz-Tardos’04]

Ω(n/ logn) by incidence geometry + polynomial method.[Guth-Katz’15] using [Elekes-Sharir’10]

Partitioning theorems.

Partition a set of n points into r balanced subsets so that any lineintersects O(

√r) of the convex hulls of the subsets.

Cuttings, simplicial partition theorem... [Chazelle-Friedman’90]

Algorithmic applications (eg. range searching) by divide-and-conquer.

Complicated proofs, not effective.

[Chazelle’93][Matousek & Chazelle’88-’93]

Page 99: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Stimulated a re-examination of old questions through a polynomial lens.

Erdos’ distinct distances problem.

Question: how few distinct distances are determinedby n points in the plane?

O(n/√

logn) for regular grids, conjectured to be minimal.

Slow progress on lower bounds of the form Ω(nc).

c = 1/2→ 2/3→ 5/7→ 4/5→ 6/7→ 4e5e−1

− ε→ 48−14e55−16e

− ε

[Erdos’46][Moser’52][Chung’84][Chung-Szemeredi-Trotter’92][Szekely’93]

[Solymosi-Toth’01][Tardos’03][Katz-Tardos’04]

Ω(n/ logn) by incidence geometry + polynomial method.[Guth-Katz’15] using [Elekes-Sharir’10]

Partitioning theorems.

Partition a set of n points into r balanced subsets so that any lineintersects O(

√r) of the convex hulls of the subsets.

Cuttings, simplicial partition theorem... [Chazelle-Friedman’90]

Algorithmic applications (eg. range searching) by divide-and-conquer.

Complicated proofs, not effective.

Simplified and strengthened using the polynomial ham-sandwich theorem.

[Chazelle’93][Matousek & Chazelle’88-’93]

Page 100: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Some classicsArrangements

Delaunay triangulations & Voronoi diagrams

New development: algebraic/polynomial methodsIncidence geometry, around the Szemeredi-Trotter theorem

Solution to the joint problem by algebraic arguments

New developments: topological methodsTopological combinatorics and inclusion-exclusion formulas

Persistent homology and topological inference

Page 101: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Geometric graph theory studies graphs through their embedding properties.

Rich theory of planar graphs.

Generalizes to the theory of graphs embedding on a compact 2-manifold .

Structural properties (eg. planar separator theorem).

Heawood inequality: if Kn embeds into M then

# edges ≤ 3# vertices -3

Circle packing theorem [Koebe][Thurston][Andreev]

Characterization by excluded minors.

. . .

Euler characteristic, characterization by excluded minors...

(n− 3)(n− 4) ≤ 6b1(M) = 12− 6χ(M).

M is a compact 2-manifold and bi(M) is its ith Betti number.

Page 102: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Generalization of graphs: (uniform) hypergraphs model r-wise interactions for r > 2.

Hypergraph with vertex set V = set of subsets of V .

Uniform if all subsets have the same size.

Page 103: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Generalization of graphs: (uniform) hypergraphs model r-wise interactions for r > 2.

Generalization of embedded graphs: simplicial complexes.

Hypergraph with vertex set V = set of subsets of V .

Uniform if all subsets have the same size.

geometric simplicial complexabstract simplicial complex

“Collection of geometric simplices in Rd s.t. anytwo are disjoint or intersect in a common face.”

∅, 1, 2, 3, 4, 1, 2, 1, 3, 1, 4

“Collection of sets that is closed undertaking subsets.”

Page 104: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Generalization of graphs: (uniform) hypergraphs model r-wise interactions for r > 2.

Generalization of embedded graphs: simplicial complexes.

Hypergraph with vertex set V = set of subsets of V .

Uniform if all subsets have the same size.

geometric simplicial complexabstract simplicial complex

set of vertices forming a geometric simplex

“Collection of geometric simplices in Rd s.t. anytwo are disjoint or intersect in a common face.”

∅, 1, 2, 3, 4, 1, 2, 1, 3, 1, 4

“Collection of sets that is closed undertaking subsets.”

map singletons to points in general position in Rd, d large enough

take convex hulls of points corresponding to abstract simplices

geometric realization:

Page 105: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Conjecture [Grunbaum][Sarkaria][Kalai][Dey] For any d there exists Cd such thatfd(K) ≤ Cdfd−1(K) for any finite simplicial complex K embedding in Rd.

fi(K) is the number of faces of dimension i of K.

Known for d = 2, 3 and open for any d ≥ 4.

Page 106: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

We can study these combinatorial objects through their associated topological space.

If K is a simplicial complex and |K| is its realization then

χ(K) =∑i≥0

(−1)ifi(K) =∑i≥0

(−1)iβi(|K|)

Conjecture [Grunbaum][Sarkaria][Kalai][Dey] For any d there exists Cd such thatfd(K) ≤ Cdfd−1(K) for any finite simplicial complex K embedding in Rd.

fi(K) is the number of faces of dimension i of K.

Known for d = 2, 3 and open for any d ≥ 4.

Page 107: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

The nerve N (F) of a family F of sets is N (F) = G : G ⊆ F and ∩ G 6= ∅.

F

N (F) =

1

2

3

∅, 1, 2, 3

We can study these combinatorial objects through their associated topological space.

If K is a simplicial complex and |K| is its realization then

χ(K) =∑i≥0

(−1)ifi(K) =∑i≥0

(−1)iβi(|K|)

Conjecture [Grunbaum][Sarkaria][Kalai][Dey] For any d there exists Cd such thatfd(K) ≤ Cdfd−1(K) for any finite simplicial complex K embedding in Rd.

fi(K) is the number of faces of dimension i of K.

Known for d = 2, 3 and open for any d ≥ 4.

Page 108: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

The nerve N (F) of a family F of sets is N (F) = G : G ⊆ F and ∩ G 6= ∅.

F

N (F) =

1

2

3

∅, 1, 2, 3, 1, 2

We can study these combinatorial objects through their associated topological space.

If K is a simplicial complex and |K| is its realization then

χ(K) =∑i≥0

(−1)ifi(K) =∑i≥0

(−1)iβi(|K|)

Conjecture [Grunbaum][Sarkaria][Kalai][Dey] For any d there exists Cd such thatfd(K) ≤ Cdfd−1(K) for any finite simplicial complex K embedding in Rd.

fi(K) is the number of faces of dimension i of K.

Known for d = 2, 3 and open for any d ≥ 4.

Page 109: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

The nerve N (F) of a family F of sets is N (F) = G : G ⊆ F and ∩ G 6= ∅.

F

N (F) =

1

2

3

∅, 1, 2, 3, 1, 2, 1, 3, 2, 3

We can study these combinatorial objects through their associated topological space.

If K is a simplicial complex and |K| is its realization then

χ(K) =∑i≥0

(−1)ifi(K) =∑i≥0

(−1)iβi(|K|)

Conjecture [Grunbaum][Sarkaria][Kalai][Dey] For any d there exists Cd such thatfd(K) ≤ Cdfd−1(K) for any finite simplicial complex K embedding in Rd.

fi(K) is the number of faces of dimension i of K.

Known for d = 2, 3 and open for any d ≥ 4.

Page 110: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

The nerve N (F) of a family F of sets is N (F) = G : G ⊆ F and ∩ G 6= ∅.

F

N (F) =

1

2

3

∅, 1, 2, 3, 1, 2, 1, 3, 2, 3, 1, 2, 3

We can study these combinatorial objects through their associated topological space.

If K is a simplicial complex and |K| is its realization then

χ(K) =∑i≥0

(−1)ifi(K) =∑i≥0

(−1)iβi(|K|)

Conjecture [Grunbaum][Sarkaria][Kalai][Dey] For any d there exists Cd such thatfd(K) ≤ Cdfd−1(K) for any finite simplicial complex K embedding in Rd.

fi(K) is the number of faces of dimension i of K.

Known for d = 2, 3 and open for any d ≥ 4.

Page 111: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

The nerve N (F) of a family F of sets is N (F) = G : G ⊆ F and ∩ G 6= ∅.

F

N (F) =

1

2

3

∅, 1, 2, 3, 1, 2, 1, 3, 2, 3, 1, 2, 3

Nerves are simplicial complexes.

We can study these combinatorial objects through their associated topological space.

If K is a simplicial complex and |K| is its realization then

χ(K) =∑i≥0

(−1)ifi(K) =∑i≥0

(−1)iβi(|K|)

Conjecture [Grunbaum][Sarkaria][Kalai][Dey] For any d there exists Cd such thatfd(K) ≤ Cdfd−1(K) for any finite simplicial complex K embedding in Rd.

fi(K) is the number of faces of dimension i of K.

Known for d = 2, 3 and open for any d ≥ 4.

Page 112: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

The nerve N (F) of a family F of sets is N (F) = G : G ⊆ F and ∩ G 6= ∅.

F

N (F) =

1

2

3

∅, 1, 2, 3, 1, 2, 1, 3, 2, 3, 1, 2, 3

Nerves are simplicial complexes.

We can study these combinatorial objects through their associated topological space.

If K is a simplicial complex and |K| is its realization then

χ(K) =∑i≥0

(−1)ifi(K) =∑i≥0

(−1)iβi(|K|)

Conjecture [Grunbaum][Sarkaria][Kalai][Dey] For any d there exists Cd such thatfd(K) ≤ Cdfd−1(K) for any finite simplicial complex K embedding in Rd.

fi(K) is the number of faces of dimension i of K.

Known for d = 2, 3 and open for any d ≥ 4.

Nerve Theorem.[Borsuk’48][Leray] If F isa good cover in Rd then N (F) '

⋃F .

good cover = any subfamily has empty or contractible intersection.

' ' 6'

Page 113: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

For any family F = A1, A2, . . . , An of sets 1⋃ni=1 Ai

=∑∅6=S⊆[n](−1)|S|+11⋂

i∈S Ai .

Question: can we express 1∪ using fewer 1∩’s?

Effective volume computation, inclusion-exclusion algorithms

We can use simplicial complexes to simplify inclusion-exclusion formulas.

1X is the indicator function of X.

Page 114: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

For any family F = A1, A2, . . . , An of sets 1⋃ni=1 Ai

=∑∅6=S⊆[n](−1)|S|+11⋂

i∈S Ai .

Question: can we express 1∪ using fewer 1∩’s?

Effective volume computation, inclusion-exclusion algorithms

1A∪B∪C = λa1A + λb1B + λc1C + λab1A∩B + λac1A∩C + λbc1B∩C + λabc1A∩B∩C

A

B

C

We can use simplicial complexes to simplify inclusion-exclusion formulas.

1X is the indicator function of X.

Not in general...

Set systems with complete Venn diagram have only one inclusion-exclusion formula.

⇒ λa = 1 ⇒ λb = 1 ⇒ λa + λb + λab = 1⇒ λab = −1⇒ λa = 1 ⇒ λb = 1 ⇒ λa + λb + λab = 1⇒ λab = −1

Page 115: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

For any family F = A1, A2, . . . , An of sets 1⋃ni=1 Ai

=∑∅6=S⊆[n](−1)|S|+11⋂

i∈S Ai .

Question: can we express 1∪ using fewer 1∩’s?

Effective volume computation, inclusion-exclusion algorithms

1A∪B∪C = λa1A + λb1B + λc1C + λab1A∩B + λac1A∩C + λbc1B∩C + λabc1A∩B∩C

A

B

C

We can use simplicial complexes to simplify inclusion-exclusion formulas.

1X is the indicator function of X.

Not in general...

A

B

C

1A∪B∪C = 1A + 1B + 1C − 1A∩B − 1A∩C − 1B∩C + 1A∩B∩C

... but sometimes.

Set systems with complete Venn diagram have only one inclusion-exclusion formula.

⇒ λa = 1 ⇒ λb = 1 ⇒ λa + λb + λab = 1⇒ λab = −1⇒ λa = 1 ⇒ λb = 1 ⇒ λa + λb + λab = 1⇒ λab = −1

Page 116: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

For any family F = A1, A2, . . . , An of sets 1⋃ni=1 Ai

=∑∅6=S⊆[n](−1)|S|+11⋂

i∈S Ai .

Question: can we express 1∪ using fewer 1∩’s?

Effective volume computation, inclusion-exclusion algorithms

1A∪B∪C = λa1A + λb1B + λc1C + λab1A∩B + λac1A∩C + λbc1B∩C + λabc1A∩B∩C

A

B

C

We can use simplicial complexes to simplify inclusion-exclusion formulas.

1X is the indicator function of X.

Not in general...

A

B

C

since A ∩ C = A ∩B ∩ C.1A∪B∪C = 1A + 1B + 1C − 1A∩B − 1A∩C − 1B∩C + 1A∩B∩C

... but sometimes.

Set systems with complete Venn diagram have only one inclusion-exclusion formula.

Any set system has a inclusion-exclusion formula quasi-polynomial

in the number of sets and the size of the Venn diagram.

[Goaoc-Matousek-Patak-Safernova-Tancer’15]

⇒ λa = 1 ⇒ λb = 1 ⇒ λa + λb + λab = 1⇒ λab = −1⇒ λa = 1 ⇒ λb = 1 ⇒ λa + λb + λab = 1⇒ λab = −1

Page 117: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Theorem [Naiman-Wynn’92’97] 1⋃ni=1 Bi

=∑σ∈K

(−1)dimσ1∩i∈σBi .

Let F = B1, B2, . . . , Bn be a family of unit balls in Rd.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

For d = 2, 6n− 11 terms, each of size at most 3, and computable in O(n logn) time.

Idem for balls of different radii but uses the power diagram.

Write pi for the center of Bi.

“A correct inclusion-exclusion formula for a family of unitradius balls in Rd is given by the Delaunay triangulationof their centers.”

For d ≥ 3, O(ndd/2e) terms, each of size at most d, and computable in O(ndd/2e) time.

Page 118: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Theorem [Naiman-Wynn’92’97] 1⋃ni=1 Bi

=∑σ∈K

(−1)dimσ1∩i∈σBi .

Let F = B1, B2, . . . , Bn be a family of unit balls in Rd.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

For d = 2, 6n− 11 terms, each of size at most 3, and computable in O(n logn) time.

Idem for balls of different radii but uses the power diagram.

Write pi for the center of Bi.

“A correct inclusion-exclusion formula for a family of unitradius balls in Rd is given by the Delaunay triangulationof their centers.”

For d ≥ 3, O(ndd/2e) terms, each of size at most d, and computable in O(ndd/2e) time.

Page 119: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Theorem [Naiman-Wynn’92’97] 1⋃ni=1 Bi

=∑σ∈K

(−1)dimσ1∩i∈σBi .

Let F = B1, B2, . . . , Bn be a family of unit balls in Rd.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

For d = 2, 6n− 11 terms, each of size at most 3, and computable in O(n logn) time.

Idem for balls of different radii but uses the power diagram.

Write pi for the center of Bi.

“A correct inclusion-exclusion formula for a family of unitradius balls in Rd is given by the Delaunay triangulationof their centers.”

For d ≥ 3, O(ndd/2e) terms, each of size at most d, and computable in O(ndd/2e) time.

Page 120: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Theorem [Naiman-Wynn’92’97] 1⋃ni=1 Bi

=∑σ∈K

(−1)dimσ1∩i∈σBi .

Let F = B1, B2, . . . , Bn be a family of unit balls in Rd.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

For d = 2, 6n− 11 terms, each of size at most 3, and computable in O(n logn) time.

Idem for balls of different radii but uses the power diagram.

Write pi for the center of Bi.

“A correct inclusion-exclusion formula for a family of unitradius balls in Rd is given by the Delaunay triangulationof their centers.”

It suffices to prove that for any x ∈ ∪ni=1Bi∑σ∈K(−1)dimσ1∩i∈σBi(x) = 1.

For d ≥ 3, O(ndd/2e) terms, each of size at most d, and computable in O(ndd/2e) time.

Page 121: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Claim. For any x ∈ ∪ni=1Bi,∑σ∈K(−1)dimσ1∩i∈σBi(x) = 1.

Ri = y ∈ Rd | ∀j ∈ 1, 2, . . . , n \ i, ‖ypj‖ ≥ ‖ypi‖

B1, B2, . . . , Bn unit balls in Rd with Bi centered in pi.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

Page 122: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Claim. For any x ∈ ∪ni=1Bi,∑σ∈K(−1)dimσ1∩i∈σBi(x) = 1.

Ri = y ∈ Rd | ∀j ∈ 1, 2, . . . , n \ i, ‖ypj‖ ≥ ‖ypi‖

B1, B2, . . . , Bn unit balls in Rd with Bi centered in pi.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

Proof: ∑σ∈K(−1)dimσ1∩i∈σBi(x) =

∑σ∈K;σ⊂Fx(−1)dimσ = χ(K[Fx]).

Define Fx = i : x ∈ Bi. It suffices to show that K[Fx] is contractible:

K[Fx] is the subcomplex of K induced by Fx = all simplices contained in Fx.

Page 123: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Claim. For any x ∈ ∪ni=1Bi,∑σ∈K(−1)dimσ1∩i∈σBi(x) = 1.

Ri = y ∈ Rd | ∀j ∈ 1, 2, . . . , n \ i, ‖ypj‖ ≥ ‖ypi‖

B1, B2, . . . , Bn unit balls in Rd with Bi centered in pi.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

Proof: ∑σ∈K(−1)dimσ1∩i∈σBi(x) =

∑σ∈K;σ⊂Fx(−1)dimσ = χ(K[Fx]).

Define Fx = i : x ∈ Bi. It suffices to show that K[Fx] is contractible:

K[Fx] is the subcomplex of K induced by Fx = all simplices contained in Fx.

Delaunay = Nerve(Voronoi) ⇒ K[Fx] is the nerve of Ri : x ∈ Bi.

Nerve theorem ⇒ it suffices to argue that⋃

i:x∈Bi

Ri is contractible.

Page 124: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Claim. For any x ∈ ∪ni=1Bi,∑σ∈K(−1)dimσ1∩i∈σBi(x) = 1.

Ri = y ∈ Rd | ∀j ∈ 1, 2, . . . , n \ i, ‖ypj‖ ≥ ‖ypi‖

B1, B2, . . . , Bn unit balls in Rd with Bi centered in pi.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

Proof: ∑σ∈K(−1)dimσ1∩i∈σBi(x) =

∑σ∈K;σ⊂Fx(−1)dimσ = χ(K[Fx]).

Define Fx = i : x ∈ Bi. It suffices to show that K[Fx] is contractible:

K[Fx] is the subcomplex of K induced by Fx = all simplices contained in Fx.

Delaunay = Nerve(Voronoi) ⇒ K[Fx] is the nerve of Ri : x ∈ Bi.

Nerve theorem ⇒ it suffices to argue that⋃

i:x∈Bi

Ri is contractible.

Renumber the pi so that ‖xp1‖ ≤ ‖xp2‖ ≤ . . . ≤ ‖xpn‖.

Define R′i = y ∈ Rd | ∀j ∈ i+ 1, i+ 2, . . . , n, ‖ypj‖ ≥ ‖ypi‖

Page 125: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Claim. For any x ∈ ∪ni=1Bi,∑σ∈K(−1)dimσ1∩i∈σBi(x) = 1.

Ri = y ∈ Rd | ∀j ∈ 1, 2, . . . , n \ i, ‖ypj‖ ≥ ‖ypi‖

B1, B2, . . . , Bn unit balls in Rd with Bi centered in pi.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

Proof: ∑σ∈K(−1)dimσ1∩i∈σBi(x) =

∑σ∈K;σ⊂Fx(−1)dimσ = χ(K[Fx]).

Define Fx = i : x ∈ Bi. It suffices to show that K[Fx] is contractible:

K[Fx] is the subcomplex of K induced by Fx = all simplices contained in Fx.

Delaunay = Nerve(Voronoi) ⇒ K[Fx] is the nerve of Ri : x ∈ Bi.

Nerve theorem ⇒ it suffices to argue that⋃

i:x∈Bi

Ri is contractible.

Renumber the pi so that ‖xp1‖ ≤ ‖xp2‖ ≤ . . . ≤ ‖xpn‖.

Define R′i = y ∈ Rd | ∀j ∈ i+ 1, i+ 2, . . . , n, ‖ypj‖ ≥ ‖ypi‖

Page 126: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Claim. For any x ∈ ∪ni=1Bi,∑σ∈K(−1)dimσ1∩i∈σBi(x) = 1.

Ri = y ∈ Rd | ∀j ∈ 1, 2, . . . , n \ i, ‖ypj‖ ≥ ‖ypi‖

B1, B2, . . . , Bn unit balls in Rd with Bi centered in pi.

K the simplicial complex encoding the Delaunay triangulation of p1, p2, . . . , pn.σ ∈ K ⇔ pi : i ∈ σ has no pj in the interior of its circumscribed ball.

Proof: ∑σ∈K(−1)dimσ1∩i∈σBi(x) =

∑σ∈K;σ⊂Fx(−1)dimσ = χ(K[Fx]).

Define Fx = i : x ∈ Bi. It suffices to show that K[Fx] is contractible:

K[Fx] is the subcomplex of K induced by Fx = all simplices contained in Fx.

Delaunay = Nerve(Voronoi) ⇒ K[Fx] is the nerve of Ri : x ∈ Bi.

Nerve theorem ⇒ it suffices to argue that⋃

i:x∈Bi

Ri is contractible.

Renumber the pi so that ‖xp1‖ ≤ ‖xp2‖ ≤ . . . ≤ ‖xpn‖.

Define R′i = y ∈ Rd | ∀j ∈ i+ 1, i+ 2, . . . , n, ‖ypj‖ ≥ ‖ypi‖⋃i:x∈Bi

Ri =⋃

i:x∈Bi

R′i which is star-shaped wrt x.

Page 127: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Data is commonly obtained by sampling.

Distance/similarity notion influenced by the underlying topology/geometry.

Another kind of use of topological methods: topological data analysis

Page 128: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Topological data analysis aims at infering these structures.

Data is commonly obtained by sampling.

Distance/similarity notion influenced by the underlying topology/geometry.

Better understand the observed phenomena.

Improve the treatment of this data (dimension reduction, parameterization...)

Applications : clustering, matching, classification, visualization, learning,...

Another kind of use of topological methods: topological data analysis

Page 129: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Topological data analysis aims at infering these structures.

Data is commonly obtained by sampling.

Distance/similarity notion influenced by the underlying topology/geometry.

Better understand the observed phenomena.

Improve the treatment of this data (dimension reduction, parameterization...)

Applications : clustering, matching, classification, visualization, learning,...

Need for intermediate constructions (simplicial complexes).

Distinguish ”signal” from ”topological noise”, multi-scale information.

Another kind of use of topological methods: topological data analysis

Page 130: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

βi(X) is the rank of the ith homology group Hi(X).

Xβ0 = number of connected components.

βi formalizes the “number of independent holes of dimension i”.

Exemple: Betti numbers inference.

Page 131: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

βi(X) is the rank of the ith homology group Hi(X).

Xβ0 = number of connected components.

βi formalizes the “number of independent holes of dimension i”.

Exemple: Betti numbers inference.

Data: a sample S from a compact space X.

S

X

The geometry/topology of X is not known (ex: all configurations of a given molecule).

We assume X sufficiently “regular”.

(This assumption can be dispensed of.)

Page 132: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

βi(X) is the rank of the ith homology group Hi(X).

Xβ0 = number of connected components.

βi formalizes the “number of independent holes of dimension i”.

Exemple: Betti numbers inference.

Data: a sample S from a compact space X.

S

X

The geometry/topology of X is not known (ex: all configurations of a given molecule).

We assume X sufficiently “regular”.

(This assumption can be dispensed of.)

We use the reach of X.

Distance from X to its medial axis.

= locus of the points with more than one nearest neighbour on X.

positive if X is smooth.

Page 133: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Approach: union of balls.

S

X

For ε > 0 let S(ε) =⋃p∈S B(p, ε).

Page 134: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Approach: union of balls.

S

X

dH(P,X) = maxsupp∈P infx∈X ‖px‖, supx∈X infp∈P ‖px‖ (Hausdorff distance).

rX : reach of X.

For ε > 0 let S(ε) =⋃p∈S B(p, ε).

Theorem.[Nyiogi-Smale-Weinberger’04] Let X ⊂ Rd be a smooth, compactmanifold and S ⊂ Rd finite. For any ε ∈ [dH(P,X), (3−

√8)rX ],

∀i ∈ N, βi(S((2+

√2)ε))

= βi(X)

Page 135: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Approach: union of balls.

Intuition: take ε large enough to fill the holes in the sampling,small enough not to fill the holes in X.

S

X

dH(P,X) = maxsupp∈P infx∈X ‖px‖, supx∈X infp∈P ‖px‖ (Hausdorff distance).

rX : reach of X.

For ε > 0 let S(ε) =⋃p∈S B(p, ε).

Theorem.[Nyiogi-Smale-Weinberger’04] Let X ⊂ Rd be a smooth, compactmanifold and S ⊂ Rd finite. For any ε ∈ [dH(P,X), (3−

√8)rX ],

∀i ∈ N, βi(S((2+

√2)ε))

= βi(X)

Page 136: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Approach: union of balls.

Intuition: take ε large enough to fill the holes in the sampling,small enough not to fill the holes in X.

S

X

dH(P,X) = maxsupp∈P infx∈X ‖px‖, supx∈X infp∈P ‖px‖ (Hausdorff distance).

rX : reach of X.

For ε > 0 let S(ε) =⋃p∈S B(p, ε).

Theorem.[Nyiogi-Smale-Weinberger’04] Let X ⊂ Rd be a smooth, compactmanifold and S ⊂ Rd finite. For any ε ∈ [dH(P,X), (3−

√8)rX ],

∀i ∈ N, βi(S((2+

√2)ε))

= βi(X)

Algorithm:

Compute a radius ε such that βi(S(ε))= βi(X).

Compute the nerve N of the balls of radius ε centered in S.

Input: a sample S of a space X .

Compute the Betti numbers of N using simplicial homology.

Page 137: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

This algorithm can be improved using Vietoris-Rips complexes.

The Vietoris-Rips complex Rt(S) of S with parameter tis the clique complex of the intersection graph of St.

S = p1, p2, . . . , pn ⊂ Rd and St = B(p1, t), B(p2, t), . . . , B(pn, t).

Rt(S) = I ⊂ 1, 2, . . . , n | ∀i, j ∈ I, ‖pipj‖ ≤ 2t.Nerve

Vietoris-Rips

Page 138: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

This algorithm can be improved using Vietoris-Rips complexes.

The Vietoris-Rips complex Rt(S) of S with parameter tis the clique complex of the intersection graph of St.

S = p1, p2, . . . , pn ⊂ Rd and St = B(p1, t), B(p2, t), . . . , B(pn, t).

Rt(S) = I ⊂ 1, 2, . . . , n | ∀i, j ∈ I, ‖pipj‖ ≤ 2t.

Critical because one extra or fewer simplex changes the βi.

Nerve

Vietoris-RipsRt(S) is easier to compute than the nerve of St.

Only needs the 1-skeleton, makes for a greater numerical stability.

Theorem.[Attali-Lieutier-Salinas’10] For any smooth, compact manifold X ⊂ Rd,any finite subset S ⊂ Rd, any ε ∈ [dH(P,X), 0.034rX ],

∀i ∈ N, βi (R7.22ε(S)) = βi(X)

Page 139: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

This algorithm can be improved using Vietoris-Rips complexes.

The Vietoris-Rips complex Rt(S) of S with parameter tis the clique complex of the intersection graph of St.

S = p1, p2, . . . , pn ⊂ Rd and St = B(p1, t), B(p2, t), . . . , B(pn, t).

Rt(S) = I ⊂ 1, 2, . . . , n | ∀i, j ∈ I, ‖pipj‖ ≤ 2t.

Critical because one extra or fewer simplex changes the βi.

Nerve

Vietoris-Rips

Proof: collapse Vietoris-Rips complexes onto nerves.

Rt(S) is easier to compute than the nerve of St.

Only needs the 1-skeleton, makes for a greater numerical stability.

Theorem.[Attali-Lieutier-Salinas’10] For any smooth, compact manifold X ⊂ Rd,any finite subset S ⊂ Rd, any ε ∈ [dH(P,X), 0.034rX ],

∀i ∈ N, βi (R7.22ε(S)) = βi(X)

Page 140: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Another improvement: consider the sequence of S(r) as r ranges in [0,+∞[.

We obtain a family of nerves filtered by the radius of the balls.

Page 141: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Effective computation based on Rips-Vietoris / nerve interleavings.

Another improvement: consider the sequence of S(r) as r ranges in [0,+∞[.

We obtain a family of nerves filtered by the radius of the balls.

For x < y the injection S(x) → S(y) induces a morphism Hk(S(x))→ Hk(S(y)).

We can follow the “birth” and “death” of the generators of homology groups,

to obtain a persistence diagram (or a topological bar code).

Page 142: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

and provides a multiscale topological signature of the sampled space.

Effective computation based on Rips-Vietoris / nerve interleavings.

Another improvement: consider the sequence of S(r) as r ranges in [0,+∞[.

We obtain a family of nerves filtered by the radius of the balls.

For x < y the injection S(x) → S(y) induces a morphism Hk(S(x))→ Hk(S(y)).

We can follow the “birth” and “death” of the generators of homology groups,

to obtain a persistence diagram (or a topological bar code).

This persistence diagram is continuous in the space that is sampled(If the metrics are chosen adequately.)

Page 143: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

And the story could continue...

Page 144: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Discrepancy

[Weil][Roth][Beck][Spencer][Matousek][Chazelle]... [Bansal]...

Geometric Ramsey theory...[Erdos][Szemeredi][Gowers][Tao][Pach][Fox]...

VC-dimension, sampling[Vapnick-Chervonenkis][Alon][Frankl][Clarkson][Haussler-Welzl]...

Convex/combinatorial geometry, convex optimization, combinatorial LP...

[Lovasz][Kannan][Barvinok][Vempala][Kalai][Clarkson][Matousek]...

Embedding & dimension reduction, computational geometry on GPU, algebraic(hyper)graphs, matroids, optimal transport...

Page 145: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Thank you for your attention

Page 146: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Thank you for your attention

Further reading...

Page 147: to discrete & computational geometry An introduction · 2019-11-05 · to discrete & computational geometry \Builds general tools { analytic and computational { to satisfy the algorithmic

Thank you for your attention

Further reading...

And for your next linear algebra class check out