Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Probabilistic logic programming

From Wikipedia, the free encyclopedia
Programming paradigm

Probabilistic logic programming is aprogramming paradigm that combineslogic programming with probabilities.

Most approaches to probabilistic logic programming are based on thedistribution semantics, which splits a program into a set of probabilistic facts and a logic program. It defines a probability distribution on interpretations of theHerbrand universe of the program.

Languages

[edit]

Most approaches to probabilistic logic programming are based on thedistribution semantics,[1] which underlies many languages such as Probabilistic Horn Abduction, PRISM, Independent Choice Logic , probabilisticDatalog, Logic Programs with Annotated Disjunctions,ProbLog, P-log, and CP-logic. While the number of languages is large, many share a common approach so that there are transformations withlinear complexity that can translate one language into another.[2]

Semantics

[edit]

Under the distribution semantics, a probabilistic logic program is interpreted as a set of independent probabilistic facts (groundatomic formulas annotated with a probability) and alogic program which can use the probabilistic facts in the bodies of its clauses. The probability of any assignment of truth values to the groundings of the formulas associated with probabilistic facts is given by the product of their probabilities; this is equivalent to assuming the choices of probabilistic facts to beindependent random variables.[1][3]

Stratified programs

[edit]

If for any choice of truth values for the probabilistic facts, the resulting logic program isstratified, it has a unique minimalHerbrand model which can be seen as the unique interpretation associated with that choice of truth values.[1]

Important subclasses of stratified programs are positive programs, which do not use negation, but may be recursive, and acyclic programs, which may use negation but have no recursive dependencies.[1]

Answer set programs

[edit]

Thestable model semantics underlyinganswer set programming gives meaning to unstratified programs by allocating potentially more than one answer set to every truth value assignment of the probabilistic facts. This raises the question of how to distribute the probability mass across the answer sets.[4][5]

The probabilistic logic programming language P-Log resolves this by dividing the probability mass equally between the answer sets, following theprinciple of indifference.[4][6]

Alternatively, probabilistic answer set programming under the credal semantics allocates acredal set to every query. Its lower probability bound is defined by only considering those truth value assignments of the probabilistic facts for which the query is true in every answer set of the resulting program (cautious reasoning); its upper probability bound is defined by considering those assignments for which the query is true in some answer set (brave reasoning).[4][5]

Inference

[edit]

Under the distribution semantics, a probabilistic logic program defines a probability distribution overinterpretations of its predicates on itsHerbrand universe. The probability of aground query is then obtained from thejoint distribution of the query and the worlds: it is the sum of the probability of the worlds where the query is true.[2][7][8]

The problem of computing the probability of queries is called(marginal) inference. Solving it by computing all the worlds and then identifying those that entail the query is impractical as the number of possible worlds is exponential in the number of ground probabilistic facts.[2] In fact, already for acyclic programs andatomic queries, computing the conditional probability of a query given a conjunction of atoms as evidence is#P-complete.[9]

Exact inference

[edit]

Usually, exact inference is performed by resorting toknowledge compilation: according to this, apropositional theory and a query arecompiled into a “target language”, which is then used to answer queries inpolynomial time. The compilation becomes the main computational bottleneck, but considerable effort has been devoted to the development of efficient compilers. The compilation methods differ in the compactness of the target language and the class of queries and transformations that they support in polynomial time.[2]

Approximate inference

[edit]

Since the cost of inference may be very high, approximate algorithms have been developed. They either compute subsets of possibly incomplete explanations or use random sampling. In the first approach, a subset of the explanations provides a lower bound and the set of partially expanded explanations provides an upper bound. In the second approach, the truth of the query is repeatedly checked in an ordinarylogic program sampled from the probabilistic program. The probability of the query is then given by the fraction of the successes.[2][10]

Learning

[edit]
Main article:Probabilistic inductive logic programming

