ML-KULeuven/problog

ProbLog is a Probabilistic Logic Programming Language for logic programs with probabilities.

解决的问题

ProbLog 是一个概率逻辑编程工具箱,旨在处理异构组件之间的复杂交互,同时考虑现实场景中固有的不确定性。它允许用户构建带有概率注释的事实的程序,从而在给定证据的情况下计算边际概率,并从部分解释中进行学习。

工作原理

ProbLog 将概率逻辑程序、查询和证据转换为加权布尔公式。这种转换使得引擎能够使用来自图模型和知识编译文献中的高效算法,具体将推理任务视为加权模型计数问题。

适用人群

专为需要将逻辑编程(Prolog/Datalog)与概率推理相结合的研究人员和开发者设计。该工具可嵌入 Python 或 Java,并支持以 CSV 文件、SQLite 数据库或主机环境函数表示的知识库。

主要特点

  • 概率逻辑编程:将逻辑规则与概率事实相结合。
  • 灵活的数据集成:支持来自 Prolog/Datalog、CSV 和 SQLite 的知识库。
  • 高效的推理:使用加权模型计数来解决复杂的概率查询。
  • 多平台支持:通过 Python 包在 Windows、Linux 和 Mac OSX 上运行。

相关

  • 项目
  • 项目
  • 项目
  • 项目