We present here a new probabilistic inference algorithm that gives exact results in the domain of discrete probability distributions. This algorithm, named the Statues algorithm, calculates the marginal probability distribution on probabilistic models defined as direct acyclic graphs. These models are made up of well-defined primitives that allow to express, in particular, joint probability distributions, Bayesian networks, discrete Markov chains, conditioning and probabilistic arithmetic. The Statues algorithm relies on a variable binding mechanism based on the generator construct, a special form of coroutine; being related to the enumeration algorithm, this new algorithm brings important improvements in terms of efficiency, which makes it valuable in regard to other exact marginalization algorithms. After introduction of several definitions, primitives and compositional rules, we present in details the Statues algorithm. Then, we briefly discuss the interest of this algorithm compared to others and we present possible extensions. Finally, we introduce Lea and MicroLea, two Python libraries implementing the Statues algorithm, along with several use cases.
翻译:我们在这里提出了一个新的概率推算算法,在离散概率分布领域得出准确结果。 这个算法叫做Statues 算法,它计算了直接循环图的概率模型的边际概率分布。 这些模型由定义明确的原始模型组成,特别可以表达联合概率分布、Bayesian网络、离散马尔科夫链、调制和概率算术。 Statue 算法依靠一个基于发电机构造的可变结合机制,这是一种特殊的共生法形式;它与查点算法有关,这个新的算法在效率方面带来重要的改进,使得它在其他精确的边缘化算法方面很有价值。在采用若干定义、原始和构成规则之后,我们将详细介绍Statue算法。然后,我们简短地讨论这一算法与其他算法相比的兴趣,然后我们提出可能的扩展。最后,我们介绍两个Python图书馆,与几个使用案例一起实施Statues算法。