Stochastic simulation

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Stochastic simulation algorithms and methods were initially developed to analyse chemical reactions involving large numbers of species with complex reaction kinetics[1]. The first algorithm, the Gillespie algorithm was proposed by Dan Gillespie in 1977. It is an exact procedure for numerically simulating the time evolution of a well-stirred chemically reacting system.

The algorithm is a Monte Carlo type method.

Contents

[edit] Discrete, exact variants

In order to determine the next event in a stochastic simulation, the rates of all possible changes to the state of the model are computed, and then ordered in an array. Next, the cumulative sum of the array is taken, and the final cell contains the number R, where R is the total event rate. This cumulative array is now a discrete cumulative distribution, and can be used to choose the next event by picking a random number z~U(0,R) and choosing the first event, such that z is less than the rate associated with that event.

In order of decreasing efficiency

[edit] Partial-propensity methods

Published in 2009, 2010, and 2011 (Ramaswamy 2009, 2010, 2011). Use factored-out, partial reaction propensities to reduce the computational cost to scale with the number of species in the network, rather than the (larger) number of reactions. Four variants exist:

  • PDM, the partial-propensity direct method. Has a computational cost that scales linearly with the number of different species in the reaction network, independent of the coupling class of the network (Ramaswamy 2009).
  • SPDM, the sorting partial-propensity direct method. Uses dynamic bubble sort to reduce the pre-factor of the computational cost in multi-scale reaction networks where the reaction rates span several orders of magnitude (Ramaswamy 2009).
  • PSSA-CR, the partial-propensity SSA with composition-rejection sampling. Reduces the computational cost to constant time (i.e., independent of network size) for weakly coupled networks (Ramaswamy 2010) using composition-rejection sampling (Slepoy 2008).
  • dPDM, the delay partial-propensity direct method. Extends PDM to reaction networks that incur time delays (Ramaswamy 2011) by providing a partial-propensity variant of the delay-SSA method (Bratsun 2005, Cai 2007).

The use of partial-propensity methods is limited to elementary chemical reactions, i.e., reactions with at most two different reactants. Every non-elementary chemical reaction can be equivalently decomposed into a set of elementary ones, at the expense of a linear (in the order of the reaction) increase in network size.

[edit] Logarithmic direct method

Published in 2006. This is a binary search on the cumulative array.

[edit] Sorting direct method

Published 2005.

[edit] Optimised direct method

Published 2004.

[edit] Next reaction method

Published 2000.

[edit] Direct and first reaction methods

Published by Dan Gillespie in 1977, and is a linear search on the cumulative array. See Gillespie algorithm.

[edit] Continuous, approximate variants

[edit] τ leap and modified Poisson τ leap methods

First published in 2001; modified in 2005.

[edit] See also

[edit] References

  1. ^ Bradley, Jeremy; Stephen Gilmore (2005). "Stochastic simulation methods applied to a secure electronic voting model". Electronic Notes in Theoretical Computer Science. 

[edit] External links

Software
  • Cain - Stochastic simulation of chemical kinetics. Direct, next reaction, tau-leaping, hybrid, etc.
  • PDM - C++ implementations of all partial-propensity methods.
  • StochPy - Stochastic modelling in Python
Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages