An Algorithm that Infers Theories from Facts

A framework for inductive inference in logic is presented: a Model Inference Problem is defined, and it is shown that problems of machine learning and program synthesis from examples can be formulated naturally as model inference problems. A general, incremental inductive inference algorithm for solving model inference problems is developed. This algorithm is based on Popper's methodology of conjectures and refutations [II]. The algorithm can be shown to identify in the limit [3] any model in a family of complexity classes of models, is most powerful of its kind, and is flexible enough to have been successfully implemented for several concrete domains. The Model Inference System is a Prolog implementation of this algorithm, specialized to infer theories in Horn form. It can infer axiomatizations of concrete models from a small number of facts in a practical amount of time.

[1]  Manuel Blum,et al.  Toward a Mathematical Theory of Inductive Inference , 1975, Inf. Control..

[2]  Karl R. Popper The Logic of Scientific Discovery. , 1977 .

[3]  Alan W. Biermann,et al.  The Inference of Regular LISP Programs from Examples , 1978, IEEE Transactions on Systems, Man, and Cybernetics.

[4]  E. Mark Gold,et al.  Language Identification in the Limit , 1967, Inf. Control..

[5]  M. Kendall,et al.  The Logic of Scientific Discovery. , 1959 .

[6]  P. D. Summers,et al.  Program construction from examples. , 1975 .

[7]  David R. Barstow,et al.  Progress report on program-understanding systems. , 1974 .

[8]  Robert A. Kowalski,et al.  Algorithm = logic + control , 1979, CACM.

[9]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[10]  Tom Michael Mitchell Version spaces: an approach to concept learning. , 1979 .