The Theory of Simulation Nina Podolskaya Feb 25, 2009
Virtually all of the major unsolved problems in science today concerns complex, self-organizing systems,where vast numbers of components interact simultaneously, with each shift in one agent influencing the other. Steven Strogatz, cited in Nature, Vol. 421, p. 782
When Simulation May Be Useful When we are investigating the complicated phenomena of life and No explicit model of a phenomena or A model of a phenomena may not yet be derived Analytic solutions is not appropriate due to system complexity
What Is a Simulation Simulation is a mechanism which interacts many state transition models of individual subsystems (i.e. system components) and thus generates system dynamical phenomena
What Is a Dynamical System A dynamical system is a pair consisting of a state space, with each point representing a state of the system, and a fixed rule governing the time evolution of these points. The time can be continuous or proceed in discrete steps.
Synthetic Investigation Properties Compared to Analytical One No explanation, only representation Dynamical representation is implicit and constructive: relations are not explicitly encoded in subsystems but are the result of interactions between the subsystems
Basic Parts of Simulation To be aware that a simulation is generating dynamical phenomena at higher level than elemental interactions are described To have methods to identify the elements of underlying system that create the phenomena of interest To formulate models of the important subsystems To create the framework in which the simulation of the subsystems in interaction is composed and embody the system representation in this framework so that phenomena of interest can be generated and analyzed
Examples of Modeling Monomers and solvent molecules Vehicles, roadway segments, signals and travel goals in a traffic system
Interactions Interactions can be viewed as discrete events among the subsystems undergoing local state changes and communicating the state changes to its neighbors in some space
Event Driven Simulation Event can be externally or internally generated Event can also be a time step => Time stepped simulation is a special case of an event driven simulation Continuous space, continuous time, dynamical systems equally well can be treated in the given framework Discrete space, discrete time systems do not have any other general formal framework within which the dynamical properties can be generated and analyzed
Simulation
Simulation We consider simulation as an iterated mapping of a (usually large and complicated) system Simulation is an iterative system in which the simulated system is represented and its dynamics calculated => The simulation and the simulated system are both dynamical systems and the interplay between the dynamics of the coordination of the simulation updates and the dynamics calculated in the time series of system states are essential issues
What Comprises a Simulation Existence of some ∑R, a real or natural system in the world that we are interested in ∑(SiЄM), models of subsystems Si of this system and rules that define interactions among the subsystems ΣS, a simulation of ΣR involving Σ(SiЄM) and some update functional U ΣC, a formal (and equivalent physical) computing machine on which ΣS, is implemented
Si=Si (fi,Iii,xi,ti), i and j=1, …, n Objects The objects (elements or subsystems) in a simulation are defined as Si=Si (fi,Iii,xi,ti), i and j=1, …, n where fi is the representation of the dynamics of the i-th object and where Iii is the i-th object’s interaction rules with other objects j. Interaction and dynamics operate on xi, the state of i-th object. ti is the local object time coordinate
∑(SiЄM) Si is an element in the system ∑(SiЄM), that is Si is a model of the i-th element of the set of modeled system elements in M, i=1, …, n. Thus, the algorithmic part of Si is equivalent to fi and Iij
U An object update functional U is the state transition Si(ti+Δi) ← Si (ti), i=1,…,n or Si(ti+Δi)=U(Si(ti)), i=1,…,n where U, the update functional, defines, organizes and executes the formal interactive procedure that prescribes the state transition
ΣS A simulation is the iteration of object updates over the entire set of objects {Si(ti+1)} ← {Si (ti)}, i=1,…,n or {Si(ti+1)}=U({Si(ti)}), i=1,…,n
ΣC The formal, or equivalent physical implementation, of the mechanisms of the iteration procedure that prescribe the interactions and consequent object state transitions ant their storage. ΣC is normally a physical and conceptually digital computer of some kind.
Emergence
Observational functions Si1Є ∑M, i=1,…,n U – update functional at level of description L1 O1 – observational function by which the objects can be inspected S2 ← U{Si1(fi,Iij,xi,ti), O1}, i,j=1,…,n S2 - a second order structure occurring at level L2. Thus new structure may be subjected to a possible new kind of observer O2.
Emergent property Property P is emergent iff P Є O2(S2), but P not Є O1(Si1). Examples: Dynamical properties of a polymer in solution (low level: monomer-monomer interactions, monomer-solvent interactions) Properties of a congestion in a traffic system (low level: vehicle-vehicle interactions, vehicle-roadway and –signal interactions)
Simulation and Emergence Simulation is a representational mechanism that is distinguished by its capacity to generate relations that are not explicitly encoded Simulation is a natural method to study emergence
Examples S2 – polymer described through monomer-monomer and monomer-solvent interactions. P2 could be polymer elasticity. S2 – traffic jam described through vehicle-vehicle and vehicle-roadway interactions. P2 could be lifetime of a traffic jam.
Examples in Science L1 – Statistical Mechanical, L2 – Thermodynamical description of a matter L1 – Lattice Gas Automata for fluid particle dynamics, L2 – Navier Stokes equations for macroscopic fluid dynamics
Simulatability
Distributable Update Let φ(Sq1,…, Ss1) be a hierarchically distinct representation of a subset of the interacting objects (Sq1,…, Ss1). Thus, φ(Sq1,…, Ss1) defines a sub-aggregation (an aggregation model) of some of the objects. If U({S11,…, Sn1})={U(Si1),U(Sj1),…,U(φ(Sq1,…, Ss1)), U(Sl1),…, U(Sp1)} for some order of the objects, then the update U is distributable over the decomposition ΣM of the system and each object and object aggregation can be updated independently of each other
Simulatable System A system is simulatable iff there exists a pair (M,U) such that U distributes over Si Є M => If no distributable U exists for some subaggregation of the objects M which allows the update to distribute, then the system is non-simulatable If no M exists so that a given U can distribute then the system is also non-simulatable
Example Model polymer defined on a 2D lattice: polymer in some solvent (heat bath). Each of the monomers update in parallel – non-simulatable: k steps of update cycle implies that polymers above a certain finite length are non-simulatable. Two step parallel scheduling (red/green) – polymers of any length can be simulated
Universal Simulator
Definition Universal simulator US is a machine that is able to resolve all causal dependencies among the objects Sj1.
A Universal Simulator Structure qi – counter associated with the object Si qf counts the failed update trails IG – interaction graph
Determining Simulatability Update of S11: if it doesn’t depend on the state of any other object – it is updated and counter q1 incremented. If it has dependencies – qf incremented and S21 is attempted to be updated… US can determine whether a system is simulatable or not at most ∑i=0n-1(n-1)(n-i) operations
Dependency Jacobian US defines object update dependency Jacobian Dq=(∂qi/ ∂qj)n×n≡(Δqi/ Δ qj)n×n where the derivative ∂qi/ ∂qj expresses how many updates of object j are necessary to update object i once; Δqi/ Δ qj=0 indicates that the update of the object i is independent of object j; Δqi/ Δ qj≥1 tells that the update of i needs the state of object j at current time before it can be updated; Δqi/ Δ qj ≡ 1 for i=j
Simulatability Determined by US A system ∑S is simulatable if Dq is a diagonal matrix (unit matrix). If Dq contains sub-matrices on the diagonal and ∑S is found non-simulatable it is indication that ∑S could become simulatable by the construction of sub-aggregations including the objects contained within each of the sub-matrices
Bibliography S.Rasmussen, C.L.Barret Elements of a theory of simulation, 1995 S.Rasmussen, J.R.Smith Lattice polymer automata, 1994 K.Nagel, S.Rasmussen Traffic at the edge of chaos, 1994