CHREST/EPAM/MOSAIC are a collection of computational models based around the idea of a discrimination net. This page contains information on implementations and smaller demonstrations or models.

The main available implementations are:

  • CHREST, a Java-based implementation, complete with a graphical interface for tutorials and teaching. Extended models can be written using Java or any other JVM-based language.
  • EPAM VI, the final version of EPAM (implemented in Lisp).

Other project or paper-specific implementations and models include:

EPAM VI

EPAM VI is described in two important technical reports at: http://www.pahomeschoolers.com/epam/

The implementation from that site has been revised to work with SBCL: download epam6-version-1.0.0

To run all the simulations:

> sbcl --script run-experiments.lisp

Models and Implementations

Chess board interpretation

Two projects have explored CHREST’s ability to learn interpretations or labels for chess positions. The idea is to associate chunks and templates with verbal labels, and recall these labels as chunks or templates are recognised in a position.

The first experiment explored whether CHREST could identify symbolic interpretations for a chess position, as may be used by a human player. In the following figure, we see that CHREST has recalled three of the interpretations offered by the human analyst, and added one further one of its own. Overall, CHREST recalls interpetations agreeing with the human’s in over half of the test set.

Image of chess board interpretations from human and CHREST

The second experiment used the same mechanisms, but required a simpler assessment: a label indicating which opening the position was from. Positions were taken from games played in two openings, and assessed as the middle-game was reached. CHREST obtained a geometric mean of 0.8, which was equivalent to that obtained by a Support Vector Machine on the same data.

The code for these two experiments is available at:

The two experiments are described, respectively, in:

  1. P.C.R. Lane and F. Gobet, ‘CHREST models of implicit learning and board game interpretation’, in J.Bach, B.Goertzel and M.Ikle (Eds.), Proceedings of the Fifth Conference on Artificial General Intelligence, LNAI 7716, pp. 148-157, 2012. (Berlin, Heidelberg: Springer-Verlag) pdf.
  2. P.C.R. Lane and F. Gobet, ‘Using chunks to categorise chess positions’, in M.Bramer and M.Petridis (Eds.) Research and Development in Intelligent Systems XXX: Proceedings of AI-2012, The Thirty-Second SGAI International Conference on Innovative Techniques and Applications of Artificial Intelligence, pp. 93-106, 2012. (London, UK: Springer-Verlag) pdf.

Concept Formation

A fundamental issue in cognitive science concerns the mental processes that underlie the formation and retrieval of concepts in the short-term and long-term memory (STM and LTM respectively). This study advances Chunking Theory and its computational embodiment CHREST to propose a single model that accounts for significant aspects of concept formation in the domains of literature and music. The proposed model inherits CHREST’s architecture with its integrated STM/LTM stores, while also adding a moving attention window and an “LTM chunk activation” mechanism. These additions address the overly destructive nature of primacy effect in discrimination network based architectures and expand Chunking Theory to account for learning, retrieval and categorisation of complex sequential symbolic patterns – like real-life text and written music scores. The model was trained through exposure to labelled stimuli and learned to categorise classical poets/writers and composers. The model categorised previously unseen literature pieces by Homer, Chaucer, Shakespeare, Walter Scott, Dickens and Joyce, as well as unseen sheet music scores by Bach, Mozart, Beethoven and Chopin. These findings offer further support to mechanisms proposed by Chunking Theory and expand it into the psychology of music.

For more information, see:

  • D.Bennett and F.Gobet, ‘Forming Concepts of Mozart and Homer Using Short-Term and Long-Term Memory: A Computational Model Based on Chunking’, in Proceedings of the 42nd Annual Meeting of the Cognitive Science Society, pp.178-184, 2020. pdf.
  • Source code: https://github.com/Voskod/pyCHREST

Implicit learning

Implicit learning means the kind of learning that occurs without conscious intention or awareness. Classic examples of such learning are word segmentation, or recognising that a sequence of sounds or symbols falls within a familar pattern.

Using CHREST, we have constructed models of this learning process which are comparable to human performance and other kinds of model (e.g. ACT-R). The model from Lane and Gobet (2012), which learns a Reber Grammar, is included as an example with CHREST.

Main publications:

  1. M. Lloyd-Kelly, F. Gobet and P.C.R. Lane, ‘Under pressure: How time-limited cognition explains statistical learning by 8-month old infants’, in Papafragou, A., Grodner, D., Mirman, D., and Trueswell, J.C. (Eds.), Proceedings of the 38th Annual Meeting of the Cognitive Science Society, pp.1475-80, 2016. code, paper.
  2. P.C.R. Lane and F. Gobet, ‘CHREST models of implicit learning and board game interpretation’, in J.Bach, B.Goertzel and M.Ikle (Eds.), Proceedings of the Fifth Conference on Artificial General Intelligence, LNAI 7716, pp. 148-157, 2012. (Berlin, Heidelberg: Springer-Verlag) pdf.

Learning from diagrams

CHREST has been adapted to work with diagrams. The aim was to capture how humans learnt to work with AVOW diagrams to compute properties of electric circuits. This work was directed by Prof. Fernand Gobet and Prof. Peter Cheng.

Main publications:

  1. P.C.R. Lane, P.C-H. Cheng and F. Gobet, ‘Learning perceptual chunks for problem decomposition’, in Proceedings of the Twenty-Third Annual Conference of the Cognitive Science Society, pp. 528-33, 2001. Proceedings.
  2. P.C.R. Lane, P.C-H. Cheng and F. Gobet, ‘CHREST+: Investigating how humans learn to solve problems with diagrams,’ AISB Quarterly, 103:24-30, 2000.
  3. P.C.R. Lane, P.C-H. Cheng and F. Gobet, ‘Learning perceptual schemas to avoid the utility problem’, in M. Bramer, A. Macintosh, and F. Coenen (Eds.) Research and Development in Intelligent Systems XVI: Proceedings of ES99, the Nineteenth SGES International Conference on Knowledge-Based Systems and Artificial Intelligence, (Springer-Verlag) pp. 72-82, 1999.

The modified version of CHREST used for these experiments is available from:

MiniChrest

MiniChrest is a restricted subset of CHREST, used to illustrate a methodology for developing scientific software based on test-driven development: code.

  • P.C.R. Lane and F. Gobet, ‘A theory-driven testing methodology for developing scientific software’, Journal of Experimental and Theoretical Artificial Intelligence, 24:421-56, 2012. Web page.

Similar ideas were discussed in an earlier article, using a small Haskell implementation of a discrimination tree: ai03.hs.

  • P.C.R. Lane and F.Gobet, ‘Developing reproducible and comprehensible computational models,’ Artificial Intelligence, 144:251-263, 2003. Web page.

NetLogo agents

CHREST is used as part of a dual-process model of agents, running within NetLogo’s TileWorld environment.

  • M. Lloyd-Kelly, F. Gobet and P.C.R. Lane, ‘A question of balance: The benefits of pattern-recognition when solving problems in a complex domain,’ LNCS Transactions on Computational Collective Intelligence XX, pp.224-258, 2015. pdf.

The code for these experiments is available from: