Integrity Constraints in ILP Using a Monte Carlo Approach

Many state-of-the-art ILP systems require large numbers of negative examples to avoid overgeneralization. This is a considerable disadvantage for many ILP applications, namely inductive program synthesis where relativelly small and sparse example sets are a more realistic scenario. Integrity constraints are first order clauses that can play the role of negative examples in an inductive process. One integrity constraint can replace a long list of ground negative examples. However, checking the consistency of a program with a set of integrity constraints usually involves heavy theorem-proving. We propose an efficient constraint satisfaction algorithm that applies to a wide variety of useful integrity constraints and uses a Monte Carlo strategy. It looks for inconsistencies by random generation of queries to the program. This method allows the use of integrity constraints instead of (or together with) negative examples. As a consequence programs to induce can be specified more rapidly by the user and the ILP system tends to obtain more accurate definitions. Average running times are not greatly affected by the use of integrity constraints compared to ground negative examples.

[1]  Raymond J. Mooney,et al.  Combining Top-down and Bottom-up Techniques in Inductive Logic Programming , 1994, ICML.

[2]  Saso Dzeroski,et al.  Inductive Logic Programming: Techniques and Applications , 1993 .

[3]  Christopher John Hogger,et al.  Essentials of logic programming , 1990 .

[4]  Luc De Raedt,et al.  Multiple Predicate Learning , 1993, IJCAI.

[5]  Francesco Bergadano,et al.  The Difficulties of Learning Logic Programs with Cut , 1993, J. Artif. Intell. Res..

[6]  R. Mike Cameron-Jones,et al.  FOIL: A Midterm Report , 1993, ECML.

[7]  Robert A. Kowalski,et al.  A Theorem-Proving Approach to Database Integrity , 1988, Foundations of Deductive Databases and Logic Programming..

[8]  Stephen Muggleton,et al.  Inductive logic programming: derivations, successes and shortcomings , 1993, SGAR.

[9]  Yves Deville,et al.  Logic Program Synthesis , 1994, J. Log. Program..

[10]  Stan Matwin,et al.  Inverting Implication with Small Training Sets , 1994, ECML.

[11]  François Bry,et al.  SATCHMO: A Theorem Prover Implemented in Prolog , 1988, CADE.

[12]  Alípio Mário Jorge,et al.  Learning by Refining Algorithm Sketches , 1994, ECAI.

[13]  Alípio Mário Jorge,et al.  Architecture for Iterative Learning of Recursive Definitions , 1996 .

[14]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .

[15]  L. D. Raedt Interactive theory revision: an inductive logic programming approach , 1992 .

[16]  J. Ross Quinlan Learning First-Order Definitions of Functions , 1996, J. Artif. Intell. Res..