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