to discrete & computational geometry an introduction · 2019-11-05 · to discrete &...
TRANSCRIPT
Midi – Rouen, September 2015
Xavier Goaoc
LIGM - Universite Paris-Est Marne-la-Vallee
An introductionto discrete & computational geometry
“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.
?
“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.
?
“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.
?
70’s - beginnings
segments intersectionVoronoi diagramsnearest neighbours
70’s - beginnings
segments intersectionVoronoi diagramsnearest neighbours
80’s - exact solutions, lower bounds
range searching
convex hullsarrangements
triangulations
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...
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
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.
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
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
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
Central question in discrete geometry:
Estimate the asymptotic complexity of various sub-structures of arrangements.
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...
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?
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
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
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
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.
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)).
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)).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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‖
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.
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.
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.
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.
Dualities between Delaunay triangulation and Voronoi diagram.
Dualities between Delaunay triangulation and Voronoi diagram.
Combinatorial
Voronoi vertex= center of a ball circumscribed to a Delaunay simplex.
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′.
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′.
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′.
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
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
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
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
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
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
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
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
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
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
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
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
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).
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).
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).
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).
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).
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).
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).
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]
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
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.
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).
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).
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|.
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.
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]
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).
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).
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).
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).
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?
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?
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.
A Kakeya set is a subset of Rd containing a unit-length segmentin every direction.
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.
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.
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?
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]
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).
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).
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.
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).
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?
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]
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]
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]
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]
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]
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
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.
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.
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.”
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:
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.
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.
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.
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.
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.
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.
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.
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'
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.
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
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
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
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.
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.
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.
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.
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.
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.
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.
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‖
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‖
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.
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
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
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
β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.
β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.)
β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.
Approach: union of balls.
S
X
For ε > 0 let S(ε) =⋃p∈S B(p, ε).
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)
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)
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.
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
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)
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)
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.
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).
∞
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.)
And the story could continue...
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...
Thank you for your attention
Thank you for your attention
Further reading...
Thank you for your attention
Further reading...
And for your next linear algebra class check out