Results 1  10
of
16
The PITA System: Tabling and Answer Subsumption for Reasoning under Uncertainty
 UNDER CONSIDERATION FOR PUBLICATION IN THEORY AND PRACTICE OF LOGIC PROGRAMMING
, 2003
"... Many real world domains require the representation of a measure of uncertainty. The most common such representation is probability, and the combination of probability with logic programs has given rise to the field of Probabilistic Logic Programming (PLP), leading to languages such as the Independen ..."
Abstract

Cited by 27 (11 self)
 Add to MetaCart
Many real world domains require the representation of a measure of uncertainty. The most common such representation is probability, and the combination of probability with logic programs has given rise to the field of Probabilistic Logic Programming (PLP), leading to languages such as the IndependentChoice Logic, Logic Programs with Annotated Disjunctions (LPADs), Problog, PRISM and others. These languages share a similar distribution semantics, and methods have been devised to translate programs between these languages. The complexity of computing the probability of queries to these general PLP programs is very high due to the need to combine the probabilities of explanations that may not be exclusive. As one alternative, the PRISM system reduces the complexity of query answering by restricting the form of programs it can evaluate. As an entirely different alternative, Possibilistic Logic Programs adopt a simpler metric of uncertainty than probability. Each of these approaches – general PLP, restricted PLP, and Possibilistic Logic Programming – can be useful in different domains depending on the form of uncertainty to be represented, on the form of programs needed to model problems, and on the scale of
Tabling with answer subsumption: Implementation, applications and performance
 In JELIA. 300–312
, 2010
"... Abstract. Tabled Logic Programming (TLP) is becoming widely available in Prolog systems, but most implementations of TLP implement only answer variance in which an answer A is added to the table for a subgoal S only if A is not a variant of any other answer already in the table for S. While TLP with ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
(Show Context)
Abstract. Tabled Logic Programming (TLP) is becoming widely available in Prolog systems, but most implementations of TLP implement only answer variance in which an answer A is added to the table for a subgoal S only if A is not a variant of any other answer already in the table for S. While TLP with answer variance is powerful enough to implement the wellfounded semantics with good termination and complexity properties, TLP becomes much more powerful if a mechanism called answer subsumption is used. XSB implements two forms of answer subsumption. The first, partial order answer subsumption, adds A to a table only if A is greater than all other answers already in the table according to a userdefined partial order. The second, lattice answer subsumption, may join A to some other answer in the table according to a userdefined upper semilattice. Answer subsumption can be used to implement paraconsistent and quantitative logics, abstract analysis domains, and preference logics. This paper discusses the semantics and implementation of answer subsumption in XSB, and discusses performance and scalability of answer subsumption on a variety of problems. 1
Structure learning of probabilistic logic programs by searching the clause space
 CoRR/arXiv:1309.2080
, 2013
"... ar ..."
The XSB System Version 3.3.x Volume 1: Programmer’s Manual xsb
"... Daytoday care and feeding of XSB including bug fixes, ports, and configuration management is currently done by David Warren and Terrance Swift with the help of Michael Kifer. In the past Kostis Sagonas, Prasad Rao, Steve Dawson, ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Daytoday care and feeding of XSB including bug fixes, ports, and configuration management is currently done by David Warren and Terrance Swift with the help of Michael Kifer. In the past Kostis Sagonas, Prasad Rao, Steve Dawson,
Optimizing Inference for Probabilistic Logic Programs Exploiting Independence and Exclusiveness
 Italian Conference on Computational Logic
