From Chessprogramming wiki
Jump to: navigation, search

Home * Knowledge * Cognition * EPAM

EPAM discrimination net [1]

EPAM, (Elementary Perceiver and Memorizer)
an early computer model of rote learning by the method of paired associates, first conceived by Herbert Simon and Allen Newell during their early conception about computer simulation of cognitive processes in the 50s [2] , implemented as computer program by Edward Feigenbaum in the late 50s in IPL-V for the IBM 704 and IBM 7090, as topic of his Ph.D. thesis at Carnegie Mellon University. In terms of psychology and behaviorism EPAM associates responses with external stimuli, quite similar to classical conditioning.


EPAM learns by growing a discrimination net kept in long-term memory, a tree-like structure whose nodes contain tests that may be applied to objects that have been described as bundles of perceptual features. In EPAM III, introduced in 1964 [3] , the test nodes were generalized as n-ary switch instead of binary of EPAM II. When a familiar object is perceived, it is recognized by being sorted through the EPAM net. At the terminal nodes of the EPAM net, partial "images" are stored, also in the form of feature bundles of the objects sorted to the respective terminals, together with other information about the objects [4] , such as cue information, used to feed back into the net recursively .

EPAM in Chess

Thus, EPAM has a recursive structure. Any object, once familiarized and incorporated into the net, can itself serve as a perceptual feature of a more complex object. For instance in the domain of chess, once the various types of chess pieces and their proximity become familiarized, these can become features of more complex configurations, i.e. a "fianchettoed castled Black King's position". Once familiarized, such a complex can, in turn, serve as a perceptual feature of a still more complex pattern, finally the entire chess position.

The EPAM Simulation

Excerpt from Elementary Perceiver and Memorizer: Review of Experiments [5] : The EPAM processes perform the following four principal functions:

  1. Recognize an external stimulus as one about which some information has already been memorized
  2. Add new stimulus items to the memory by building discriminations (tests) that allow the new item to be distinguished from stimuli previously learned
  3. Associate (internally) two stored items, say x and y, by storing with x some cue information about y
  4. Respond to an external stimulus X with a response, Y, by retrieving the cue to the response, and then retrieving the response using the cue

Thus, EPAM has two performance processes, enabling It to respond using material already learned: the discrimination process (1), which recognizes the stimulus, and the response process (4), which finds the appropriate response associated with the stimulus and produces it. EPAM also has two learning processes: the discrimination learning process (2), which elaborates the structure of discrimination tests it applies to stimuli, and the association learning process (3), which associates response cues with stimuli.

The central "memory structure, which the performance processes use and the learning processes construct, is the discrimination net. It is a tree-like nexus of associations at whose terminal nodes are stored Images of encodings of external stimuli. At the non-terminal nodes of the net are stored tests which examine particular bits of the encodings. The image of a stimulus is retrieved by sorting the encoding of the stimulus down through the tests of the net to the appropriate terminal. In learning a set of stimuli, the net is grown to a size that is Just large enough (roughly) to discriminate among the different stimuli that have been presented to the system.

Association of a response, y, to a stimulus, x, is accomplished by storing a small amount of the information about y (an incomplete cue image of y) along with the image of x. The system determines by trial and error how much information must be stored as a cue to retrieve the response from the net when the association is made.


EPAM was influential in formalizing the concept of chunking. It was used in the MAPP (Memory-aided Pattern Perceiver) program by Simon and Gilmartin [6] to simulate the chess board reconstruction task. An EPAM net was stimulated by the piece fixation of the eye movement simulation program Perceiver, to recognize cluster of pieces surrounding the fixated piece as a familar chunk. In the perception phase up to seven symbols designating these chunks were stored in short-term memory. In the reconstruction phase, the EPAM net was used to decode the symbols held in short-term memory into locational information for each of the pieces in a chunk. In various experiments, MAPP was able to reconstruct positions with 73% accuracy [7] [8]

Chess Mapp.jpg

A schematic representation of the principle components of MAPP shows the learning and performance
processes used to reconstruct a chess position [9]


The EPAM concept was further influential for Fernand Gobet's CHREST (Chunk Hierarchy and REtrieval STructures) architecture, applied in Gobet's and Jansen's pattern learning chess program CHUMP [10] .

See also



1960 ...

1970 ...

1980 ...

1990 ...

2000 ...

External Links

featuring Kristina Koropecki, Charlotte Danhier, Catherine De Biasio


  1. A typical EPAM discrimination net, Image from Edward Feigenbaum, Herbert Simon (1963). Elementary Perceiver and Memorizer: Review of Experiments. in Symposium on Simulation Models, pp. 103
  2. Edward Feigenbaum (1959). An Information Processing Theory of Verbal Learning. RAND Paper
  3. Herbert Simon, Edward Feigenbaum (1964). An Information-processing Theory of Some Effects of Similarity, Familiarization, and Meaningfulness in Verbal Learning. Journal of Verbal Learning and Verbal Behavior, Vol. 3, No. 5, pdf
  4. Herbert Simon, William Chase (1973). Skill in Chess. American Scientist, Vol. 61, No. 4, Reprinted (1988) in Computer Chess Compendium, pdf
  5. Edward Feigenbaum, Herbert Simon (1963). Elementary Perceiver and Memorizer: Review of Experiments. in Symposium on Simulation Models
  6. Herbert Simon, Kevin J. Gilmartin (1973). A Simulation of Memory for Chess Positions. Cognitive Psychology, Vol. 5, pp. 29-46, reprinted in Herbert Simon (1979). Models of Thought. Yale University Press
  7. Herbert Simon, Kevin J. Gilmartin (1973). A Simulation of Memory for Chess Positions. Cognitive Psychology, Vol. 5, pp. 29-46
  8. Michael George, Jonathan Schaeffer (1990). Chunking for Experience. ICCA Journal, Vol. 13, No. 3, pdf
  9. Image from Expertise in Memory - Evidence for Chunking Theory by Victor Long, Chandra Singh and David Snitkof, Brown University, see also Figure 6 in Herbert Simon, William Chase (1973). Skill in Chess. American Scientist, Vol. 61, No. 4, pp. 401, reprinted in David Levy (ed.) (1988) Computer Chess Compendium, pdf
  10. Fernand Gobet, Peter Jansen (1994). Towards a Chess Program Based on a Model of Human Memory. Advances in Computer Chess 7
  11. Pandemonium architecture from Wikipedia

Up one Level