Probabilistic programming languages (PPLs) are an expressive and intuitive means of representing complex probability distributions. In that realm, languages like Dice target an important class of probabilistic programs: those whose probability distributions are discrete. Discrete distributions are common in many fields, including text analysis, network verification, artificial intelligence, and graph analysis. Another important feature in the world of probabilistic modeling are nondeterministic choices as found in Markov Decision Processes (MDPs) which play a major role in reinforcement learning. Modern PPLs usually lack support for nondeterminism. We address this gap with the introduction of noDice, which extends the discrete probabilistic inference engine Dice. noDice performs inference on loop-free programs by constructing an MDP so that the distributions modeled by the program correspond to schedulers in the MDP. Furthermore, decision diagrams are used as an intermediate step to exploit the program structure and drastically reduce the state space of the MDP.
翻译:概率编程语言(PPLs)是表达复杂概率分布的一种直观且富有表现力的方式。在该领域中,诸如 Dice 之类的语言针对一类重要的概率程序:其概率分布为离散型的程序。离散分布在许多领域中十分常见,包括文本分析、网络验证、人工智能和图分析。概率建模领域中另一个重要特征是非确定性选择,如马尔可夫决策过程(MDPs)中所见,这在强化学习中扮演着重要角色。现代概率编程语言通常缺乏对非确定性的支持。我们通过引入 noDice 来填补这一空白,它扩展了离散概率推断引擎 Dice。noDice 通过构建一个 MDP 来对无循环程序执行推断,使得程序建模的分布对应于该 MDP 中的调度器。此外,决策图被用作中间步骤,以利用程序结构并大幅缩减 MDP 的状态空间。