Abstract
The construction of a procedure from a few examples of its execution—a major requirement for practical programming-by-example—is inevitably a drastically under-determined problem. At the core of any incremental programming-by-example scheme is a heuristic module that creates and modifies the program, or “model,” as it is formed. In general there are countless different ways that the model might plausibly be modified; the problem is to prune the set of candidate models to keep it down to a reasonable size.
We develop a principled method for evaluating and comparing alternative models of a sequence of actions. Models are finite-state automata and therefore can contain branches and loops. Based on information theory, the method computes the entropy of a model in conjunction with the entropy of the sequence used to form it—a novel form of the “minimum description length” principle. The idea is to measure a model's predictive power, taking into account the extent to which it is justified by the sequence that has been used to create it. The performance of the measure is illustrated on test cases and accords with intuition about when sufficient evidence has accumulated to prefer a more complex model to a simpler one.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Andreae, J.H. (1977) Thinking with the teachable machine. Academic Press, London.
Andreae, P.M. (1984) “Constraint limited generalization: acquiring procedures from examples,” Proc. American Association of Artificial Intelligence National Conference, Austin, Texas; August.
Chaitin, G.J. (1974) “Information-theoretic computational complexity,” IEEE Trans Information Theory IT-20 (1): 10–15; January.
Cleary, J.G. and Witten, I.H. (1984) “A comparison of enumerative and adaptive codes,” IEEE Trans Information Theory IT-30 (2): 306–315; March
Halbert, D. (1984) “Programming by example.” Research Report OSD-T8402, Xerox PARC, Palo Alto, California.
Heise, R. and MacDonald, B.A. (1989) “Robots acquiring tasks from examples” Proc ITESM 2nd International Symposium on AI, Monterrey, Mexico.
MacDonald, B. A. & Witten, I. H. (1987) “Programming computer controlled systems by nonexperts,” Proceedings of the IEEE SMC Annual Conference, 432–437. Alexandria, Virginia.
Maulsby, D.L., Kittlitz, K.A., & Witten, I.H. (1989) “Metamouse: specifying graphical procedures by example,” Proceedings of ACM SIGGRAPH, 127–136. Boston, Massachusetts.
Maulsby, D.L., Witten, I.H., Kittlitz, K.A. and Franceschin, V.G. (1990) “Inferring graphical procedures: the compleat Metamouse,” Research Report, Department of Computer Science, University of Calgary, Canada.
Maulsby, D.L. (1990) “Metamouse and user programming by demonstration,” SIGGRAPH Video Review, Issues 55–56.
Mo, D.H. and Witten, I.H. (1990) “Learning text editing tasks from examples: a procedural approach,” Research Report, Department of Computer Science, University of Calgary, Canada.
Myers, B.A. (1988) Creating user interfaces by demonstration. Academic Press.
Nix, R. (1984) “Editing by example,” Proc. ACM Symposium on Principles of Programming Languages: 186–195. Salt Lake City, Utah; January.
Rissanen, J. (1985) “Minimum description length principle,” in Encyclopaedia of statistical sciences, Vol. 5, edited by E.S. Kotz and N.L. Johnson, pp. 523–527. Wiley, New York.
Waterman, D., Faught, W., Klahr, P., Rosenschein, S. and Wesson, R. (1986) “Exemplary programming: applications and design considerations.” In Expert systems: techniques, tools and applications, edited by P. Klahr and D. Waterman, pp. 273–309. Addison-Wesley.
Witten, I.H., Neal, R., Cleary, J.G. (1987) “Arithmetic coding for data compression,” Communications of the ACM 30 (6): 520–540; June.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Witten, I.H., Maulsby, D.L. (1991). Evaluating programs formed by example: An informational heuristic. In: Maurer, H. (eds) New Results and New Trends in Computer Science. Lecture Notes in Computer Science, vol 555. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0038204
Download citation
DOI: https://doi.org/10.1007/BFb0038204
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54869-0
Online ISBN: 978-3-540-46457-0
eBook Packages: Springer Book Archive