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 上運作。

相關

  • 專案
  • 專案
  • 專案
  • 專案