Step 0: | Inputs: Initial node N0, ƌstep, ƃlimit, aμ, vμ, tol τm, tf, tstep Initialize: \( {\boldsymbol{Bound}}_{\boldsymbol{lower}}={\boldsymbol{X}}_{\boldsymbol{K}},{\boldsymbol{b}}_{{\boldsymbol{N}}^i,\boldsymbol{N}}^{\hbox{'}}{\left(\boldsymbol{X}-{\boldsymbol{v}}_{\mu}\right)}^{\hbox{'}}={\boldsymbol{P}}^{\left(\boldsymbol{t}\right)}\left({\boldsymbol{X}}_{\mathbf{0}}\right),\boldsymbol{A}=\left[\right] \) |
Step 1: | Initialize count(ƃlimit) and start from parent node Ni = (X0, ƌl) ← Current state of the system at td, |
Step 2: | Flag the current node as explored, update A and add the state Xi in the domain so that; if 1 − IT exp (t. Aj). P(t)(X0) ≥ τm(leak) holds true go to Step 3; else stop the algorithm. |
Step 3: | Sort exp(t. Aj). P(t)(X0) and shift the set of states in \( {\mathbf{X}}_K^{\hbox{'}}\;\mathrm{at}\;{t}^{\hbox{'}} \) having smallest probabilities, if P(t)(XK) ≥ τm(leak) > \( {\mathrm{P}}^{(t)}\left({\mathbf{X}}_K^{\hbox{'}}\right) \) and at td update \( {\mathbf{X}}_K\leftarrow {\mathbf{X}}_K-{\mathbf{X}}_K^{\hbox{'}} \) |
Step 4a: | For ƌstep, extend the graph dictionary Dict by vμ(Xi(t)) for count(ƃlimit) to check all the nodes nj = (Xj, ƌl , Ͼ\( {}_{N_i,{N}_i^{\hbox{'}}}\left.\left(\mathit{\min}\right)\right) \) adjacent to Ni: Boundupper ← RM(Boundlower) reachable by exactly RM reactions (from fast to slow) having Ͼ\( {}_{N_i,{N}_i^{\hbox{'}}}\left(\mathit{\min}\right) \). If nK = (XK, ƌl , Ͼ\( {}_{N_i,{N}_i^{\hbox{'}}}\left.\left(\mathit{\min}\right)\right) \) be the set of adjacent nodes such that nK ∈ nJ, then go to the next Step, |
Step 4b: | Compute the BLNP function for nK∈ Boundupper: \( b\left(\left.{N}_{N1,.. NM}\right|{b}_{1,N.\dots {N}^{\hbox{'}}N}^{\hbox{'}}\right)={P}_{N,1.\dots N,N\hbox{'}}\left(\omega \right)\ast {b}_{N^{\hbox{'}},N}^{\hbox{'}}{\left(X-{v}_i\right)}^{\hbox{'}} \) |
Step 5a: | If nK = (XK, ƌl , Ͼ\( {}_{N_i,{N}_i^{\hbox{'}}}\left.\left(\mathit{\min}\right)\right)\in domain \), then update the values of the set of states XK present in domain and take domain ← domainprevious ∪ domain and go back to Step 1; else If nK = (XK, ƌl , Ͼ\( {}_{N_i,{N}_i^{\hbox{'}}}\left.\left(\mathit{\min}\right)\right)\notin domain \), then add it to the stack in order, according to reachability and go to next Step, |
Step 5b: | sort \( b\left({N}_{N1,.. NM}\left|{b}_{N1,.. NM}^{\hbox{'}}\right.\right) \) in descending order and update \( stack\leftarrow \left( stack;b\left({N}_{N1,.. NM}\left|{b}_{1,N.\dots {N}^{\hbox{'}},N}^{\hbox{'}}\right.\right)\right) \) |
Step 6: | Pop of the top nodes nK = (XK, ƌl , Ͼ\( {}_{N_i,{N}_i^{\hbox{'}}}\left.\left(\mathit{\min}\right)\right) \) from the stack and add the set of states XK in the domain as domain ← domain + XK and take domainprevious ∪ domain, and go to next Step, |
Step 7: | If count(ƃlimit) = ƃlimit creates Boundupper = {domain} up to ƃlimit then label Boundlower ← Boundupper and go back to Step 1; else if count(ƃlimit) < ƃlimit creates {domain} up to count(ƃlimit) then go to next Step, |
Step 8: | count(ƃlimit)← count(ƃlimit) + 1 and go to Step 4a |
Output: domain with probable states |