System Multiple predicate learning by means of Abductive Concept Learning (M-ACL)
Version version 1
Code SICStus Prolog 3 #5 source code
References [1, 2]
Pointers http://www-lia.deis.unibo.it/Software/ACL/


M-ACL is a system that is based on the Abductive Concept Learning framework as the ACL system. In this framework, both the background and the target theories are abductive theories and abductive entailment is employed as the coverage relation.

Abductive theories are represented as triples , where P is a logic program, A is a set of abducible predicates, or predicates about which assumptions can be made, and I is a set of integrity constraints. The notion of entailment is replaced by that of abductive entailment: a goal G is abductively entailed from T (we write ) if there exists a set of ground facts (abductive explanation) such that ( explains G) and ( is consistent with the integrity constraints).

ACL finds a natural application in the problem of multiple predicate learning. Most ILP systems find problems in learning multiple predicates. One of these problems consists in the necessity to distinguish between two types of consistency of a learned clause: local and global consistency of a new clause with respect to the theory learned so far.

Intuitively, a clause is locally consistent if it does not cover any negative example for its head predicate when it is added to a consistent partial hypothesis. On the other hand, a clause is globally consistent if the theory obtained by adding it to the current partial hypothesis does not cover any negative example for any, target predicates.

By repeating several times a single predicate learning task, we repeatedly add locally consistent clauses to the current partial hypothesis. However, when learning multiple predicates, addi ng a locally consistent clause to a consistent hypothesis can produce a globally inconsistent hypothesis.

Another problem that can arise in multiple predicate learning concerns the case when scarce training examples, particularly negative examples, are available for a subsidiary predicate. In this case, a system could learn an overgeneral definition for the subsidiary predicate and this may prevent the system from finding a consistent definition for other predicates.

The basic idea of M-ACL is to set the target predicates to be learned as abducible predicates and use the abductive information that are 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.


Multiple predicate learning is a task that poses a number of problems to most ILP systems. These problems and difficulties have been exposed in [3]. Among these problems are the above ~entioned difference among global and local consistency and the possibility of learning an overgeneral definition for subsidiary predicates. Other problems include bias and ordering effects. The only other system that has been expressively designed for learning multiple predicates is MPL [3].

State of development

The Prolog implementation of the two versions of ACL1, together with the relative user manuals, is available. The code and manuals can be downloaded from http://www-lia.deis.unibo.it/Software/ACL/.


  1. A.C. Kakas and F. Riguzzi,'Learning with Abduction' in the Seventh International Workshop on Inductive Logic Programming (ILP97), Lecture Notes in Artificial Intelligence, Volume 1297, Springer-Verlag, 1997, pp. 181-189.

  2. A. Kakas, E. Lamma, and F. Riguzzi. Learning multiple predicates. In M. Lenzerini, editor, Proceedings of the Bth International Conference on Artificial Intelligence: Methodology, Systems and Applications (AIMSA9B), number 1480 in LNAI, pages 303-316. Springer-Verlag, 1998.

  3. L. De Raedt, N. Lavrac, and S. Dzeroski. Multiple predicate learning. In S. Muggleton, editor, Proceedings of the 3rd International Workshop on Inductive Logic Programming, pages 221-240. J. Stefan Institute, 1993.

back to index