Modeling Complex Systems in Time-changing Data Structures
Antoine Spicher
www.spatial-computing.org/mgs AgreenSkills Reasearch School, Météopole, Toulouse October 2014
Time-changing Data Structures Antoine Spicher - - PowerPoint PPT Presentation
Modeling Complex Systems in Time-changing Data Structures Antoine Spicher www.spatial-computing.org/mgs AgreenSkills Reasearch School, Mtopole, Toulouse October 2014 Outline Modeling Morphogenesis Our Approach Current &
Antoine Spicher
www.spatial-computing.org/mgs AgreenSkills Reasearch School, Météopole, Toulouse October 2014
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Zebra fish embryogenesis Bouncing ball
(generally mathematical) language
Representation of the state (observables)
Position: 𝐪 = (𝑞𝑦, 𝑞𝑧) ∈ ℝ2
Velocity: 𝐰 = (𝑤𝑦, 𝑤𝑧) ∈ ℝ2
Representation of time
𝑢 ∈ ℝ+ ⇒ 𝑞𝑦 𝑢 , 𝑞𝑧 𝑢 , 𝑤𝑦 𝑢 , 𝑤𝑧 𝑢
Evolution function specification
Newton’s motion law 𝑛
𝜖2𝐪 𝜖𝑢2 = 𝐺ext
Newton’s impact equations
𝑢− 𝑢+
𝐺imp. 𝑒𝑢 = 𝑛(𝐰+ − 𝐰−)
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
state time evolution
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
state time evolution
statet-1 étatt statet+1
ℕ
statet-dt statet statet+dt
ℝ
statet
H H H*
Local interactions Emergent phenomena Non-linearity,
feedback loops, etc.
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Without space
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
state time evolution
Without space With space
Discrete vs. continuous
Absolute vs. relative (Newton vs. Leibniz)
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
state time evolution
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
state time evolution
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Without time
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
state time evolution
Without time With time
Discrete vs. continuous
Absolute vs. relative (Newton vs. Leibniz)
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
state time evolution
Several events at different places About synchrony
Synchronous All events in parallel
Sequential One event at a time
Asynchronous At least one event
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
state time evolution
Bouncing ball
At any time, the state is defined by exactly two vectors (position & speed)
Developing embryo
At a given time, the state is defined
A variable number of cells (geometry, concentration, …) A variable organization (division, migration, apoptosis, …)
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Dynamic structure Static structure
In biology
Molecular bio., developmental bio.
In physics
Soft matter mechanics, multi-scale systems
General relativity
In SHS
Urbanism, traffic control
Economics
In computer science
Internet, social network
Reconfigurable robots
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Dynamics ON the shape Dynamics OF the shape
The state as well as the structure of the state is changing in time Formally: The structure of the state is needed to specify the evol. fun. but, the evol. fun. computes the structure of the state
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Modeling and simulation tools
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
C: continuous, D: discrete PDE Coupled ODE Iteration of functions Cellular automata MGS State C C C D D Time C C D D D Space C D D D D Generative formalisms Usual tools (patterning)
Topology: Multiset Sequence Uniform Arbitrary graph nD combinatorial structures Formalism: Membrane systems L systems GBF Map L systems Graph grammars MGS
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
State of the system given by observation Structure is dynamic ⇒ structure is an observable
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Environment characterized by its effects on the system
System described by a state
(determined by observation)
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
The interactions decomposes the systems into elementary parts An interaction implies one or several elementary parts
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
The inclusion structure between the elementary and interacting parts is a lattice A (simplicial) complex is a (topological) equivalent representation
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Interactions in dynamical system
𝑡(𝑢): state of the system at time 𝑢
𝑇𝑗
𝑢: ith sub-system where an interaction occurs at time 𝑢
The successive partitions give rise to a topology on 𝑇
Basic elements in interaction: points
Spatial organization of the interactions: topology of interactions
Different kinds of interaction: local evolution laws
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Interaction 1 Interaction 3 Interaction 2 Interaction 4
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Discrete: representation of populations of entities Local: the global behavior emerges from local interactions Declarative: close to a mathematical specification
Formalization of the equational reasoning
Substitution of a sub-part of an object by another one
Example: simplification of arithmetical expressions
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
x
x y
x x
y
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
arithmetic operation string concatenation multiset concatenation (= the chemical soup)
e1 can be a cell and e2 a signal e1 and e2 can interact +
is the possibility of interaction between entities (or some other relationships)
is the passing of time, a local evolution, a transition,
the concretization of the interaction
e + i e’
growth (evolution of e on signal i)
e + i e+i’
quorum sensing
e + i e’ + e’’
division
e + i .
apoptosis
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
State (space/topology of interactions) Data Structure
hierarchical organizations arbitrary organizations formal trees (terms) graph, topological collection
Evolution Function Rewriting System
interaction ⇒ product local evolution laws 𝛽 ⇒ 𝛾 𝛽: pattern, 𝛾: expression set of rules, transformation
Trajectories Derivations Time Modeling Rule Application Strategies
discrete, event based, synchronous/asynchronous/… maximal-parallel/sequential/ stochastic/…
Structure
A collection of (topological) cells
An incidence relationship (neighborhood)
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
0-cell 1-cell 3-cell 2-cell vertex edge surface volume
Structure
A collection of (topological) cells
An incidence relationship (neighborhood)
Data associated with the cells
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
0-cell 1-cell 3-cell 2-cell
Functions defined by case on collections
Each case (pattern-)matches a sub-collection
Rewriting relationship: topological rewriting
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
trans T = { pattern1 ⇒ expression1 … patternn ⇒ expressionn }
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Topological Collection Topological Collection
Sub-collection (Sub-)collection substitution pattern matching
trans T = { pattern1 ⇒ expression1 … patternn ⇒ expressionn }
Local evolution laws MGS specification
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
trans dla = { `red, `green => `green, `green ; `red, <undef> => <undef>, `red } ;;
Neighborhood = interaction Empty place diffusion aggregation
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Splitting an edge by insertion of a vertex
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
trans insert_vertex = { ~v1 < e:[ dim = 1 ] > ~v2 => letcell v = new_cell 0 () () and e1 = new_cell 1 (^v1,v) (cofaces ^e) and e2 = new_cell 1 (^v2,v) (cofaces ^e) in (some expression) * v } v1 v2 e e1 e2 v v1 v2
Splitting an edge by insertion of a vertex
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Definition
“ Subdivision defines a smooth curve or surface as the limit of a sequence of successive refinements ”
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
SIGGRAPH 98 Course Notes
Inserting vertices on edges Splitting each hexagonal surface
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
trans insert_vertex = { … } trans subdivide_face = { f:[ dim = 2 ] ~v1 < ~e1 < f > ~e1 > ~v2 < ~e2 < f > ~e2 > ~v3 < ~e3 < f > ~e3 > ~v4 < ~e4 < f > ~e6 > ~v5 < ~e5 < f > ~e5 > ~v6 < ~e6 < f > ~e4 > ~v1 => letcell a1 = new_cell 1 (^v2,^v4) (f1,f4) and a2 = new_cell 1 (^v4,^v6) (f2,f4) and a3 = new_cell 1 (^v6,^v2) (f3,f4) and f1 = new_cell 2 (a1,^e2,^e3) () and f2 = new_cell 2 (a2,^e4,^e5) () and f3 = new_cell 2 (a3,^e6,^e1) () and f4 = new_cell 2 (a1,a2,a3) () in `edge * a1 + … + `triangle * f4 }
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Quadrangular mesh Doo-Sabin Catmull-Clark Loop Butterfly Triangular mesh Kobbelt
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Menger Sponge (2 steps) Sierpinsky Sponge (4 steps)
Filamentous cyanobacteria Asymmetric division: one is smaller than the other Two types of cells (heterocyst & vegetative)
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Filamentous cyanobacteria Asymmetric division: one daughter is smaller than the other
Polarized cell with left/right orientation
ICCSA 2014 - MGS, a DSL for Modeling and Simulating (DS)²
The Algorithmic Beauty of Plants
ICCSA 2014 - MGS, a DSL for Modeling and Simulating (DS)²
type cell = `Left_Long | `Right_Long | `Left_Short | `Right_Short ;; type anabaena = [cell]seq ;; trans grammar = { `Right_Short => `Right_Long; `Left_Short => `Left_Long; `Right_Long => `Left_Long, `Right_Short; `Left_Long => `Left_Short, `Right_Long; } ;; grammar(seq:(`Right_Long)) ;;
Lack of nitrogen Robust structure
Heterocysts are very regularly distributed (every 10 cells)
Wilcox Model
Activator/inhibitor
Activator triggers the differentiation
Activator catalyzes the inhibitor production
Inhibitor represses the activator effects (antagonism)
Discretized in a (parametric) L System
ICCSA 2014 - MGS, a DSL for Modeling and Simulating (DS)²
heterocyst
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
trans rules = { wall:W => { J = K * (left(wall).c - right(wall).c) } ; cell:H => cell; cell:C => let cell' = cell + { c = cell.c + dt * ((left(cell).J - right(cell).J))
s = cell.s * (R ** dt) } in … } ;;
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
trans rules = { … cell:C => let cell' = … in if cell'.c < T then { a = `H, … } elif cell'.s > Smax then if cell'.p == `Right then ( cell' + { s = 3.0 * cell'.s / 4.0, p = `Left }, { J = 0.0 }, cell' + { s = 1.0 * cell'.s / 4.0, p = `Right }) else … fi else cell' + { a = `V } fi } ;;
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Linear cell structure Morphogene concentration time
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Ants foraging
One transformation, different topologies polytypism
Boids (Reynolds, 86)
No leader, 3 evolution rules, coherent global behavior
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Cellular motility Tumor growth Neurulation
Topological surgery Adaptive mesh
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Qualitative models Quantitative models
Differentiation & survival
Spatial evolution of the population Noise sensibility Robustess
Cellular automata Mass/spring system Gillespie’s SSA Kinetics model (ODE/PDE)
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Language for interaction-based modeling Mathematically grounded: topology of interaction, rewriting tech. Unification of existing formalisms (patterning & growth) Programs close to the model (expressiveness, many examples)
Fails in modeling time correctly
Hard-coded rule application strategies, limited to iteration of functions/trans.
Complexity left in the background
Global/emergent properties not taken into account
Only one level of description (local)
Lack of coupling between global & local
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Infectious disease spreading across a network
Nodes are either susceptible
Susceptible nodes linked to infected nodes get infected with probability 𝜷
Infected nodes recover with probability 𝜸
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Infectious disease spreading across a network
Nodes are either susceptible
Susceptible nodes linked to infected nodes get infected with probability 𝜷
Infected nodes recover with probability 𝜸
Persistence of the disease in the network
Probability 𝜷
Probability 𝜸
Mean excess degree 𝒆 (global topological information)
Average number of links that one finds connected to a node
that is reached by following a random link
𝒆 > threshold ⇒ every node will be infected in a while (large networks) By watching the behavior of a single node (local observation) for a
sufficiently long period of time, we can estimate if the mean excess degree (global topological information) exceeds the threshold
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Infectious disease spreading across a network
Nodes are either susceptible
Susceptible nodes linked to infected nodes get infected with probability 𝜷
Infected nodes recover with probability 𝜸
Persistence of the disease in the network
Probability 𝜷
Probability 𝜸
Mean excess degree 𝒆 (global topological information)
A simple mechanism can put the system at the critical point!
Additional rule: a susceptible node cut a link with an infected node with a certain probability decreasing with the increase of the infection delay
There is a feedback loop between the topology and the state of the network The dynamics of the infection depends on the network topology and the evolution of the network topology depends on the prevalence of the disease
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Infectious disease spreading across a network
Nodes are either susceptible
Susceptible nodes linked to infected nodes get infected with probability 𝜷
Infected nodes recover with probability 𝜸
Persistence of the disease in the network
Probability 𝜷
Probability 𝜸
Mean excess degree 𝒆 (global topological information)
A simple mechanism can put the system at the critical point!
Additional rule: a susceptible node cut a link with an infected node with a certain probability decreasing with the increase of the infection delay
There is a feedback loop between the topology and the state of the network The dynamics of the infection depends on the network topology and the evolution of the network topology depends on the prevalence of the disease
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Numeric Identity
Relation between an object with it-self during its existence
DB: Being able to relate evolving data to the same real object
Specific Identity
Relation between some entities that belong to the same species
DB: Being able to gather data referring to the same kind of objects
Qualitative Identity (indiscernibility)
Relation between entities to be only indiscernible by their number
DB: Being able to represent enough data to distinguish different real object
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
“ The ship wherein Theseus and the youth of Athens returned from Crete had thirty oars, and was preserved by the Athenians down even to the time of Demetrius Phalereus, for they took away the old planks as they decayed, putting in new and stronger timber in their place, in so much that this ship became a standing example among the philosophers, for the logical question of things that grow; one side holding that the ship remained the same, and the other contending that it was not the same. “ —Plutarch, Theseus
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Population of entities
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Association of a numeric identity with a specific identity Population of entities Emergent Properties Global entities Local entities Local level Global level
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Local level Global level time Global Evolution Laws Local Evolution Laws
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
Local level Global level time Global Evolution Laws Local Evolution Laws Memory Evolutive Systems (MES) Andrée Ehresmann
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures
ashes fire forest
propagation extinction
http://www.spatial-computing.org/mgs Collaborations (short list) & acknowledgments
J.-L. Giavitto, G. Assayag, C. Agon, M. Andreatta (IRCAM)
J.-P. Banâtre (IRISA, chemical computing, ANR AutoChem)
P.-E. Moreau (LORIA, compilation of pattern-matching)
…
AgreenSkills Research School 2014 - A. Spicher - Modeling Complex Systems in Time-changing Data Structures