Learning Logic Programs with Negation as Failure

Normal logic programs are usually shorter and easier to write and understand than definite logic programs. As a consequence, it is worth investigating their learnability, if Inductive Logic Programming is to be proposed as an alternative tool for software development and Software Engineering at large. In this paper we present an extension of the ILP system TRACY, called TRACYnot, able to learn normal logic programs. The method is proved to be sound, in the sense that it outputs a program which is complete and consistent w.r.t. the examples, and complete, in the sense that it does find a solution when it exists. Compared to learning systems based on extensionality, TRACY and TRACYnot are less dependent on the kind and number of training examples, which is due to the intensional evaluation of the hypotheses and, for TRACYnot, to the possibility to have restricted hypothesis spaces through the use of negation.

[1]  Francesco Bergadano,et al.  An Interactive System to Learn Functional Logic Programs , 1993, IJCAI.

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

[3]  Luc De Raedt,et al.  CLINT : a multi-strategy interactive concept-learner and theory revision system , 1991 .

[4]  Hajnal Andréka,et al.  The generalized completeness of Horn predicate-logic as a programming language , 1978, Acta Cybern..

[5]  Chowdhury Rahman Mofizur,et al.  Top-down Induction of Recursive Programs from Small Number of Sparse Examples , 1995 .

[6]  Stephen Muggleton,et al.  Machine Invention of First Order Predicates by Inverting Resolution , 1988, ML.

[7]  Ian H. Witten,et al.  Interactive concept learning for end-user applications , 1995 .

[8]  Luc De Raedt,et al.  A Theory of Clausal Discovery , 1993, IJCAI.

[9]  Francesco Bergadano,et al.  Inductive Logic Programming: From Machine Learning to Software Engineering , 1995 .

[10]  Christel Vrain,et al.  A three-valued framework for the induction of general logic programs , 1995 .

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

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

[13]  Francesco Bergadano,et al.  Test case generation by means of learning techniques , 1993, SIGSOFT '93.

[14]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

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

[16]  Helder Coelho,et al.  Prolog by Example: How to Learn, Teach and Use It , 1988, Symbolic computation : Artificial intelligence.

[17]  Francesco Bergadano,et al.  Learning clauses by tracing derivations. , 1994 .

[18]  Jorg-uwe Kietz,et al.  Controlling the Complexity of Learning in Logic through Syntactic and Task-Oriented Models , 1992 .

[19]  R. Mike Cameron-Jones,et al.  Avoiding Pitfalls When Learning Recursive Theories , 1993, IJCAI.