The Gillespie algorithm samples statistically exact trajectories of a well-mixed chemical reaction network modeled by a continuous-time Markov chain. At copy-number state , each reaction propensity function is a nonnegative event rate and each stoichiometric vector specifies the update. Assume the rates have no explicit time dependence. Put . If , no further chemical reaction can occur: the state is an absorbing state.
For , sample a waiting time from the exponential distribution with rate , independently choose channel with probability , and update . Recompute the reaction propensity functions and repeat. The no-event probability is because ; multiplying by gives the joint waiting-time/channel probability density function . This factorization explains the two draws.[ref]
For with reaction propensity function , the waiting time has mean , and is an absorbing state. Exactness concerns the specified chemical master equation; spatial mixing errors and explicitly time-varying rates require a different model or sampling rule.
Tau-leaping accelerates the Gillespie algorithm by approximating reaction rates as constant over an interval , then drawing all reaction counts for that interval at once. At state , with reaction propensity functions and stoichiometric vectors , the explicit step is
The leap condition requires the propensities to change little during the interval. Unlike event-by-event exact simulation, this introduces an approximation error controlled through the choice of .[ref]
For with rate , the approximate number converted is Poisson with mean . The exact number converted over the interval is instead binomial with parameters and . The two agree to first order for small , but the Poisson draw can exceed and produce a negative count. Smaller or adaptive leaps and modified sampling rules address this limitation; freezing the rate is not automatically safe at low copy number.

Articles by others on the same topic (1)

The Gillespie algorithm, also known as the Gillespie stochastic simulation algorithm (SSA), is a numerical method used to simulate the time evolution of systems with probabilistic events, particularly in the context of biochemical reactions. It was developed by Daniel T. Gillespie in 1976 to address the need for modeling the dynamics of chemical systems where the number of molecules is relatively small, and where stochastic effects become significant.