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 で動作します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト