中文

子常数时间逐反应模拟随机化学反应网络的精确方法

数据结构与算法 2026-02-16 v2

摘要

化学反应网络模型是最古老、最广泛研究和应用的模型之一,描述抽象化学物种间的反应,例如A + B → C,表示如果类型A的分子与类型B的分子(反应物)相互作用,它们可能黏在一起形成类型C的分子(生成物)。化学反应网络的标准仿真算法是Gillespie算法[JPC 1977],它逐个随机模拟一个反应,因此要模拟ℓ个连续反应,需要总运行时间Ω(ℓ)。我们给出的第一种化学反应网络仿真算法能够在时间上严格亚线性于ℓ的情况下模拟ℓ个反应,同时保持精确的随机动力学(从Gillespie算法生成的完全相同分布中进行抽样)。在合理假设下,当ℓ ≥ n^{5/4}时,本算法可在O(ℓ/√n)时间内模拟ℓ个反应;当n ≤ ℓ ≤ n^{5/4}时,可在O(ℓ/n^{2/5})时间内完成。我们的工作改造了Berenbrink等人[ESA 2020]用于模拟已知分布式计算模型(population protocols)的算法,将其(在非常非平凡的方式)扩展到更一般的化学反应网络设置。我们提供了一个基于Python实现的软件包,核心逻辑使用Rust实现,实际运行效果极快。

关键词

引用

@article{arxiv.2508.04079,
  title  = {Exactly simulating stochastic chemical reaction networks in sub-constant time per reaction},
  author = {Joshua Petrack and David Doty},
  journal= {arXiv preprint arXiv:2508.04079},
  year   = {2026}
}

备注

47 pages, 4 figures