Skip to main content

ProbLog

ProbLog 2 is a Probabilistic Logic Programming toolbox. It allows to intuitively build programs that do not only encode complex interactions between a large sets of heterogenous components, but also the inherent uncertainties that are present in real-life situations.

Probabilistic logic programs are logic programs in which some of the facts are annotated with probabilities.

The engine tackles several tasks such as computing the marginals given evidence and learning from (partial) interpretations. ProbLog is a suite of efficient algorithms for various inference tasks. It is based on a conversion of the program and the queries and evidence to a weighted Boolean formula. This allows us to reduce the inference tasks to well-studied tasks such as weighted model counting, which can be solved using state-of-the-art methods known from the graphical model and knowledge compilation literature.

ProbLog is a Python package and can be embedded in Python or Java. Its knowledge base can be represented as Prolog/Datalog facts, CSV-files, SQLite database tables, through functions implemented in the host environment or combinations hereof.

ProbLog 2.1 works out of the box on systems with Python. It has been tested on Mac OSX, Linux and Windows.

Installation

CircleCI codecov

ProbLog supports optional components which can be installed separately. See the file INSTALL for detailed installation instructions.

Python

To install ProbLog, you can use the pip with the following command:

pip install problog

Prerequisites

ProbLog 2.1 requires Python 3.6+. (Python 2.7+ support has been dropped since ProbLog 2.1.0.36.)

Online Editor

You can try out ProbLog without installing it with our online editor.

For example, enter the following ProbLog program for calculating the probability that at least one of two coins (one of which is a bend/biased coin) is head.

% Probabilistic facts:
0.5::heads1.
0.6::heads2.

% Rules:
someHeads :- heads1.
someHeads :- heads2.

% Queries:
query(someHeads).

When you press evaluate, this will result in 0.8, because P(someHeads) = 1 - (1-P(heads1)) (1-P(heads2)) = 1 - (1-0.5) (1-0.6) = 0.8.

Get Started with ProbLog

Tutorial

To get started with ProbLog, follow the ProbLog Tutorial.

Homepage

Visit the ProbLog Homepage.

Documentation

Extensive documentation about ProbLog can be found on our ProbLog documentation on ReadTheDocs.

Papers

You can consult the following paper to get an introduction to ProbLog:

Inference and learning in probabilistic logic programs using weighted Boolean formulas, Daan Fierens, Guy Van den Broeck, Joris Renkens, Dimitar Shterionov, Bernd Gutmann, Ingo Thon, Gerda Janssens, and Luc De Raedt. Theory and Practice of Logic Programming, 2015.

ProbLog: A probabilistic Prolog and its application in link discovery, L. De Raedt, A. Kimmig, and H. Toivonen, Proceedings of the 20th International Joint Conference on Artificial Intelligence (IJCAI-07), Hyderabad, India, pages 2462-2467, 2007.

Many other papers and information about ProbLog can be found in our ProbLog publication list.

License

Copyright 2015 KU Leuven, DTAI Research Group

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Release files for problog 2.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for problog 2.3.0
File Size Uploaded
problog-2.3.0.tar.gz 356.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for problog 2.3.0
File
problog-2.3.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
problog-2.3.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
problog-2.3.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
problog-2.3.0-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
problog-2.3.0-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
problog-2.3.0-py3-none-macosx_11_0_universal2.whl Python 3 none macOS 11.0+ universal2 (ARM64, x86-64) Details

Total release size: 6.5 MB

Release files / problog-2.3.0.tar.gz

Download URL problog-2.3.0.tar.gz
Size 356.6 kB
Tags Source
SHA-256 checksum
How to use checksums
700052f035e3aaab00937d54e804de2281f1a9437ff7aef35f1d1d0ad313c884
BLAKE2b-256 checksum
How to use checksums
47d031e7f1b96376ef4878c2a61c74c8e8bff5d345b9ad94abeecd8c7b5974a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / problog-2.3.0-py3-none-win_amd64.whl

Download URL problog-2.3.0-py3-none-win_amd64.whl
Size 1.2 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
978e36e1ae8d5df28102116933c564a9f6a3dd135336561236b69569e43bfa67
BLAKE2b-256 checksum
How to use checksums
7b867d2bb00aa6f2a922ff9c552a997827df3c433abbe71b704de26033688e1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / problog-2.3.0-py3-none-musllinux_1_2_x86_64.whl

Download URL problog-2.3.0-py3-none-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
848e3cff8c9b5b413fc1bd9e5fcd059226ad515dfe197b8b65bd599d8b533fd1
BLAKE2b-256 checksum
How to use checksums
5ee848ece8a267ae6bb2fede56d1fcb140a449f7c99e17e0265c9acd039390e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / problog-2.3.0-py3-none-musllinux_1_2_aarch64.whl

Download URL problog-2.3.0-py3-none-musllinux_1_2_aarch64.whl
Size 1.1 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
c55543ab11695db4eb2fdf5777c73a1bd5450a09d8ad4023e8b6a45ed9200c20
BLAKE2b-256 checksum
How to use checksums
ca45a26cd0b47cb32334a8cf6157609f30bedbb28a19394e196402bedb51363f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / problog-2.3.0-py3-none-manylinux_2_28_x86_64.whl

Download URL problog-2.3.0-py3-none-manylinux_2_28_x86_64.whl
Size 1.0 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8d18beae480bce9f54037dfa9cf8c058da874524c118d8ffae96fd210b68e71e
BLAKE2b-256 checksum
How to use checksums
c1f732fcd5d01c119a7a370abc8d370b29fb3c24e57e32bf2af7f1c0e3740fad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / problog-2.3.0-py3-none-manylinux_2_28_aarch64.whl

Download URL problog-2.3.0-py3-none-manylinux_2_28_aarch64.whl
Size 1.0 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
041ac8e9c0eb91f8a289c9b5baf33e12259943730606059a1924a8201a2a15ac
BLAKE2b-256 checksum
How to use checksums
b0916d7b34beb27368f737eacdb11252b5983178c2b4d0a387fece857958a1d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / problog-2.3.0-py3-none-macosx_11_0_universal2.whl

Download URL problog-2.3.0-py3-none-macosx_11_0_universal2.whl
Size 670.6 kB
Tags Python 3 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
366516e6cf563ebcd172d8d1f0ce7b7bad1bec6037d317e8260b5e2690672d0b
BLAKE2b-256 checksum
How to use checksums
b19f393f633095bf347dd64cce004bf4ad320c9fbfb5efa67a7bb825ba456816
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

2.3.0 This release

7 release files

2.2.10

2 release files

2.2.9

2 release files

2.2.8

2 release files

2.2.7

2 release files

2.2.6

2 release files

2.2.5

2 release files

2.2.4

1 release file

2.2.3

1 release file

2.2.2

1 release file

2.2.1

1 release file

2.1.0.8

1 release file

2.1.0.7

1 release file

2.1.0.6

1 release file

2.1.0.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page