Probabilistic inductive logic programming aims to learn probabilistic logic programs from data. This includes parameter learning, which estimates the probability annotations of a program while the clauses themselves are given by the user, and structure learning, in which the clauses themselves are induced by the probabilistic inductive logic programming system.[2]

Common approaches to parameter learning are based onexpectation–maximization orgradient descent, while structure learning can be performed by searching the space of possible clauses under a variety of heuristics.[2]

See also

[edit]

References

[edit]
  1. ^abcdRiguzzi, Fabrizio; Swift, Theresa (2018-09-01),"A survey of probabilistic logic programming",Declarative Logic Programming: Theory, Systems, and Applications, ACM, pp. 185–228,doi:10.1145/3191315.3191319,ISBN 978-1-970001-99-0,S2CID 70180651, retrieved2023-10-25
  2. ^abcdefgRiguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014)."A History of Probabilistic Inductive Logic Programming".Frontiers in Robotics and AI.1.doi:10.3389/frobt.2014.00006.ISSN 2296-9144.
  3. ^De Raedt, Luc; Kimmig, Angelika (2015-07-01)."Probabilistic (logic) programming concepts".Machine Learning.100 (1):5–47.doi:10.1007/s10994-015-5494-z.ISSN 1573-0565.
  4. ^abcRiguzzi, Fabrizio (2023-05-22),"Probabilistic Answer Set Programming",Foundations of Probabilistic Logic Programming, New York: River Publishers, pp. 165–173,doi:10.1201/9781003427421-6,ISBN 978-1-003-42742-1, retrieved2024-02-03
  5. ^abCozman, Fabio Gagliardi; Mauá, Denis Deratani (2020)."The joy of Probabilistic Answer Set Programming: Semantics, complexity, expressivity, inference".International Journal of Approximate Reasoning.125:218–239.doi:10.1016/j.ijar.2020.07.004.S2CID 222233309.
  6. ^Baral, Chitta; Gelfond, Michael; Rushton, Nelson (2009)."Probabilistic reasoning with answer sets".Theory and Practice of Logic Programming.9 (1):57–144.doi:10.1017/S1471068408003645.ISSN 1471-0684.
  7. ^Poole, David (1993)."Probabilistic Horn abduction and Bayesian networks".Artificial Intelligence.64 (1):81–129.doi:10.1016/0004-3702(93)90061-f.ISSN 0004-3702.
  8. ^Sato, Taisuke (1995),"A Statistical Learning Method for Logic Programs with Distribution Semantics",Proceedings of the 12th International Conference on Logic Programming, The MIT Press, pp. 715–730,doi:10.7551/mitpress/4298.003.0069,ISBN 978-0-262-29143-9, retrieved2023-10-25
  9. ^Riguzzi, Fabrizio (2023).Foundations of probabilistic logic programming: Languages, semantics, inference and learning (2nd ed.). Gistrup, Denmark:River Publishers. p. 180.ISBN 978-87-7022-719-3.
  10. ^Kimmig, Angelika; Demoen, Bart; Raedt, Luc De; Costa, Vítor Santos; Rocha, Ricardo (2011)."On the implementation of the probabilistic logic programming language ProbLog".Theory and Practice of Logic Programming.11 (2–3):235–262.arXiv:1006.4442.doi:10.1017/S1471068410000566.ISSN 1475-3081.S2CID 2022299.

As of 3 February 2024, this article is derived in whole or in part fromRiguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (2014)."A History of Probabilistic Inductive Logic Programming".Frontiers in Robotics and AI.1.doi:10.3389/frobt.2014.00006.The copyright holder has licensed the content in a manner that permits reuse underCC BY-SA 3.0 andGFDL. All relevant terms must be followed.

Imperative
Structured
Object-oriented
(comparison,list)
Declarative
Functional
(comparison)
Dataflow
Logic
DSL
Concurrent,
distributed,
parallel
Metaprogramming
Separation
of concerns
Retrieved from "https://en.wikipedia.org/w/index.php?title=Probabilistic_logic_programming&oldid=1294675248"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp