To aid in the interpretation of gene lists, PheNetic was build on top of ProbLog. More ...
Extract from video which blocks are magnetic. More ...
ProbLog is used to reason over heterogeneous data sources like the Helsinki Biomine database. More ...
ProbLog is used to reason over large probabilistic graphs. More ...
ProbLog is used to investigate the single neuron activities of the c. elegans worm. More ...
Probabilistic logic programs are logic programs in which some of the facts are annotated
ProbLog is a tool that allows you 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.
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.
Probabilistic Logic Programming.
ProbLog makes it easy to express complex, probabilistic models.
0.3::stress(X) :- person(X).
0.2::influences(X,Y) :- person(X), person(Y).
smokes(X) :- stress(X).
smokes(X) :- friend(X,Y), influences(Y,X), smokes(Y).
0.4::asthma(X) :- smokes(X).
Get to know the language using our interactive tutorial, check out our publications or try the above example directly in our online editor.
For an introduction, please consult the following papers
Inference and learning in probabilistic logic programs using weighted Boolean formulas,
Fierens, Daan, Guy Van den Broeck, Joris Renkens, Dimitar Shterionov, Bernd Gutmann, Ingo Thon, Gerda Janssens, and Luc De Raedt.
arXiv preprint arXiv:1304.6810 (to appear in Theory and Practice of Logic Programming), 2013.
- 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
The Engine. Powerful inference.
ProbLog2 is our 2nd generation engine to reason with the ProbLog language.
The current engine builds on logic programming, knowledge compilation, the distribution semantics and probabilistic, graphical models.
It allows you to:
- Compute marginal probabilities of any number of ground atoms in the presence of evidence.
- Learn the parameters of the ProbLog program from partial interpretations.
For more information about these inference and learning tasks and how they are solved in ProbLog2, please consult the following papers.
- Inference in probabilistic logic programs using weighted
CNF's, D. Fierens, G. Van den Broeck, I. Thon, B. Gutmann, and L. De
Raedt, Proceedings of the Twenty-Seventh
Conference Annual Conference on Uncertainty in
Artificial Intelligence (UAI-11), pages 211-220. AUAI Press, 2011.
- Learning the parameters
of probabilistic logic programs from interpretations, B. Gutmann, I. Thon, and L. De Raedt, Proceedings of the European
Conference on Machine Learning and Principles and Practice of
Knowledge Discovery in Databases (ECML-PKDD-11),
volume 6911 of LNCS (Lecture Notes in Computer Science), pages
581-596. Springer Berlin/Heidelberg, 2011.
Download. Use, change, improve.
ProbLog2 binaries and source are available for download. The only requirement is Python 2.7/3.
ProbLog2 is licensed under the GPL3 license (contact us for alternative licenses).
Download latest version
ProbLog2 can optionally make use of: SDDs, c2d and YAP Prolog.
The previous version of ProbLog (ProbLog1) is available as part of YAP Prolog or can be downloaded from the old Problog1 webpages
Need help? Fire any question or report a bug to our team.
There is a general ProbLog mailing list which you can use for all your ProbLog1 and ProbLog2 questions or bug reports. You can also consult the mailing list archive to see if your question has been asked before.
The ProbLog team.
ProbLog2 was developed in the DTAI group of KULeuven, by the following people (in alphabetical order).
Other people who contributed to ProbLog1 and 2 (in alphabetical order):
Our colleagues from the probabilistic programming community.