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:


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:
  1. first learning the program P, then
  2. learning the constraints IC
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.

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 information.

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 background knowledge.

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 University 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

Back to the LIA Home Page

Go to the DEIS Home Page Go to the Alma Mater Home Page