Using automatic memoization as a software engineering tool in real-world AI systems

  • Authors:
  • J. Mayfield;T. Finin;M. Hall

  • Affiliations:
  • -;-;-

  • Venue:
  • CAIA '95 Proceedings of the 11th Conference on Artificial Intelligence for Applications
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Memo functions and memoization are well-known concepts in AI programming. They have been discussed since the sixties and are often used as examples in introductory programming texts. However, the automation of memoization as a practical software engineering tool for AI systems has not received a detailed treatment. This paper describes how automatic memoization can be made viable on a large scale. It points out advantages and uses of automatic memoization not previously described, identifies the components of an automatic memoization facility, enumerates potential memoization failures, and presents a publicly available memoization package (CLAMP) for the Lisp programming language. Experience in applying these techniques in the development of a large planning system is briefly discussed.