Logic Program Synthesis as Problem Reduction Using Combining Forms
This paper presents an approach to inductive synthesis of logic programs from examples using problem decomposition and problem reduction principles. This is in contrast to the prevailing logic program induction paradigm, which relies on generalization of programs from examples. The problem reduction is accomplished as a constrained top-down search process, which eventually is to reach trivial problems.
Our induction scheme applies a distinguished logic programming language in which programs are combined from elementary predicates by means of combinators conceived of as problem reduction operators including list recursion forms. The operator form admits inductive synthesis as a top-down piecewise composition of semantically meaningful program elements according to the compositional semantics principle and with appeals neither to special generalization mechanisms nor to alternative forms of resolution and unification, or predicate invention.
The search space is reduced by subjecting the induction process to various constraints concerning syntactical form, modes, data types, and computational resources. This is illustrated in the paper with well-modedness constraints with the aim of synthesising well-moded, procedurally acceptable programs.
Preliminary experiments with the proposed induction method lead us to tentatively conclude that the presented approach forms a viable alternative to the prevailing inductive logic programming methods applying generalization from examples.
Unable to display preview. Download preview PDF.
- Aha, D.W., Lapointe, S., Ling, C.X., and Matwin, S. 1994. Learning recursive relations with randomly selected small training sets. In W.W. Cohen and H. Hirsh, editors, Proc. of ICML '94, Morgan Kaufmann.Google Scholar
- Apt, K. and Marchiori, E. 1994. Reasoning about prolog programs: From modes through types to assertions. J. Formal Aspects of Computing, 6A:743–764.Google Scholar
- Bacon, J. 1985. The completeness of predicate–functor logic. J. Symbolic Logic, 50(4):903–926.Google Scholar
- Basin, D., Deville, Y., Flener, P., Hamfelt, A., and Nilsson, J.F. Synthesis of programs in computational logic. Submitted for publication.Google Scholar
- Bird, R. and de Moor, O. 1997. Algebra of Programming. Prentice Hall.Google Scholar
- Cohen., W.W. 1993. PAC–learning a restricted class of recursive logic programs. In S. Muggleton editor, Proc. of ILP'93, Technical Report IJS–DP–6707. Stefan Institute, Ljubljana, Slovenia, pp. 73–86.Google Scholar
- Flener, P. Inductive logic program synthesis with Dialogs. In Muggleton, S. editor, 1996, pp. 175–198.Google Scholar
- Flener, P. 1995. Logic Program Synthesis from Incomplete Information. Kluwer, Boston, Kluwer Academic Publishers.Google Scholar
- Flener, P. and Yilmaz, S. 1999. Inductive synthesis of recursive logic programs: Achievements and prospects. J. of Logic Programming, 41:141–195.Google Scholar
- Hamfelt, A. and Fischer Nilsson, J. 1994. Inductive metalogic programming. In S. Wrobel, editor, Procs. Fourth International Workshop on Inductive Logic programming (ILP–94), Bad Honnef/Bonn, GMD–Studien Nr. 237, pp. 85–96.Google Scholar
- Hamfelt, A. and Fischer Nilsson, J. 1997. Towards a logic programming methodology based on higher–order predicates. J. New Generation Computing, 15(4):421–448.Google Scholar
- Hamfelt, A. and Fischer Nilsson, J. 1996. Declarative logic programming with primitive recursive relations on lists. In M. Maher, editor, Procs. Joint International Conference and Symposium on Logic Programming 1996, MIT Press, London, pp. 230–242.Google Scholar
- Hamfelt, A. and Fischer Nilsson, J. 1999a. Inductive synthesis of logic programs by composition of combinatory program schemes. In P. Flener, editor, Procs. Workshop on Logic Based Program Transformation and Synthesis 1998, Springer–Verlag, pp. 143–158. Lecture Notes in Computer Science 1559.Google Scholar
- Hamfelt, A. and Fischer Nilsson, J. 1999b. Inductive logic programming with well–modedness constraints. In R. Echahed, editor, Proc. Eighth International Workshop on Functional and Logic Programming 1999, Rapport de recherche, RR 1021–I, Laboratoire Leibniz, Institut IMAG.Google Scholar
- Hamfelt, A., Fischer Nilsson, J., and Vitoria, A. 1999. A combinatory form of pure logic programs and its compositional semantics. Submitted for publication.Google Scholar
- Idestam–Almquist, P. 1996. Efficient induction of recursive definitions by structural analysis of saturations. In L. De Raedt, editor, Advances in Inductive Logic Programming. IOS Press, pp. 192–205.Google Scholar
- Lapointe, S., Ling, C., and Matwin, S. 1993. Constructive inductive logic programming. In S. Muggleton, editor. Proc. of ILP'93 Technical Report IJS–DP–6707. Stefan Institute, Ljubljana, Slovenia, pp. 255–264.Google Scholar
- Lavrač, N. and Džeroski, S. 1994. Inductive Logic Programming. New York: Ellis Horwood, 1994.Google Scholar
- Muggleton, S., (Ed): 1992. Inductive Logic Programming. London: Academic Press, 1992.Google Scholar
- Muggleton, S. 1995. Inverse entailment and progol. New Generation Computing, 13:245–286.Google Scholar
- Muggleton, S. (Ed): 1996. Inductive logic programming. In Proceedings of the 6th International Workshop on Inductive Logic Programming, Springer, 1996. Lecture Notes in Artificial Intelligence, vol 1314.Google Scholar
- Nienhuys–Cheng, S.–H. and de Wolf, R. 1997. Foundations of inductive logic programming Springer, 1997. Lecture Notes in Artificial Intelligence, vol 1228.Google Scholar
- Petorossi, A. and Proietti, M. 1998. Transformation of logic programs. In D. M. Gabbay, C. J. Hogger, and J. A. Robinson, editor, Handbook of Logic in Artificial Intelligence and Logic Programming. Oxford, Clarendon Press.Google Scholar
- Plotkin, G. 1969. A Note on inductive generalization. In B. Meltzer and D. Michie, editors, Machine Intelligence vol. 5. Edinburgh: Edingburgh University Press, pp. 153–161.Google Scholar
- Quine, W.V. 1971. Predicate–functor Logic. In J.E. Fenstad, editor, Procs. Second Scandinavian Logic Symposium. North–Holland, pp. 309–315.Google Scholar
- Reade, C. 1989. Elements of Functional Programming. Addison–Wesley, 1989.Google Scholar
- Shapiro, E. 1991. Inductive inference of theories from facts. In J.–L. Lassez, and G.D. Plotkin, editors, Computational Logic: Essays in Honor of Alan Robinson. The MIT Press: Cambridge, Massachusetts, London England.Google Scholar
- Warren, D.H.D. 1982. Higher–order extensions to PROLOG: are they needed? In D. Michie, editor, Machine Intelligence vol 10. Ellis Horwood and Edinburgh University Press, pp. 441–454.Google Scholar
- Wirth, R. and O'Rorke, P. Constraints for predicate invention. In Inductive Logic Programming, S., Muggleton, editor, pp. 299–318.Google Scholar