组合多种概率,修正,求通式

计算科学 算法 可能性 造型
2021-12-08 16:18:07

语境

我需要在 NetLogo(基于代理的模拟)和 Go(并行化概率计算)中开发的基于代理/基于个人的模拟模型中结合数百万个人(树)发生数千个事件的概率。对于那些感兴趣的人,概率是针对森林景观中的单个树木由多个其他事件引起的感染事件,例如暴露、传播,每个事件都有自己的概率。

每个人都可能被周围成千上万的其他人感染。完整的模型包括数以百万计的个体,因此我正在设计模型以尽可能快速有效地计算、修改和更新概率,因为模拟中的条件发生变化。

基于概率数学,如果独立且不相互排斥的事件,并且以不同的概率和发生,总概率计算为:

要么

此外,每个事件概率都是其他两个概率乘积,其中 , 其中在事件之间是常数,但在事件之间不同)。

因此,我的模型中用于计算棵树被任何其他个体感染的概率 (即,许多此类感染事件的组合概率)的整体方程如下:

要么

要么

在模拟中随着时间的推移,给定的单个树的值将发生变化(取决于单个树的状态变量的变化),而 的值保持不变。因此,随着时间步长之间值的变化,需要修改 的值以反映这种变化。

然而,考虑到计算中涉及的值的数量(对数百万棵树中的每一棵树进行数千次计算),一旦存储每个个体(树)的每个值(考虑到我正在使用的软件和计算资源)。此外,我想限制在 NetLogo(存储每个人的状态和概率)和 Go(计算但不存储概率)之间来回传递的信息量,以避免超出内存限制?

我不想从头开始重新计算总体概率,这需要大量时间和计算资源,我希望能够 根据 的值的变化来修改给定单个树的总体概率

在给定上述标准的情况下,给定 N 个具有不同概率的独立事件,计算至少一个事件发生的概率的通用形式是什么?

如何有效地修改每个人的感染概率,而无需从头开始重新计算?

0个回答
没有发现任何回复~