We introduce SMProbLog, a generalization of the probabilistic logic programming language ProbLog. A ProbLog program defines a distribution over logic programs by specifying for each clause the probability that it belongs to a randomly sampled program, and these probabilities are mutually independent. The semantics of ProbLog is given by the success probability of a query, which corresponds to the probability that the query succeeds in a randomly sampled program. It is well-defined when each random sample uniquely determines the truth values of all logical atoms. Argumentation problems, however, represent an interesting practical application where this is not always the case. SMProbLog generalizes the semantics of ProbLog to the setting where multiple truth assignments are possible for a randomly sampled program, and implements the corresponding algorithms for both inference and learning tasks. We then show how this novel framework can be used to reason about probabilistic argumentation problems. Therefore, the key contribution of this paper are: a more general semantics for ProbLog programs, its implementation into a probabilistic programming framework for both inference and parameter learning, and a novel approach to probabilistic argumentation problems based on such framework.
翻译:我们引入了 SMProbLog, 这是概率逻辑逻辑编程语言ProbLog 的概括性。 ProbLog 程序通过为每个条款指定它属于随机抽样程序的概率来定义逻辑程序的分布, 这些概率是相互独立的。 ProbLog 的语义由查询的成功概率来给定, 这与查询在一个随机抽样程序中成功概率相对应。 当每个随机样本都独有地决定所有逻辑原子的真理值时, 它就定义得很清楚。 然而, 参数问题代表了一个有趣的实际应用, 但它并不是总属于这种情况。 SMProbLog 将ProbLog 的语义概括到一个随机抽样程序可以进行多重真象分配的设置中, 并且执行相应的算法, 既适合随机抽样程序, 也适用于学习任务。 我们然后展示这个新的框架如何用来解释概率论理问题。 因此, 本文的关键贡献是: 更笼统的 ProbLog 方案的语义, 的语义性化方法将它概括性化的语义化, 方法将它纳入一个基于 参数的参数框架。