# GetWiki

*Abductive logic programming*

ARTICLE SUBJECTS

being →

database →

ethics →

fiction →

history →

internet →

language →

linux →

logic →

method →

news →

policy →

purpose →

religion →

science →

software →

truth →

unix →

wiki →

ARTICLE TYPES

essay →

feed →

help →

system →

wiki →

ARTICLE ORIGINS

critical →

forked →

imported →

original →

Abductive logic programming

[ temporary import ]

**please note:**

- the content below is remote from Wikipedia

- it has been imported raw for GetWiki

**Abductive logic programming**(

**ALP**) is a high-level knowledge-representation framework that can be used to solve problems declaratively based on abductive reasoning. It extends normal logic programming by allowing some predicates to be incompletely defined, declared as abducible predicates. Problem solving is effected by deriving hypotheses on these abducible predicates (abductive hypotheses) as solutions of problems to be solved. These problems can be either observations that need to be explained (as in classical abduction) or goals to be achieved (as in normal logic programming). It can be used to solve problems in diagnosis, planning, natural language and machine learning. It has also been used to interpret negation as failure as a form of abductive reasoning.

## Syntax

Abductive logic programs have three components, langle P,A,ICrangle, where:- P is a logic program of exactly the same form as in logic programming
- A is a set of predicate names, called the abducible predicates
- IC is a set of first-order classical formulae.

false:- A1,...,An, not B1, ..., not Bm.

Such a constraint means that it is not possible for all A1,...,An to be true and at the same time all of B1,...,Bm to be false.## Informal meaning and problem solving

The clauses in P define a set of non-abducible predicates and through this they provide a description (or model) of the problem domain. The integrity constraints in IC specify general properties of the problem domain that need to be respected in any solution of a problem.A problem,*G*, which expresses either an observation that needs to be explained or a goal that is desired, is represented by a conjunction of positive and negative (NAF) literals. Such problems are solved by computing "abductive explanations" of

*G*.An abductive explanation of a problem

*G*is a set of positive (and sometimes also negative) ground instances of the abducible predicates, such that, when these are added to the logic program P, the problem

*G*and the integrity constraints IC both hold. Thus abductive explanations extend the logic program P by the addition of full or partial definitions of the abducible predicates. In this way, abductive explanations form solutions of the problem according to the description of the problem domain in P and IC. The extension or completion of the problem description given by the abductive explanations provides new information, hitherto not contained in the solution to the problem. Quality criteria to prefer one solution over another, often expressed via integrity constraints, can be applied to select specific abductive explanations of the problem

*G*.Computation in ALP combines the backwards reasoning of normal logic programming (to reduce problems to sub-problems) with a kind of integrity checking to show that the abductive explanations satisfy the integrity constraints.The following two examples, written in simple structured English rather than in the strict syntax of ALP, illustrate the notion of abductive explanation in ALP and its relation to problem solving.

### Example 1

The abductive logic program, langle P,A,mathit{IC} rangle, has in P the following sentences:
Grass is wet

Grass is wet

The sun was shining.

The abducible predicates in A are "it rained" and "the sprinkler was on" and the only integrity constraint in mathit{IC} is:
**if**it rained.Grass is wet

**if**the sprinkler was on.The sun was shining.

false

The observation that the grass is wet has two potential explanations, "it rained" and "the sprinkler was on", which entail the observation. However, only the second potential explanation, "the sprinkler was on", satisfies the integrity constraint.**if**it rained and the sun was shining.### Example 2

Consider the abductive logic program consisting of the following (simplified) clauses:
X is a citizen

X is a citizen

X is a citizen

Mary is the mother of John.

Mary is a citizen.

together with the five abducible predicates, "is born in the USA", "is born outside the USA", "is a resident of the USA", "is naturalized" and "is registered" and the integrity constraint:
**if**X is born in the USA.X is a citizen

**if**X is born outside the USA**and**X is a resident of the USA**and**X is naturalized.X is a citizen

**if**X is born outside the USA**and**Y is the mother of X**and**Y is a citizen**and**X is registered.Mary is the mother of John.

Mary is a citizen.

false

The goal "John is citizen" has two abductive solutions, one of which is "John is born in the USA", the other of which is "John is born outside the USA" and "John is registered". The potential solution of becoming a citizen by residence and naturalization fails because it violates the integrity constraint.A more complex example that is also written in the more formal syntax of ALP is the following.**if**John is a resident of the USA.### Example 3

The abductive logic program below describes a simple model of the lactose metabolism of the bacterium E. coli. The program,*P*, describes (in its first rule) that E. coli can feed on the sugar lactose if it makes two enzymes permease and galactosidase. Like all enzymes, these are made if they are coded by a gene (Gene) that is expressed (described by the second rule). The two enzymes of permease and galactosidase are coded by two genes, lac(y) and lac(z) respectively (stated in the fifth and sixth rule of the program), in a cluster of genes (lac(X)) â€“ called an operon â€“ that is expressed when the amounts (amt) of glucose are low and lactose are high or when they are both at medium level (see the fourth and fifth rule). The abducibles,

*A*, declare all ground instances of the predicates "amount" as assumable. This reflects that in the model the amounts at any time of the various substances are unknown. This is incomplete information that is to be determined in each problem case.The integrity constraints,

*IC*, state that the amount of any substance (S) can only take one value.

- Domain knowledge (P)

feed(lactose):-make(permease),make(galactosidase).

make(Enzyme):-code(Gene,Enzyme),express(Gene).

