Skip to main content
. 2013 Jul 9;139(2):025101. doi: 10.1063/1.4811286

The ABSIS

// Input (X, R, x0, D, θ, κ, M, λ1, λ2)
Define network N(X,R)
Initialize hash table H={(xi):[A0(xi),B0(xi),Ak(xi),Bk(xi),gk(xi)]}
j ← 0,   total weight wM ← 0,   weight square vM ← 0,
Number of successful paths Ns ← 0
whilej < Mdo
  Path length i ← 1
  Initialize path with the initial state xi1x0
  Time on current path t ← 0,   weight of current path w ← 1
whilet < θ and d(xi1,D)>0do
   ifxi1Hthen
    Calculate reaction rates Ak(xi1) of state xi1 for all reactions RkR
    A0(xi1)k=1mAk(xi1)
    Enumerate all possible κ step paths π(i − 1, i + κ) starting from state xi1 using Algorithm of Ref 19.
    Calculate pF(xi) and pB(xi) for each Rk using Eq. 9, 10
    Calculate bias strength gk(xi1) for each Rk according to Eq. 12
    Calculate tentative reaction rate Bk(xi1) for all Rk according to Eq. 14
    Calculate final biased reaction rate Bk(xi1) for all Rk according to Eq. 17
    Calculate B0(xi1)k=1mBk(xi1)
    HH{(xi1):[A0(xi1),B0(xi1),Ak(xi1),Bk(xi1),gk(xi1)]}
   end if
   Retrieve Bk(xi1), Ak(xi1), B0(xi1), A0(xi1) and gk(xi1) from H using key xi1
   Generate two uniform random numbers μ1U(0,1) and μ2U(0,1)
   τi1ln(μ1)/B0(xi1)
   rsmallestintegersatisfyingr=1k1Br(xi1)<μ2B0(xi1)r=1kBr(xi1)
   tt + τi − 1, xi1xi1+sr
   ww·Ak(xi1)e(B0(xi1)A0(xi1))τi1Bk(xi1)
   ii + 1
end while
ift < θ and d(xi1,D)=0thenwMwM + w, vMvM + w2, NsNs + 1
end if
end while
returnpABSIS(x0,D,θ)=wM/M
returnσABSIS2(x0,D,θ)=(vM/M)(wM/M)2
returnσABSIS(x0,D,θ)=σABSIS2/M
return Success Rate: s = Ns/M