Svoboda | Graniru | BBC Russia | Golosameriki | Facebook

To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

From Wikipedia, the free encyclopedia

ProbLog is a probabilistic logic programming language that extends Prolog with probabilities.[1][2][3] It minimally extends Prolog by adding the notion of a probabilistic fact, which combines the idea of logical atoms and random variables. Similarly to Prolog, ProbLog can query an atom. While Prolog returns the truth value of the queried atom, ProbLog returns the probability of it being true.

YouTube Encyclopedic

  • 1/4
    Views:
    480
    38 669
    53 296
    487
  • İntro of Problog
  • How To Make A WordPress Blog with Elementor Pro
  • Como Criar um BLOG NO WORDPRESS e Elementor [Passo a Passo e Profissional]
  • My Response to The Insurance Pro Blog on Indexed Universal Life

Transcription

Semantics

A probabilistic fact is a pair with an atom and the probability of being true. A rule is defined by an atom , called the head, and a finite set of literals , called the body. ProbLog programs consist of a set of probabilistic facts and a set of rules . Using the distribution semantics, a probability distribution is defined over the two-valued well-founded models of the atoms in the program. The probability of a model is defined as

where the product runs over all the literals in the model . For a query atom the distribution semantics defines a probability for the query
in which the sum runs over all the models where is true.

ProbLog supports multiple tasks:

  • Probabilistic inference: calculate
  • Most probable explanation: calculate the most probable model probability
  • Sampling: generate samples of
  • Learning from interpretations: learn the probabilities of ProbLog programs from data

Example

ProbLog can for example be used to calculate the probability of getting wet given the probabilities for rain and the probabilities that someone brings an umbrella as follows:

0.4 :: rain(weekday).
0.9 :: rain(weekend).
0.8 :: umbrella_if_rainy(Day).
0.2 :: umbrella_if_dry(Day).

umbrella(Day) :- rain(Day), umbrella_if_rainy(Day).
umbrella(Day) :- \+rain(Day), umbrella_if_dry(Day).
wet(Day) :- rain(Day), \+umbrella(Day).

query(\+wet(weekend)).

The last rule before the query states that someone gets wet if it rains and no umbrella was brought. When ProbLog is asked to solve the "probabilistic inference" task, the query asks for the probability to stay dry on a weekend day. When solving the "most probable explanation" task, ProbLog will return the most likely reason for staying dry, i.e. because it is not raining or because the person has an umbrella.

Implementations

The ProbLog language has been implemented as a YAP Prolog library (ProbLog 1).[4] and as a stand-alone Python framework (ProbLog 2)[5] The source code of ProbLog 2 is licensed under  Apache License, Version 2.0 and available on GitHub.[6] The ProbLog language has also been implemented as part of the cplint probabilistic logic programming package for SWI-Prolog, YAP and XSB.[7]

ProbLog variants

ProbLog has been extended or used as inspiration for several different variants, including:

  • DeepProbLog extends ProbLog by allowing the probability to be parametrized by a neural network.[8]
  • DTProblog extends ProbLog with decision theory. The utility of a strategy is defined as the expected reward for its execution in the presence of probabilistic effects.[9]
  • DC-ProbLog extends ProbLog with distributional facts, meaning that instead of probabilities, a logic atom has a corresponding continuous probability distribution instead.
  • aProbLog extends ProbLog by allowing any semiring instead of just probabilities.[10]
  • ProbFOIL: given a set of ProbLog facts as a probabilistic relational database, ProbFOIL finds a set of probabilistic rules to predict the facts of one relation based on all other relations.

Related languages

  • PRISM: Programming in statistical modeling[11]
  • ICL: Independent Choice Logic[12]
  • CP-Logic: Language of causal probabilistic events[13]
  • LPAD: Logic programs with annotated disjunctions[14]
  • Distributional clauses: A probabilistic logic language for hybrid relational domains[15]

Further reading

  • ProbLog homepage[5]
  • ProbLog docs[16]
  • ProbLog repository[6]

References

  1. ^ De Raedt, Luc; Kimmig, Angelika; Toivonen, Hannu (November 2007). ProbLog: A Probabilistic Prolog and Its Application in Link Discovery. IJCAI. Vol. 7.
  2. ^ Fierens, D; Van den Broeck, G.; Bruynooghe, M.; De Raedt, L. (2012). Constraints for probabilistic logic programming. Proceedings of the NIPS Probabilistic Programming Workshop. pp. 1–4.
  3. ^ De Raedt, Luc; Kimmig, Angelika (2015). "Probabilistic (logic) programming concepts". Machine Learning. 100 (1): 5–47. doi:10.1007/s10994-015-5494-z. S2CID 3166992.
  4. ^ "ProbLog1". dtai.cs.kuleuven.be.
  5. ^ a b "ProbLog: Probabilistic Programming". dtai.cs.kuleuven.be.
  6. ^ a b "ProbLog GitHub repository". github.com. 12 October 2022.
  7. ^ "cplint – AI@UNIFE". Retrieved 2023-11-13.
  8. ^ Manhaeve, Robin; Dumancic, Sebastijan; Kimmig, Angelika; Demeester, Thomas; De Raedt, Luc (2018). DeepProbLog: Neural Probabilistic Logic Programming. NeurIPS 2018, Thirty-second Conference on Neural Information Processing Systems. pp. 3753–3760.
  9. ^ Van den Broeck, Guy; Thon, Ingo; Van Otterlo, Martijn; De Raedt, Luc (2010). "DTProbLog: A decision-theoretic probabilistic Prolog". Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 24.
  10. ^ Kimmig, A.; Van den Broeck, G.; De Raedt, L. (2011). An algebraic Prolog for reasoning about possible worlds. Proceedings of the Twenty-Fifth AAAI Conference on Artificial Intelligence. pp. 209–214.
  11. ^ "PRISM: PRogramming In Statistical Modeling". rjida.meijo-u.ac.jp.
  12. ^ Poole, David (2008). "The independent choice logic and beyond". In Luc Raedt; Paolo Frasconi; Kristian Kersting; Stephen Muggleton (eds.). Probabilistic Inductive Logic Programming. Lecture Notes in Computer Science. Vol. 4911. Springer. pp. 222–243. doi:10.1007/978-3-540-78652-8_8. ISBN 978-3-540-78651-1.
  13. ^ Vennekens, Joost; Denecker, Marc; Bruynooghe, Maurice (2009). CP-logic: A language of causal probabilistic events and its relation to logic programming. Theory and practice of logic programming. Vol. 9. pp. 245–308. arXiv:0904.1672.
  14. ^ "PITA: Probabilistic Inference with Tabling and Answer subsumption". ml.unife.it.
  15. ^ "Distributional Clauses". dtai.cs.kuleuven.be.
  16. ^ "ProbLog: ProbLog 2.1 documentation". problog.readthedocs.io.
This page was last edited on 3 February 2024, at 16:37
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.