CHREST is a cognitive architecture for developing models of human perception and learning. This repository contains an implementation of CHREST in Java, and jRuby libraries to work with and extend the architecture.
The CHREST project page contains information about CHREST, publications, links to other implementations, etc.
For any matters related to this repository, contact Peter Lane (firstname.lastname@example.org).
Users should start with the following:
Alternatively, use jRuby with:
- jchrest gem - including the jCHREST implementation.
- jchrest-chess gem - extensions to jCHREST for the classification and interpretation of chess positions.
Clone and view this fossil repository using the following commands:
$ fossil clone https://chiselapp.com/user/pcl/repository/chrest chrest.fossil $ mkdir chrest_folder $ cd chrest_folder $ fossil open ../chrest.fossil $ ls ... shows all the files $ fossil ui ... opens the repository in your browser
Some published results which use this implementation of CHREST.
> 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.
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 in the 'results/' folder.
The two experiments are described, respectively, in:
- 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.
- 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.
> 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.
- 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.
- P.C.R. Lane and F. Gobet, 'CHREST models of implicit learning and board game interpretation’ (see above).
> NetLogo agents
CHREST is used as part of a dual-process model of agents, running within NetLogo's TileWorld environment.