Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics

advertisement
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Points, Distances, and Cellular Automata:
Geometric and Spatial Algorithmics
Luidnel Maignan
Alchemy: INRIA Saclay, LRI, Univ. Paris XI
luidnel.maignan@inria.fr
New World of Computation 2011
Orléan - 23-24 May 2011
1 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Introduction
Spatial Computing and Cellular Automata
Massively Distributed Systems ⇒ Spatial Features
2 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Introduction
Spatial Computing and Cellular Automata
Massively Distributed Systems ⇒ Spatial Features
Why? Physics and Locality
2 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Introduction
Spatial Computing and Cellular Automata
Massively Distributed Systems ⇒ Spatial Features
Why? Physics and Locality
Exemple? Computer Architecture, Communication
2 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Introduction
Spatial Computing and Cellular Automata
Spatial Computing: focus on space
Cellular Automata: simple framework, precise results
3 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Global Statement
In the same manner that geometry is deeply based on distances,
basing spatial algorithmics on the intrinsic metric of the spatial
computers leads to more precise and generic formulation.
4 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Outline
1 Space, Time, and Cellular Automata
2 Distance Fields and Gradients
3 Density Uniformisation
4 Convex Hulls
5 Gabriel graphs
6 Conclusion and Perpectives
5 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Space, Time, and Cellular Automata
Space, Time, and
Cellular Automata
6 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Space, Time, and Cellular Automata
Classical Considerations
Cellular Automata
Cellular Automata
Regular lattice of cells, also called sites, (or points)
All sites states are updated synchronously
State updates depends only on neighborhood sites states
4-Square
8-Square
Hexagonal
7 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Space, Time, and Cellular Automata
Classical Considerations
Cellular Automata
Cellular Automata
Regular lattice of cells, also called sites, (or points)
All sites states are updated synchronously
State updates depends only on neighborhood sites states
4-Square
8-Square
Hexagonal
7 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Space, Time, and Cellular Automata
Classical Considerations
Cellular Automata
Cellular Automata
Regular lattice of cells, also called sites, (or points)
All sites states are updated synchronously
State updates depends only on neighborhood sites states
4-Square
8-Square
Hexagonal
7 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Space, Time, and Cellular Automata
Classical Considerations
Cellular Automata and Distances
Directions and Distances
Traditionnaly, neighbors are named North, South, East, West
In this work, no direction, only the graph and its metric
Distances only ⇔ Rotational invariance
4-Square
8-Square
Hexagonal
8 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Distance Fields and Gradients
9 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Classical Definition and Computation
Definition (Distance Map)
The distance map DP of a given set of particles P associates to
each point x its distance d(x, y ) to the closest particle y ∈ P.
DP (x) = d(P, x) = min{ d(x, y ) | y ∈ P }.
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
10 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
2 2 2 2 1 0 1 2 2 2 2 1 0 1 2 2 2 1 0 1
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
3 3 3 2 1 0 1 2 3 3 2 1 0 1 2 3 2 1 0 1
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
4 4 3 2 1 0 1 2 3 3 2 1 0 1 2 3 2 1 0 1
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
5 4 3 2 1 0 1 2 3 3 2 1 0 1 2 3 2 1 0 1
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
5 4 3 2 0 2 1 2 3 3 2 1 0 1 2 3 2 1 0 1
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
5 4 3 1 0 1
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
3 3
0
3
0
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
5 4 2 1 0 1 2
1 0 1
1 0 1
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
5 3 2 1 0 1 2 3
2 1 0 1 2
2 1 0 1
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Classical Definition and Computation
Distance Field Evolution
Classical Distance Field
(
D[P]t+1 (x) =
0 if x ∈ Pt else:
min{ 1 + D[P]t (y ) | y ∈ N(x) }.
4 3 2 1 0 1 2 3 4 3 2 1 0 1 2 3 2 1 0 1
11 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
2 2 2 2 1 0 1 2 2 2 2 1 0 1 2 2 2 1 0 1
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
3 3 3 2 1 0 1 2 3 3 2 1 0 1 2 3 2 1 0 1
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
4 4 3 2 1 0 1 2 3 3 2 1 0 1 2 3 2 1 0 1
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
5 4 3 2 1 0 1 2 3 3 2 1 0 1 2 3 2 1 0 1
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
5 4 3 2 0 0.5 1 2 3 3 2 1 0 1 2 3 2 1 0 1
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
5 4 3 1 0 1 1.5
3 3
0
3
0
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
5 4 2 1 0 1 2 2.5
1 0 1
1 0 1
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
5 3 2 1 0 1 2 3 3.5
2 1 0 1 2
2 1 0 1
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
Corrected Distance Field Evolution
Corrected Distance Field Evolution
Corrected Distance Field


0 if x ∈ Pt+1 else:
D[P]t+1 (x) = 0.5 if x ∈ Pt else:


min{ 1 + D[P]t (y ) | y ∈ N(x) }.
4 3 2 1 0 1 2 3 4 3 2 1 0 1 2 3 2 1 0 1
12 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field
Checkpoint
We have: distances locally, globally, and dynamically
We don’t have: finite number of states
13 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field
Checkpoint
We have: distances locally, globally, and dynamically
We don’t have: finite number of states
Bounded information
No bound on distances
Bounded gradient (differences between neighboring sites)
What about modulo ?
13 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field (Cont.)
Modulo in action
Particles maximal speed determines maximal gradient
1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
14 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field (Cont.)
Modulo in action
Particles maximal speed determines maximal gradient
.5
.5
2 2 2 2 0 0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0 0 2 2 2 2 2 2
14 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field (Cont.)
Modulo in action
Particles maximal speed determines maximal gradient
3 3 3
0
.5
2 3 3 3 3 3 3 3 3 3 3 3 3 2
.5
.5
3 3 3 3 3
14 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field (Cont.)
Modulo in action
Particles maximal speed determines maximal gradient
4 4
1
3 4 4 4 4 4 4 4 4 4 4 3
4 4 4 4
14 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field (Cont.)
Modulo in action
Particles maximal speed determines maximal gradient
5
.5
.5
.5
.5
.5
.5
.5
0 1 2 3 3 4 5 5 5 5 5 5 5 5 4 3 2 1 1 0 0 2 3 5 5 5
14 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field (Cont.)
Modulo in action
Particles maximal speed determines maximal gradient
4
2 3 4 4 5 6 6 6 6 6 6 5 4 3 2 2 1 1 0 1 3 4 6 6
.5
.5
.5
.5
14 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field (Cont.)
Modulo in action
Particles maximal speed determines maximal gradient
.5
3 2 2
.5
0
.5
.5
3 4 5 5 6 7 7 7 7 6
.5
.5
.5
3 3 2 2
.5
1 2
.5
5 7
14 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field (Cont.)
Modulo in action
Particles maximal speed determines maximal gradient
In this case: 2 consecutive moves ⇒ gradient bound of 3
.5
3 3
.5
.5
1
.5
.5
.5
.5
.5
.5
.5
.5
5 6 6 7 8 8 7 6 5 4 4 3 3 1 0 0 1 2 3 5 6
14 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
From Infinite To Finite Field (Cont.)
Modulo in action
Particles maximal speed determines maximal gradient
In this case: gradient bound of 3 ⇒ modulo 7
.5
3 3
.5
.5
1
.5
5 6
.5
0
.5
.5
.5
0
5
.5
.5
3 3
.5
.5
.5
2 3 5 6
14 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Distance Fields and Gradients
From Infinite To Finite Field
Building on top of distances
Distance fields as building blocks
Moving according to the distance field
Detecting patterns of distances and particles
Case Study
Density Uniformisation (unidimensional)
Convex Hull (multidimensional)
Gabriel Graph (multidimensional)
15 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Density Uniformisation
16 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Problem Statement
Problem Statement
Problem Definition
Move the particles to a uniform distribution
Input:
Output:
17 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Problem Analysis
Problem Analysis
Intuition
Each particle needs to occupy its space
Boundary between individual spaces ⇔ middles
Occupy its space ⇔ be at the middles
18 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Problem Analysis
Application: 1D Uniformisation
Solution
19 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting system
Initial system state
p0 (x) = x ∈ P
w0 (x) = x 6∈ P
System fields composition

dp



dw
p



w
=
=
=
=
D[p]
D[w]
M[p0 , B[dp] ∧ Dir[dw, ≤]]
M[w0 , B[dw] ∧ Dir[dp, ≤]]
20 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
The resulting evolution
Signal and Dynamics
We can see that signals travels through the space
We can assign energy and momentum to these signals
Defined by fields; composed for global system
21 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Density Uniformisation
Solution Description
Space-time diagram of the uniformisation
22 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Convex Hulls
23 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Definition and Problem Statement
Convexity in Euclidean Space
Definition (Euclidean convex region)
A convex region contains all segments joining two of its points
Convex Polygon
Concave Polygon
24 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Definition and Problem Statement
Convexity in Euclidean Space (Cont.)
Definition (Convex Hull)
The convex hull is the smallest convex region containing a set
25 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Definition and Problem Statement
Convexity in Euclidean Space (Cont.)
Definition (Convex Hull)
The convex hull is the smallest convex region containing a set
25 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Definition and Problem Statement
Convexity in Euclidean Space (Cont.)
Definition (Convex Hull)
The convex hull is the smallest convex region containing a set
25 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Definition and Problem Statement
Convexity in Cellular Space
Definition (Metric convex region)
A convex region contain all shortest paths joining two of its points
Convexity for Metric Cellular Space
26 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Definition and Problem Statement
Convexity in Cellular Space (Cont.)
Shortest paths between two points
Many shortest path between two points: Interval
[x, y ] = { z ∈ S | d(x, z) + d(z, y ) = d(x, y ) }
27 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
First Step: Local convexity
First Step: Local convexity
Definition
convt (x) = ∃y0 , y1 ∈ {y ∈ N(x) | y ∈ Pt ∨convt−1 (y )}; x ∈ [y0 , y1 ]
28 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
Detect the middles of the shortest paths
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
Detect the middles of the shortest paths
Go back from the middles to the particles
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
Detect the middles of the shortest paths
Go back from the middles to the particles
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
Detect the middles of the shortest paths
Go back from the middles to the particles
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Second Step: Global Convexity for Two Particles
Second Step: Global Convexity for Two Particles
Required Fields:
Grow a distance field modulo 3 (static particles)
Detect the middles of the shortest paths
Go back from the middles to the particles
29 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Last Step: Global Convexity for Many Particles
Last Step: Global Convexity for Many Particles
Convex Hull of Two Points
Grow a distance field modulo 3
Detect the middles of the shortest paths
Go back from the middles to the points
30 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Last Step: Global Convexity for Many Particles
Last Step: Global Convexity for Many Particles
Convex Hull of Many Points
Grow a distance field modulo 3
Detect the middles of the shortest paths
Go back from the middles to the points
30 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Real Challenge: Global Convexity
31 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Proximity Graph Characterisation
Distance Field and Voronoi Diagram
32 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Proximity Graph Characterisation
Delaunay graph ?
32 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Proximity Graph Characterisation
Delaunay graph ? No, only a subset
32 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Convex Hulls
Solution Description: Global Convexity for Many Particles
Proximity Graph Characterisation
Gabriel Graph !
32 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Gabriel graphs
33 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Original Gabriel graphs
Original Gabriel graphs
Definition (Gabriel Graph)
Euclidean spaces
Connects two particles x and y if and only if the ball using the
segment [xy ] as diameter does not contain any other particle.
Gabriel graphs on Cellular Spaces
Connected for Euclidean... and for cellular spaces ?
34 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Original Gabriel graphs
Gabriel graphs on Cellular Spaces
(a) Each point
(b) Each line
(c) Each
diagonal
(d) Subcase of
(c)
Generalisation
Connectedness is not ensured in general
The cause is the non-uniqness of diameters and minimal balls
We need to generalize the definition
35 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs
Principles of Gabriel Graphs
Connectedness, Minimality, and Locality
Minimality and connectedness:
minimum spanning trees
Locality and connectedness :
arbitrarily choice implies global coherence
union of all minimum spanning trees
Locality and minimality :
Edge decision should be local
union of all local minimum spanning trees
36 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs
From Principles to Definition
Definition (Metric Gabriel Graph)
Any metric space
Connects two particles x and y if and only if there is a ball
B(c, r ) such that d(x, y ) = 2r and {x, y } is an edge of a
minimum spanning tree of P ∩ B(c, r ).
37 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs
From Principles to Definition (Cont.)
Definition (Metric Gabriel Graph)
Any metric space
Connects two particles x and y of P if and only if there is a
ball B(c, r ) such that there is a cut {P0 , P1 } of P ∩ B(c, r )
with (x, y ) ∈ P0 × P1 and d(P0 , P1 ) = 2r .
38 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs
From Principles to Definition (Cont.)
Definition (Metric Gabriel Graph)
Any metric space
Connects two particles x and y of P if and only if there is a
ball B(c, r ) such that there is a cut {P0 , P1 } of P ∩ B(c, r )
with (x, y ) ∈ P0 × P1 and d(P0 , P1 ) = 2r .
Preservation of the Properties
Metric Gabriel graphs are always connected
On Euclidean spaces, they are Gabriel graphs
38 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
Distance fields and dilations
Example of a metric Gabriel ball center
39 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
Distance fields and dilations (Cont.)
Example of a non-metric Gabriel ball center
40 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
Dilations and interval slices
One particle
Two particles
r =4
r =3
41 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The metric Gabriel ball centers field


⊥



⊤
centt (x) =
⊤



⊥
if t = 0
if centt (x, x)
if ∃y ∈ N(x), centt (x, y )
otherwise;
+
centt (x, y ) = |Q t (x, y )/C2r
|≥2
xy
Q t (x, y ) = { z ∈ B(xy , rxy ) | D[P]t−1 (z) + rxy = D[P]t−1 (x, y ) }
42 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The resulting cellular automaton
43 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The resulting cellular automaton
43 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The resulting cellular automaton
43 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The resulting cellular automaton
43 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The resulting cellular automaton
43 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The resulting cellular automaton
43 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The resulting cellular automaton
43 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The resulting cellular automaton
43 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Gabriel graphs
Metric Gabriel Graphs on Cellular Automata
The resulting cellular automaton
43 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Conclusion and Perpectives
Conclusion and Perpectives
44 / 45
Points, Distances, and Cellular Automata: Geometric and Spatial Algorithmics
Conclusion and Perpectives
Perspectives
In the same framework
Voronoi Diagram Field
Firing Squad Synchronisation Problem
Extending the framework
Cayley Graphs
Asynchronicity
Amorphous Computers
45 / 45
Download