Abstract
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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
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.
Apt, K. and Marchiori, E. 1994. Reasoning about prolog programs: From modes through types to assertions. J. Formal Aspects of Computing, 6A:743–764.
Bacon, J. 1985. The completeness of predicate–functor logic. J. Symbolic Logic, 50(4):903–926.
Basin, D., Deville, Y., Flener, P., Hamfelt, A., and Nilsson, J.F. Synthesis of programs in computational logic. Submitted for publication.
Bird, R. and de Moor, O. 1997. Algebra of Programming. Prentice Hall.
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.
Flener, P. Inductive logic program synthesis with Dialogs. In Muggleton, S. editor, 1996, pp. 175–198.
Flener, P. 1995. Logic Program Synthesis from Incomplete Information. Kluwer, Boston, Kluwer Academic Publishers.
Flener, P. and Yilmaz, S. 1999. Inductive synthesis of recursive logic programs: Achievements and prospects. J. of Logic Programming, 41:141–195.
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.
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.
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.
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.
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.
Hamfelt, A., Fischer Nilsson, J., and Vitoria, A. 1999. A combinatory form of pure logic programs and its compositional semantics. Submitted for publication.
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.
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.
Lavrač, N. and Džeroski, S. 1994. Inductive Logic Programming. New York: Ellis Horwood, 1994.
Muggleton, S., (Ed): 1992. Inductive Logic Programming. London: Academic Press, 1992.
Muggleton, S. 1995. Inverse entailment and progol. New Generation Computing, 13:245–286.
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.
Nienhuys–Cheng, S.–H. and de Wolf, R. 1997. Foundations of inductive logic programming Springer, 1997. Lecture Notes in Artificial Intelligence, vol 1228.
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.
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.
Quine, W.V. 1971. Predicate–functor Logic. In J.E. Fenstad, editor, Procs. Second Scandinavian Logic Symposium. North–Holland, pp. 309–315.
Reade, C. 1989. Elements of Functional Programming. Addison–Wesley, 1989.
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.
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.
Wirth, R. and O'Rorke, P. Constraints for predicate invention. In Inductive Logic Programming, S., Muggleton, editor, pp. 299–318.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Hamfelt, A., Nilsson, J.F. & Oldager, N. Logic Program Synthesis as Problem Reduction Using Combining Forms. Automated Software Engineering 8, 167–193 (2001). https://doi.org/10.1023/A:1008741507024
Issue Date:
DOI: https://doi.org/10.1023/A:1008741507024