Abductive Concept Learning
Abductive Concept Learning is a learning framework
that extends the one of Inductive Logic Programming by considering both
the background and the target theories as abductive theories and by adopting
an abductive notion of entailment as the coverage relation. In this extended
framework, it is possible to learn with incomplete background information
about the training examples by exploiting the hypothetical reasoning of
abduction. Moreover the possibility of making assumptions about one predicate
while learning another is also useful for multiple predicate learning.
We present two systems that learn in this extended framework:
ACL: learns a new abductive theory starting from an
abductive theory as background knowledge and positive and negative examples.
M-ACL: is a specialization of the ACL system for the
case of multiple predicate learning
Abductive theories can be represented as triples of the form < P,
A, IC > where P is a program, A is a set of abducible
predicates and IC is a set of integrity constraints. The ACL system
learns abductive theories in two phases:
The first phase is performed by a subsystem of ACL called ACL1,
while the second phase is performed by adopting the system ICL
that is able to learn from positive and negative interpretations.
first learning the program P, then
learning the constraints IC
The first learning phase can be performed on its own and is sufficient
for many learning problems where no new constraints need to be learned.
This is for example the case of many learning problems from incomplete
Two different versions of ACL1 are available. The first allows the full
ACL problem to be solved by producing the necessary data for the second
phase. The second version is an optimization of the first version for the
case where no second phase needs to be performed. Version 1 should be used
when the aim is to learn full abductive theories, containing new integrity
constraints. Version 2 should be used when there is no need to learn
new integrity constraints and the aim is simply to learn from an incomplete
The various versions of the code for the ACL, together with the instructions
for running and installing them, can be found below:
The basic idea of M-ACL is to set the target predicates to be learned as
abducible predicates and use the abductive information that is generated
on these to link the learning of the different predicates. This information
can be used in two inter-related ways. Firstly, it acts as extra training
examples for the target predicates. In this way, training information for
one predicate is transformed into training information for other predicates.
At the same time, this abductive information is used to detect when the
addition of a new clause makes the hypothesis globally inconsistent.
In this case, the global consistency is restored by identifying and retracting
the clauses that have generated the inconsistency.
The M-ACL system has been obtained from ACL1 by encompassing this in
a process that uses the abductive information, produced by ACL1, to detect
and restore consistency.
The code for M-ACL, together with the instructions for running and installing
it, can be found below:
These ACL systems have been developed in collaboration between the
of Cyprus and the University of Bologna
within the ESPRIT project ILP2.
For reporting comments on these pages, send an e-mail to Fabrizio Riguzzi