express(lac(X)):-amount(glucose,low),amount(lactose,hi).

express(lac(X)):-amount(glucose,medium),amount(lactose,medium).

code(lac(y),permease).

code(lac(z),galactosidase).

temperature(low):-amount(glucose,low).

make(Enzyme):-code(Gene,Enzyme),express(Gene).

express(lac(X)):-amount(glucose,low),amount(lactose,hi).

express(lac(X)):-amount(glucose,medium),amount(lactose,medium).

code(lac(y),permease).

code(lac(z),galactosidase).

temperature(low):-amount(glucose,low).

- Integrity constraints (IC)

false :- amount(S,V1), amount(S,V2), V1 â‰ V2.

- Abducibles (A)

abducible_predicate(amount).

The problem goal is G=text{feed(lactose)}. This can arise either as an observation to be explained or as a state of affairs to be achieved by finding a plan. This goal has two abductive explanations:
begin{cases}

Delta_1={text{amount(lactose, hi), amount(glucose, low)}}Delta_2={text{amount(lactose, medium), amount(glucose, medium)}}end{cases}The decision which of the two to adopt could depend on addition information that is available, e.g. it may be known that when the level of glucose is low then the organism exhibits a certain behaviour â€“ in the model such additional information is that the temperature of the organism is low â€“ and by observing the truth or falsity of this it is possible to choose the first or second explanation respectively.Once an explanation has been chosen, then this becomes part of the theory, which can be used to draw new conclusions. The explanation and more generally these new conclusions form the solution of the problem.## Formal semantics

The formal semantics of the central notion of an abductive explanation in ALP can be defined in the following way.Given an abductive logic program, langle P,A,mathit{IC}rangle, an abductive explanation for a problem G is a set Delta of ground atoms on abducible predicates such that:- P cup Delta models G
- P cup Delta models IC
- P cup Delta is consistent

## Implementation and systems

Most of the implementations of ALP extend the SLD resolution-based computational model of logic programming. ALP can also be implemented by means of its link with Answer Set Programming (ASP), where the ASP systems can be employed. Examples of systems of the former approach are ACLP, A-system, CIFF, SCIFF, ABDUAL and ProLogICA.## See also

- Abductive reasoning
- Answer set programming
- Inductive logic programming
- Negation as failure
- Argumentation

## Notes

{{Reflist}}## References

- BOOK, D., Poole, R., Goebel, R., Aleliunas, Theorist: a logical reasoning system for defaults and diagnosis, Nick, Cercone, Gordon, McCalla, The Knowledge Frontier: Essays in the Representation of Knowledge,weblink 1987, Springer, 978-0-387-96557-4, 331â€“352,
- BOOK, A.C., Kakas, P., Mancarella, Generalised Stable Models: A Semantics for Abduction, L.C., Aiello, ECAI 90: proceedings of the 9th European Conference on Artificial Intelligence, Pitman, 1990, 978-0273088226, 385â€“391,
- JOURNAL, L., Console, D.T., Dupre, P., Torasso, On the Relationship between Abduction and Deduction, Journal of Logic and Computation, 1, 5, 661â€“690, 1991, 10.1093/logcom/1.5.661,weblink 10.1.1.31.9982,
- JOURNAL, A.C., Kakas, R.A., Kowalski, F., Toni, Abductive Logic Programming, Journal of Logic and Computation, 2, 6, 719â€“770, 1993, 10.1093/logcom/2.6.719,weblink 10.1.1.37.3655,
- JOURNAL, Marc, Denecker, Danny, De Schreye, SLDNFA: An Abductive Procedure for Abductive Logic Programs, J. Logic Programming, 34, 2, 111â€“167, February 1998, 10.1016/S0743-1066(97)00074-5, 10.1.1.21.6503,
- JOURNAL, M., Denecker, A.C., Kakas, Special issue: abductive logic programming, J. Logic Programming, 44, 1â€“3, 1â€“4, July 2000, 10.1016/S0743-1066(99)00078-3,weblink
- BOOK, M., Denecker, A.C., Kakas, Abduction in Logic Programming, A.C., Kakas, F., Sadri, Computational Logic: Logic Programming and Beyond: Essays in Honour of Robert A. Kowalski,weblink 2002, Springer, 978-3-540-43959-2, 402â€“437, 2407, Lecture Notes in Computer Science,
- JOURNAL, D., Poole, Probabilistic Horn abduction and Bayesian networks, Artificial Intelligence, 64, 1, 81â€“129, 1993, 10.1016/0004-3702(93)90061-F,weblink
- JOURNAL, F., Esposito, S., Ferilli, T.M.A., Basile, N., Di Mauro, Inference of abduction theories for handling incompleteness in first-order learning, Knowl. Inf. Syst., 11, 2, 217â€“242, February 2007, 10.1007/s10115-006-0019-5,weblink yes,weblink" title="web.archive.org/web/20110717210259weblink">weblink 2011-07-17,

## External links

**- content above as imported from Wikipedia**

- "

- time: 12:14am EDT - Tue, Jun 25 2019

- "

__Abductive logic programming__" does not exist on GetWiki (yet)- time: 12:14am EDT - Tue, Jun 25 2019

[ this remote article is provided by Wikipedia ]

LATEST EDITS [ see all ]

GETWIKI 09 MAY 2016

GETWIKI 18 OCT 2015

GETWIKI 20 AUG 2014

GETWIKI 19 AUG 2014

GETWIKI 18 AUG 2014

© 2019 M.R.M. PARROTT | ALL RIGHTS RESERVED