Using Automatic Memoization as a Software Engineering Tool in Real-World AI Systems
dc.contributor.author | Mayfield, James | |
dc.contributor.author | Finin, Tim | |
dc.contributor.author | Hall, Marty | |
dc.date.accessioned | 2019-02-07T15:46:01Z | |
dc.date.available | 2019-02-07T15:46:01Z | |
dc.date.issued | 1995-02-20 | |
dc.description | Eleventh Conference on Artificial Intelligence for Applications | en_US |
dc.description.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. | en_US |
dc.description.sponsorship | This work was supported in part by the Advanced Research Projects Agency under JHU/APL subcontract 605089-L. | en_US |
dc.description.uri | https://ebiquity.umbc.edu/paper/html/id/570/Using-Automatic-Memoization-as-a-Software-Engineering-Tool-in-Real-World-AI-Systems | en_US |
dc.format.extent | 22 pages | en_US |
dc.genre | conference papers and proceedings preprints | en_US |
dc.identifier | doi:10.13016/m2ba8l-lirw | |
dc.identifier.citation | James Mayfield, Tim Finin, and Marty Hall, Using Automatic Memoization as a Software Engineering Tool in Real-World AI Systems, Proceedings the 11th Conference on Artificial Intelligence for Applications , 1995, DOI: 10.1109/CAIA.1995.378786 | en_US |
dc.identifier.uri | 10.1109/CAIA.1995.378786 | |
dc.identifier.uri | http://hdl.handle.net/11603/12722 | |
dc.language.iso | en_US | en_US |
dc.publisher | IEEE | en_US |
dc.relation.isAvailableAt | The University of Maryland, Baltimore County (UMBC) | |
dc.relation.ispartof | UMBC Computer Science and Electrical Engineering Department Collection | |
dc.relation.ispartof | UMBC Faculty Collection | |
dc.rights | This item is likely protected under Title 17 of the U.S. Copyright Law. Unless on a Creative Commons license, for uses protected by Copyright Law, contact the copyright holder or the author. | |
dc.rights | © 1995 IEEE | |
dc.subject | software engineering | en_US |
dc.subject | artificial intelligence | en_US |
dc.subject | functional programming | en_US |
dc.subject | large-scale systems | en_US |
dc.subject | packaging | en_US |
dc.subject | programming profession | en_US |
dc.subject | computer science | en_US |
dc.subject | computer languages | en_US |
dc.subject | UMBC Ebiquity Research Group | en_US |
dc.title | Using Automatic Memoization as a Software Engineering Tool in Real-World AI Systems | en_US |
dc.type | Text | en_US |