Skip to main content

Evaluating programs formed by example: An informational heuristic

  • Conference paper
  • First Online:
  • 181 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 555))

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.

Unable to display preview. Download preview PDF.

References

  • Andreae, J.H. (1977) Thinking with the teachable machine. Academic Press, London.

    Google Scholar 

  • Andreae, P.M. (1984) “Constraint limited generalization: acquiring procedures from examples,” Proc. American Association of Artificial Intelligence National Conference, Austin, Texas; August.

    Google Scholar 

  • Chaitin, G.J. (1974) “Information-theoretic computational complexity,” IEEE Trans Information Theory IT-20 (1): 10–15; January.

    Google Scholar 

  • 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

    Google Scholar 

  • Halbert, D. (1984) “Programming by example.” Research Report OSD-T8402, Xerox PARC, Palo Alto, California.

    Google Scholar 

  • Heise, R. and MacDonald, B.A. (1989) “Robots acquiring tasks from examples” Proc ITESM 2nd International Symposium on AI, Monterrey, Mexico.

    Google Scholar 

  • MacDonald, B. A. & Witten, I. H. (1987) “Programming computer controlled systems by nonexperts,” Proceedings of the IEEE SMC Annual Conference, 432–437. Alexandria, Virginia.

    Google Scholar 

  • Maulsby, D.L., Kittlitz, K.A., & Witten, I.H. (1989) “Metamouse: specifying graphical procedures by example,” Proceedings of ACM SIGGRAPH, 127–136. Boston, Massachusetts.

    Google Scholar 

  • 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.

    Google Scholar 

  • Maulsby, D.L. (1990) “Metamouse and user programming by demonstration,” SIGGRAPH Video Review, Issues 55–56.

    Google Scholar 

  • 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.

    Google Scholar 

  • Myers, B.A. (1988) Creating user interfaces by demonstration. Academic Press.

    Google Scholar 

  • Nix, R. (1984) “Editing by example,” Proc. ACM Symposium on Principles of Programming Languages: 186–195. Salt Lake City, Utah; January.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Witten, I.H., Neal, R., Cleary, J.G. (1987) “Arithmetic coding for data compression,” Communications of the ACM 30 (6): 520–540; June.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hermann Maurer

Rights and permissions

Reprints 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

Publish with us

Policies and ethics