This paper introduces the Fusemate probabilistic logic programming system. Fusemate's inference engine comprises a grounding component and a variable elimination method for probabilistic inference. Fusemate differs from most other systems by grounding the program in a bottom-up way instead of the common top-down way. While bottom-up grounding is attractive for a number of reasons, e.g., for dynamically creating distributions of varying support sizes, it makes it harder to control the amount of ground clauses generated. We address this problem by interleaving grounding (along program stratification) with a query-guided relevance test. This test prunes ground rules whose heads are inconsistent with the query dynamically extended by the ground rules so far. We present our method in detail and demonstrate it with examples that involve ``time'', such as (hidden) Markov models. Our experiments demonstrate competitive or better performance compared to a state-of-the probabilistic logic programming system, in particular for high branching problems.
翻译:本文介绍了Fusemate概率逻辑编程系统。Fusemate的推理引擎包含一个接地组件和一个用于概率推理的变量消去方法。Fusemate与大多数其他系统的不同之处在于,它采用自底向上的方式而非常见的自顶向下方式对程序进行接地。尽管自底向上接地因多种原因(例如动态创建具有可变支持大小的分布)而具有吸引力,但它使得控制所生成的子句数量变得更加困难。我们通过将接地过程(沿程序分层进行)与基于查询的相关性测试交错进行来解决这一问题。该测试会剪除那些头部与动态扩展的查询(基于当前已生成的子句)不一致的规则。我们详细介绍了该方法,并通过涉及“时间”的示例(如隐马尔可夫模型)进行了演示。实验结果表明,与最先进的概率逻辑编程系统相比,我们的方法具有竞争性或更优的性能,特别是在高分支问题中。