# Inverting implication with small training sets

## Abstract

We present an algorithm for inducing recursive clauses using inverse implication (rather than inverse resolution) as the underlying generalization method. Our approach applies to a class of logic programs similar to the class of primitive recursive functions. Induction is performed using a small number of positive examples that need not be along the same resolution path. Our algorithm, implemented in a system named CRUSTACEAN, locates matched lists of generating terms that determine the pattern of decomposition exhibited in the (target) recursive clause. Our theoretical analysis defines the class of logic programs for which our approach is complete, described in terms characteristic of other ILP approaches. Our current implementation is considerably faster than previously reported. We present evidence demonstrating that, given randomly selected inputs, increasing the number of positive examples increases accuracy and reduces the number of outputs. We relate our approach to similar recent work on inducing recursive clauses.

## Keywords

Logic Program Recursive Relation Recursive Call Inductive Logic Programming Target Theory## References

- Aha, D. W., Ling, C. X., Matwin, S., & Lapointe, S. (1993). Learning singly-recursive relations from small datasets. In
*Proceedings of the IJCAI-93 Workshop on Inductive Logic Programming*. Chambery, France: Unpublished.Google Scholar - Cohen, W. (1993). Pac-learning a restricted class of recursive logic programs. In
*Proceedings of the Third International Workshop on Inductive Logic Programming*(pp. 73–86). Bled, Slovenia: J. Stefan Institute.Google Scholar - De Raedt, L. (1992).
*Interactive theory revision: An inductive logic programming approach*. London: Academic Press.Google Scholar - Idestam-Almquist, P. (1993). Recursive anti-unification. In
*Proceedings of the Third International Workshop on Inductive Logic Programming*(pp. 241–254). Bled, Slovenia: J. Stefan Institute.Google Scholar - Lapointe, S., Ling, X. C., & Matwin, S. (1993). Constructive inductive logic programming. In
*Proceedings of the Thirteenth International Joint Conference on Artificial Intelligence*. Chambery, France: Morgan Kaufmann.Google Scholar - Lapointe, S., & Matwin, S. (1992). Sub-unification: A tool for efficient induction of recursive programs. In
*Proceedings of the Ninth International Conference on Machine Learning*(pp. 273–281). Aberdeen, Scotland: Morgan Kaufmann.Google Scholar - Ling, X. C. (1991). Inductive learning from good examples. In
*Proceedings of the Twelvth International Conference on Artificial Intelligence*(pp. 751–756). Sydney, Australia: Morgan Kaufmann.Google Scholar - Muggleton, S. (1992). Inverting implication. In
*Proceedings of the First European Workshop on Inductive Logic Programming*. Vienna, Austria: Unpublished.Google Scholar - Muggleton, S., & Buntine, W. (1988). Machine invention of first order predicates by inverting resolution. In
*Proceedings of the Fifth International Conference on Machine Learning*(pp. 339–352). Ann Arbor, MI: Morgan Kaufmann.Google Scholar - Muggleton, S., & Feng, C. (1990). Efficient induction of logic programs.
*Proceedings of the First International Workshop on Algorithmic Learning Theory*(pp. 368–381). Tokyo, Japan: Japanese Society for Artificial Intelligence.Google Scholar - Quinlan, J. R. (1991). Determinate literals in inductive logic programming. In
*Proceedings of the Twelvth International Joint Conference on Artificial Intelligence*(pp. 746–750). Sydney, Australia: Morgan Kaufmann.Google Scholar - Robinson, J. A. (1965). A machine-oriented logic based on the resolution principle.
*Journal of the Association for Computing Machinery*,**12**, 23–41.Google Scholar - Rouveirol, C., & Puget, J. F. (1990). Beyond inversion of resolution. In
*Proceedings of the Seventh International Conference on Machine Learning*(pp. 122–130). Austin, TX: Morgan Kaufmann.Google Scholar