Progol

This page describes the ILP system Progol which can be accessed by FTP .

Progol combines Inverse Entailment with general-to-specific search through a refinement graph. Inverse Entailment is used with mode declarations to derive the most-specific clause within the mode language which entails a given example. This clause is used to guide a refinement-graph search. Unlike the searches of Shapiro's MIS and Quinlan's FOIL, Progol's search is efficient and has a provable guarantee of returning a solution having the maximum "compression" in the search-space. To do so it performs an admissible A*-like search, guided by compression, over clauses which subsume the most specific clause. Progol deals with noisy data by using the compression measure to trade-off the description of errors against the hypothesis description length. Progol allows arbitrary Prolog programs as background knowledge and arbitrary definite clauses as examples. Despite this, in bench-tests the efficiency of Progol compares favourably with FOIL.

For more details about Progol see the following papers.
Inverse Entailment and Progol, S. Muggleton, "New Generation Computing Journal", Vol. 13, pp. 245-286, 1995.
Learning from positive data, S. Muggleton, "Proceedings of the Sixth International Workshop on Inductive Logic
    progrramming", Springer-Verlag, LNAI 1314, 1997.

Examples

Here, we show two simple examples. The first example demonstrates Progol learning to multiply two numbers. The second shows Progol learning how to discrimate between different types of animals.

Multiplication Example

Animals Example

Random Train Generator

You can download code for generating random "Michalski-style" train examples, together with Postscript generated pictures. Such artificial data is useful for controlled experiments on concepts similar in form to those of many ILP applications. The examples are based on a user-provided target concept. The user also supplies the number of random trains required (default 20). Examples are generated as Progol input files.

How to get Progol

You can download Progol from our FTP site. The directory contains:

Conditions of use

Progol is available free of charge for academic research and teaching only. If you intend to use Progol for commercial purposes then you MUST contact Prof. Stephen Muggleton
Home Page