随机模拟算法为模拟自然界中随机的反应提供了一种实用的方法。具有少量分子的模型可以真实地随机模拟,也就是说,与确定性解不同,允许结果包含概率元素。
模型先决条件包括:
模型中的所有反应都必须具有运动学定律
属性设置为按摩
.
如果您的模型包含事件,则可以使用随机模拟ssa
解算器。其他随机解算器不支持事件。万博1manbetx
您的模型不能包含剂量。没有随机解算器支持剂量。万博1manbetx
此外,如果在模型上执行单个拟合或总体拟合配置集对象
指定随机解算器和选项,请注意,在拟合过程中®临时更改:
溶剂型
属性设置为的默认解算器ode15s
溶蚀
属性设置为上次为确定性解算器配置的选项
在模型的随机模拟期间,如果在模型中存在,软件将忽略任何速率,分配或代数规则。根据模型的不同,随机仿真可能需要比确定性模拟更多的计算时间。
使用随机求解器模拟模型时,可以增加logdecimation.
财产的财产Configset对象
记录更少的数据点并减少运行时间。
化学主方程(CME)根据概率分布的时间演化描述化学系统的动力学。对于大多数实际问题,直接求解此分布是不切实际的。相反,随机模拟算法(SSA)通过使用倾向函数模拟每个反应,有效地生成与CME一致的单独模拟。因此,分析多个随机模拟以确定概率分布比直接求解CME更有效。
有利条件
该算法精确。
缺点
由于此算法一次评估一个反应,因此对于包含大量反应的模型来说可能太慢。
如果任何反应物的分子数是巨大的,可能需要很长时间才能完成模拟。
由于随机仿真算法对于许多实际问题可能太慢,因此该算法旨在以某种准确度的成本加速模拟。该算法将每个反应视为与其他反应无关。它自动选择时间间隔,使得每个反应的倾向函数的相对变化小于您的误差容差。在选择时间间隔之后,算法计算在时间间隔期间每种反应发生的次数,并对所涉及的各种化学物质的浓度进行适当的变化。
优势
该算法可以比SSA更快的级别。
您可以使用此算法进行大问题(如果问题不是数值僵硬)。
缺点
该算法牺牲了一些精度的速度。
这种算法对僵硬型号不利。
您需要指定误差容限,以便生成的时间步长为最快时间刻度的顺序。
与明确的Tau跳算法一样,隐式TAU跳队算法也是一种近似模拟方法,旨在以一定精度的成本加速模拟。它可以优于显式Tau跳跃算法来处理数值僵硬的问题。对于确定性系统,如果在系统中存在“快速”和“慢速”时间尺度,则据说问题是数值突破。对于此类问题,显式TAU-Leaping方法仅在继续采取最快时间尺度顺序的少量时间步长时执行良好。隐式Tau-跳线方法可能采取更大的步骤,仍然是稳定的。该算法将每个反应视为与他人无关。它自动选择时间间隔,使得每个反应的倾向函数的相对变化小于用户指定的误差容差。在选择时间间隔之后,算法计算在时间间隔期间每次反应发生的次数,并对所涉及的各种化学物质的浓度进行适当的变化。
优势
该算法可以比SSA快得多。它通常比明确的Tau跳跃算法更快。
您可以将此算法用于大型问题,也可以用于数值刚性问题。
所采取的步骤总数通常少于显式tau跳跃算法。
缺点
该算法牺牲了一些精度的速度。
与显式tau跳跃算法相比,每一步都有更高的计算负担。这会导致每一步的CPU时间更长。
这种方法通常会抑制慢流形的扰动,从而降低平均值的状态方差。
[1] Gibson M.A.,Bruck J.(2000),“具有许多物种和许多渠道的化学系统的精确随机模拟,”物理化学,105:1876-1899。
[2] Gillespie D.(1977),“耦合化学反应的精确随机模拟”,物理化学杂志,81(25):2340-2361。
[3] Gillespie D.(2000),“化学朗之万方程”,《化学物理杂志》,113(1):297-306。
[4] Gillespie D.(2001),“化学反应系统的近似加速随机模拟”,《化学物理杂志》,115(4):1716-1733。
[5] Gillespie D.,Petzold L.(2004),“加速随机模拟的改进跳跃大小选择”,化学物理杂志,119:8229–8234
[6] Rathinam M.,Petzold L.,Cao Y.,Gillespie D.(2003),“随机化学反应系统的刚度:隐式Tau-跳动法”,“化学物理学,119(24):12784 -12794。
[7] Moler,C.(2003),“刚性微分方程刚度是常微分方程数值解中一个微妙、困难和重要的概念,”MATLAB News&Notes。