# Distributions with CRNs

**High level summary.** We considered the following problem: given a distribution $\pi$, does there exist a CRN which can generate, at least approximations to, $\pi$. We focussed on the well defined problem of constructing a point mass distribution. We think this problem is largely solved.

We then considered how to construct CRNs that give more complicated distributions. We believe we can use the construction of a point mass to construct any desired distribution through an algorithmic mechanism.

The question then arrises as to how to construct distributions with CRNs with minimal "complexity," where complexity is loosely defined as the amount of information needed to describe the networks.

See uploaded file for technical details. File:DistributionsByCRNs.pdf

Stochastic simulations of distribution model:

r = 100.0; N = 50.0; s = 1.0; k = 2.0;

Simulation code can be run at http://lepton.research.microsoft.com/webgec/ by pasting the code in the LBS tab

(*directive simulation stochastic*) directive sample 10000.0 1000 (*directive plot X*)

rate r = 100.0; rate N = 50.0; rate s = 1.0; rate k = 2.0; spec C0 = new C0; spec C1 = new C1; spec C2 = new C2; spec C3 = new C3; spec C4 = new C4; spec C5 = new C5; spec C6 = new C6; spec C7 = new C7; spec C8 = new C8;

module Step(spec Ci,Cj) {

X ~ Ci ->{r} Cj | Cj ->{r*N} Ci | init Cj 1.0

}; module Start(spec C0){

C0 ->{s} C0 + X | init C0 1.0 init X 50.0

}; module End(spec CM){

CM + X ->{s/N} CM

}; module Mid(spec CK){

->{k} CK | CK ->{s}

};

module S8(){ Start(C0) | Step(C0,C1) | Step(C1,C2) | Step(C2,C3) | Step(C3,C4) | Mid(C4) | Step(C4,C5) | Step(C5,C6) | Step(C6,C7) | Step(C7,C8) | End(C8) };

module S2(){ Start(C0) | Step(C0,C1) | Mid(C1) | Step(C1,C2) | End(C2) };

S8()

// S8()