Arguing for the need to combine declarative and probabilistic programming, B\'ar\'any et al. (TODS 2017) recently introduced a probabilistic extension of Datalog as a "purely declarative probabilistic programming language." We revisit this language and propose a more principled approach towards defining its semantics based on stochastic kernels and Markov processes - standard notions from probability theory. This allows us to extend the semantics to continuous probability distributions, thereby settling an open problem posed by B\'ar\'any et al. We show that our semantics is fairly robust, allowing both parallel execution and arbitrary chase orders when evaluating a program. We cast our semantics in the framework of infinite probabilistic databases (Grohe and Lindner, ICDT 2020), and show that the semantics remains meaningful even when the input of a probabilistic Datalog program is an arbitrary probabilistic database.
翻译:B\'ar\'any et al.(TODS 2017)最近引入了数据仪的概率扩展,作为“纯声明性概率编程语言 ” 。我们重新审视了这一语言,并提出了一个更具原则性的方法,以基于随机内核和Markov过程的语义定义其语义——标准概念来自概率理论。这使我们能够将语义扩展至持续的概率分布,从而解决由B\'ar\'any et al.(TODS 2017) 等构成的公开问题。我们表明,我们的语义相当坚固,在评价一个程序时允许平行执行和任意追逐命令。我们把语义放在无限概率数据库(Grohe和Lindner,ICDT 2020)的框架内,并表明语义仍然有意义,即使概率数据程序的投入是一个任意的概率数据库。