What is ProbLog?
masterProbLog 2 is a Probabilistic Logic Programming toolbox. It allows you to build programs that encode complex interactions between heterogeneous components while accounting for inherent uncertainties.
Core Concepts:
- Probabilistic Logic Programs: Logic programs where some facts are annotated with probabilities.
- Inference Engine: Converts programs, queries, and evidence into weighted Boolean formulas. This reduces inference tasks to weighted model counting, utilizing methods from graphical model and knowledge compilation literature.
- Supported Tasks: Computing marginals given evidence and learning from (partial) interpretations.
- Data Integration: Knowledge bases can be represented as Prolog/Datalog facts, CSV files, SQLite database tables, or via custom functions implemented in the host environment.