AM worked by generating and modifying short Lisp programs which were then interpreted as defining various mathematical concepts;[4] for example, a program that tested equality between the length of two lists was considered to represent the concept of numerical equality, while a program that produced a list whose length was the product of the lengths of two other lists was interpreted as representing the concept of multiplication. The system had elaborate heuristics for choosing which programs to extend and modify, based on the experiences of working mathematicians in solving mathematical problems.
Controversy
Lenat claimed that the system was composed of hundreds of data structures called "concepts," together with hundreds of "heuristic rules" and a simple flow of control: "AM repeatedly selects the top task from the agenda and tries to carry it out. This is the whole control structure!" Yet the heuristic rules were not always represented as separate data structures; some had to be intertwined with the control flow logic. Some rules had preconditions that depended on the history, or otherwise could not be represented in the framework of the explicit rules.[5]
What's more, the published versions of the rules often involve vague terms that are not defined further, such as "If two expressions are structurally similar, ..." (Rule 218) or "... replace the value obtained by some other (very similar) value..." (Rule 129).[6]
Another source of information is the user, via Rule 2: "If the user has recently referred to X, then boost the priority of any tasks involving X." Thus, it appears quite possible that much of the real discovery work is buried in unexplained procedures.[7]
Lenat claimed that the system had rediscovered both Goldbach's conjecture and the fundamental theorem of arithmetic. Later critics accused Lenat of over-interpreting the output of AM. In his paper Why AM and Eurisko appear to work, Lenat conceded that any system that generated enough short Lisp programs would generate ones that could be interpreted by an external observer as representing equally sophisticated mathematical concepts. However, he argued that this property was in itself interesting—and that a promising direction for further research would be to look for other languages in which short random strings were likely to be useful.[8]
Successor
This intuition was the basis of AM's successor Eurisko, which attempted to generalize the search for mathematical concepts to the search for useful heuristics.[9]
^Ritchie, G.D.; Hanna, F.K. (August 1984). "am: A case study in AI methodology". Artificial Intelligence. 23 (3): 249–268. doi:10.1016/0004-3702(84)90015-8.
^Lenat, Douglas B. (1977), "The Ubiquity of Discovery (Computers and Thought Lecture)", IJCAI(PDF), pp. 1093–1103, archived from the original(PDF) on 2014-08-06.
Ken Haase's Ph.D. Thesis; Invention and Exploration in Discovery, a rational reconstruction of Doug Lenat's seminal AM program and an analysis of the relationship between invention and exploration in discovery.