"... Abstract. Probabilistic Logic Programming (PLP) is gaining popularity due to its many applications in particular in Machine Learning. An important problem in PLP is how to compute the probability of queries. PITA is an algorithm for solving such a problem that exploits tabling, answer subsumption an ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
Abstract. Probabilistic Logic Programming (PLP) is gaining popularity due to its many applications in particular in Machine Learning. An important problem in PLP is how to compute the probability of queries. PITA is an algorithm for solving such a problem that exploits tabling, answer subsumption and Binary Decision Diagrams (BDDs). PITA does not impose any restriction on the programs. Other algorithms, such as PRISM, achieve a higher speed by imposing two restrictions on the program, namely that subgoals are independent and that clause bodies are mutually exclusive. Another assumption that simplifies inference is that clause bodies are independent. In this paper we present the algorithms PITA(IND,IND) and PITA(OPT). PITA(IND,IND) assumes that subgoals and clause bodies are independent. PITA(OPT) instead first checks whether these assumptions hold for subprograms and subgoals: if they hold, PITA(OPT) uses a simplified calculation, otherwise it resorts to BDDs. Experiments on a number of benchmark datasets show that PITA(IND,IND) is the fastest on datasets respecting the assumptions while PITA(OPT) is a good option when nothing is known about a dataset. 1
Speeding Up Inference for Probabilistic Logic Programs
"... Probabilistic Logic Programming (PLP) allows to represent domains containing many entities connected by uncertain relations and has many applications in particular in Machine Learning. PITA is a PLP algorithm for computing the probability of queries that exploits tabling, answer subsumption and Bina ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Probabilistic Logic Programming (PLP) allows to represent domains containing many entities connected by uncertain relations and has many applications in particular in Machine Learning. PITA is a PLP algorithm for computing the probability of queries that exploits tabling, answer subsumption and Binary Decision Diagrams (BDDs). PITA does not impose any restriction on the programs. Other algorithms, such as PRISM, reduce computation time by imposing restrictions on the program, namely that subgoals are independent and that clause bodies are mutually exclusive. Another assumption that simplifies inference is that clause bodies are independent. In this paper we present the algorithms PITA(IND,IND) and PITA(OPT). PITA(IND,IND) assumes that subgoals and clause bodies are independent. PITA(OPT) instead first checks whether these assumptions hold for subprograms and subgoals: if they do, PITA(OPT) uses a simplified calculation, otherwise it resorts to BDDs. Experiments on a number of benchmark datasets show that PITA(IND,IND) is the fastest on datasets respecting the assumptions while PITA(OPT) is a good option when nothing is known about a dataset.
Inference in probabilistic logic programs with continuous random variables, Theory Pract
 Log. Program
"... ar ..."
Model Checking with Probabilistic Tabled Logic Programming∗
"... We present a formulation of the problem of probabilistic model checking as one of query evaluation over probabilistic logic programs. To the best of our knowledge, our formulation is the first of its kind, and it covers a rich class of probabilistic models and probabilistic temporal logics. The infe ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
We present a formulation of the problem of probabilistic model checking as one of query evaluation over probabilistic logic programs. To the best of our knowledge, our formulation is the first of its kind, and it covers a rich class of probabilistic models and probabilistic temporal logics. The inference algorithms of existing probabilistic logicprogramming systems are well defined only for queries with a finite number of explanations. This restriction prohibits the encoding of probabilistic model checkers, where explanations correspond to executions of the system being model checked. To overcome this restriction, we propose a more general inference algorithm that uses finite generative structures (similar to automata) to represent families of explanations. The inference algorithm computes the probability of a possibly infinite set of explanations directly from the finite generative structure. We have implemented our inference algorithm in XSB Prolog, and use this implementation to encode probabilistic model checkers for a variety of temporal logics, including PCTL and GPL (which subsumes PCTL∗). Our experiment results show that, despite the highly declarative nature of their encodings, the model checkers constructed in this manner are competitive with their native implementations. 1
Nesting probabilistic inference
 In Proceedings of the International Colloquium on Implementation of Constraint and LOgic Programming Systems (CICLOPS
"... Abstract. When doing inference in ProbLog, a probabilistic extension of Prolog, we extend SLD resolution with some additional bookkeeping. This additional information is used to compute the probabilistic results for a probabilistic query. In Prolog’s SLD, goals are nested very naturally. In ProbLog ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract. When doing inference in ProbLog, a probabilistic extension of Prolog, we extend SLD resolution with some additional bookkeeping. This additional information is used to compute the probabilistic results for a probabilistic query. In Prolog’s SLD, goals are nested very naturally. In ProbLog’s SLD, nesting probabilistic queries interferes with the probabilistic bookkeeping. In order to support nested probabilistic inference we propose the notion of a parametrised ProbLog engine. Nesting becomes possible by suspending and resuming instances of ProbLog engines. With our approach we realise several extensions of ProbLog such as metacalls, negation, and answers of probabilistic goals. 1