Simulation of Systems using computational algorithms

Simulation of Systems using computational algorithms#

Virtually all modeling projects turn at one point or another to simulations. These are computational algorithms performing a deterministic or stochastic set of rules to track the potential evolution of a model. These are brute force approaches, as running a simulation can be more time consuming then solving its expected output mathematically. However, simulations can be useful at multiple points of a modeling projects, especially when they leverage clever algorithmic tricks.

Simulations of a system can be an easy way to explore a model before committing time to developing a mathematical approach to its analysis. Are the simple rules you design able to produce the interesting phenomenon you care about? What better way to find out than to actually apply the rules? Simulations can also be useful when validating your mathematical framework or testing different mathematical approximations. Finally, simulations can be used to track the outputs of a particularly complicated model or of an expansive subroutine of a larger model. With too many rules and types of moving parts, agent-based models often require direct simulations.

Here is an additional reference to provide more details and more methods than covered in this tutorial:

  • Stochastic simulation algorithms for computational systems biology: Exact, approximate, and hybrid methods [Simoni et al., 2019]. It is important to note that many of the simulation approaches used in complexity come from systems biology and the study of complex chemical systems. These communities routinely deal with very large populations of systems parts undergoing a complex set of spatial, stochastic, and higher-order interactions.

Our main goal is to provide a tutorial on the key concepts behind the most common simulation approaches in the study of complex systems. As applications, we will rely on classic models from complexity such as birth-death processes, the game of life, swarming dynamics, and contagion dynamics on networks.

Table of content#

Applications

References#

[GB00]

Michael A Gibson and Jehoshua Bruck. Efficient exact stochastic simulation of chemical systems with many species and many channels. The Journal of Pphysical Chemistry A, 104(9):1876–1889, 2000.

[Gil76]

Daniel T Gillespie. A general method for numerically simulating the stochastic time evolution of coupled chemical reactions. Journal of Computational Physics, 22(4):403–434, 1976.

[Gil07]

Daniel T Gillespie. Stochastic simulation of chemical kinetics. Annu. Rev. Phys. Chem., 58:35–55, 2007.

[SRPM19]

Giulia Simoni, Federico Reali, Corrado Priami, and Luca Marchetti. Stochastic simulation algorithms for computational systems biology: exact, approximate, and hybrid methods. Wiley Interdisciplinary Reviews: Systems Biology and Medicine, 11(6):e1459, 2019.