ACT-R

ACT-R (pronounced act-ARE: Adaptive Control of Thought--Rational) is a cognitive architecture mainly developed by John R. Anderson at Carnegie Mellon University.

Like any cognitive architecture, ACT-R aims to define the basic and irreducible basic cognitive and perceptual operations that enable the human mind. In theory, each task that humans can perform should consist of a series of these discrete operations.

Most of the ACT-R basic assumptions are also inspired by the progresses of cognitive neuroscience, and, in fact, ACT-R can be seen and described as way of specifying how the brain itself is organized in a way that enables individual processing modules to produce cognition.

Inspiration
Like many cognitive architectures, ACT-R has been inspired by the work of Allen Newell, and especially by his life-long championing the idea of unified theories as the only way to truly uncover the underpinnings of cognition. In fact, John Anderson usually credits Allen Newell as the major source of influence over his own theory.

How ACT-R looks like
Like other influential cognitive architectures (including Soar and EPIC), the ACT-R theory has a computational implementation as an interpreter of a special coding language. The interpreter itself is written in Lisp, and might be loaded into any of the most common distributions of the Lisp language.

This means that any researcher might download the ACT-R code from the ACT-R website, load it into a Lisp interpreter, and gain full access to the theory in the form of the ACT-R interpreter.

Also, this enables researchers to specify models of human cognition in the form of a script in the ACT-R language. The language primitives and data-types are designed to reflect the theoretical assumptions about human cognition. These assumptions are based on numerous facts derived from experiments in cognitive psychology and brain imaging.

Like a programming language, ACT-R is a framework: for different tasks (e.g., Tower of Hanoi, memory for text or for list of words, language comprehension, communication, aircraft controlling), researchers create "models" (i.e., programs) in ACT-R. These models reflect the modelers' assumptions about the task within the ACT-R view of cognition. The model might then be run.

Running a model automatically produces a step-by-step simulation of human behavior which specifies each individual cognitive operation (i.e., memory encoding and retrieval, visual and auditory encoding, motor programming and execution, mental imagery manipulation). Each step is associated with quantitative predictions of latencies and accuracies. The model can be tested by comparing its results with the data collected in behavioral experiments.

In recent years, ACT-R has also been extended to make quantitative predictions of patterns of activation in the brain, as detected in experiments with fMRI. In particular, ACT-R has been augmented to predict the exact shape and time-course of the BOLD response of several brain areas, including the hand and mouth areas in the motor cortex, the left prefrontal cortex, the anterior cingulate cortex, and the basal ganglia.

Brief outline
ACT-R's most important assumption is that human knowledge can be divided into two irreducible kinds of representations: declarative and procedural. Within the ACT-R code, declarative knowledge is represented in form of chunks, i.e. vector representations of individual properties, each of them accessible from a labelled slot.

Chunks are held and made accessible through buffers, which are the front-end of what are modules, i.e. specialized and largely independent brain structures.

There are two types of modules:


 * Perceptual-motor modules, which take care of the interface with the real world (i.e., with a simulation of the real world). The most well-developed perceptual-motor modules in ACT-R are the visual and the manual modules.
 * Memory modules. There are two kinds of memory modules in ACT-R:
 * Declarative memory, consisting of facts such as Washington, D.C. is the capital of United States, France is a country in Europe, or 2+3=5
 * Procedural memory, made of productions. Productions represent knowledge about how we do things: for instance, knowledge about how to type the letter "Q" on a keyboard, about how to drive, or about how to perform addition.

All the modules can only be accessed through their buffers. The contents of the buffers at a given moment in time represents the state of ACT-R at that moment. The only exception to this rule is the procedural module, which stores and applies procedural knowledge. It does not have an accessible buffer and is actually used to access other module's contents.

Procedural knowledge is represented in form of productions. The term "production" reflects the actual implementation of ACT-R as a production system, but, in fact, a production is mainly a formal notation to specify the information flow from cortical areas (i.e. the buffers) to the basal ganglia, and back to the cortex.

At each moment, an internal pattern matcher searches for a production that matches the current state of the buffers. Only one such production can be executed at a given moment. That production, when executed, can modify the buffers and thus change the state of the system. Thus, in ACT-R, cognition unfolds as a succession of production firings.

The symbolic vs. connectionist debate
In the cognitive sciences, different theories are usually ascribed to either the "symbolic" or the "connectionist" approach to cognition, and ACT-R is often assumed to be representative of the "symbolic" field. However, most of the ACT-R community, and certainly its developers, disagree with this attribution, and they prefer to think of ACT-R a general framework that specifies how the brain is organized, and how its organization give birth to what is perceived (and, in cognitive psychology, investigated) as mind.

The symbolic misattribution probably arises from the fact that, in ACT-R, there is a (rather technical) distinction between "symbolic" and "subsymbolic" levels.

However, these terms are mainly a legacy of the early implementations of the theory. From a theoretical standpoint, they simply reflect the distinction between atomic components of memory and their underlying computational quantities. In fact, Anderson usually argues that this distinction might be put into corrispondence with other similar distinctions accepted in the connectionist field, e.g. to one between activation-based and weight-based processing.

Furthermore, ACT-R has been implemented as a neural network, proving that there is nothing intrinsically "symbolic" in the underlying theory.

Theory vs. implementation, and Vanilla ACT-R
The importance of distinguishing between the theory itself and its implementation is usually highlighted by ACT-R developers.

In fact, much of the implementation does not reflect the theory. For instance, the actual implementation makes use of additional 'modules' that exist only for purely computational reasons, and are not supposed to reflect anything in the brain (e.g., one computational module contains the pseudo-random number generator used to produced noisy parameters, while another holds naming routines for generating data structures accessible through variable names).

Also, the actual implementation is designed to enable researchers to modify the theory, e.g. by altering the standard parameters, or creating new modules, or partially modifying the behavior of the existing ones.

Finally, while Anderson's laboratory at the CMU maintains and releases the official ACT-R code, other alternative implementations of the theory have been made available. These alternative implementations include jACT-R (written in Java by Anthony M. Harrison at the University of Pittsburgh) and Python ACT-R (written in Python by Terrence C. Stewart and Robert L. West at Carleton University, Canada).

Similarly, ACT-RN (now discontinued) was a full-fledged neural implementation of the 1993 version of the theory. All of these versions were fully functional, and models have been written and run with all of them.

Because of these implementational degrees of freedom, the ACT-R community usually refers to the "official", lisp-based, version of the theory, when adopted in its original form and left unmodified, as "Vanilla ACT-R".

Applications
Over the years, ACT-R models has been used in more than 500 different scientific publications, and has been cited in a huge amount of others. It has been applied in the following areas:


 * Learning and Memory
 * Higher level cognition, Problem solving and Decision making
 * Natural language, including syntactic parsing, semantic processing and language generation
 * Perception and Attention

More recently, more than two dozen papers made use of ACT-R for predicting brain activation patterns during imaging experiments, and it has also been tentatively used to model neuropsychological impairments and mental disorders.

Beside its scientific application in cognitive psychology, ACT-R has been used in other, more application-oriented oriented domains.


 * Human-computer interaction to produce user models that can assess different computer interfaces,
 * Education, where ACT-R-based cognitive tutoring systems try to "guess" the difficulties that students may have and provide focused help
 * Computer-generated forces to provide cognitive agents that inhabit training environments

Some of the most successful applications, the Cognitive Tutors for Mathematics, are used in thousands of schools across the United States.

Such "Cognitive Tutors" are being used as a platform for research on learning and cognitive modeling as part of the Pittsburgh Science of Learning Center.

Early years: 1973-1990
ACT-R is the ultimate successor of a series of increasingly precise models of human cognition developed by John Anderson.

Its roots can be backtraced to the original HAM model of human memory, jointly developed by John R. Anderson and Gordon Bower in 1973, and described in their jointly authored monograph, "Human Associative Memory".

Later, the original HAM model was expanded into the first version of the ACT theory, which was first introduced in Anderson's 1976 monography "Language, Memory and Thought".

This was the first time the procedural memory was added to the original chunk-like declarative memory system, introducing a computational dichotomy that was later proved to hold in human brain by neuropsychologist Larry Squire.

The theory was then further extended into the ACT* model of human cognition, which was presented in 1983 Anderson's book "The Architecture of Cognition".

Birth of ACT-R: 1990-1998
In the late eighties, Anderson devoted himself to exploring and outlining a mathematical approach to cognition that he named Rational Analysis. The basic assumption of Rational Analysis is that cognition is optimally adaptive, and precise estimates of cognitive functions mirror statistical properties of the environment. In his work with Lael Schooler, he successfully demonstrated that many features of memory, including retention functions and contextual effects, may be reproduced by applying Bayesian estimates to environmental statistics.

This work culminated in the publication of his research monograph "The Adaptive Character of Thought" (1990).

Later on, he came back to the development of the ACT theory, using the Rational Analysis as a unifying framework for the underlying calculations. To highlight the importance of the new approach in the shaping of the architecture, its name was modified to ACT-R, with the "R" standing for "Rational".

In 1993, Anderson met with Christian Lebiere, a researcher in connectionist models mostly famous for the development of the Cascade Correlation learning algorithm. Together, they wrote a neural network implementation of his theory, defending its biological plausibility.

They also developed successive version of the architecture, eventually culminating in the release of ACT-R 4.0, presented in the 1998 jointly edited book "The Atomic Components of Thought".

Thanks to Mike Byrne at the Rice University, version 4.0 also included optional perceptual and motor capabilities, mostly inspired from the EPIC architecture, which greatly expanded the possible applications of the theory.

Current developments 1998-2006
After the publication of "The Atomic Components of Thought", Anderson become more and more interested in the underlying neural plausibility of his life-time theory, and began to use brain imaging techniques pursuing his own goal of understanding the computational underpinnings of human mind.

The necessity of accounting for brain localization pushed for a major revision of the theory. ACT-R 5.0, presented in 2002, introduced the concept of modules, specialized sets of procedural and declarative representations that could be mapped to known brain systems. In addition, the interaction between procedural and declarative knowledge was mediated by newly introduced buffers, specialized structures for holding temporarily active information (see the section above). Buffers were thought to reflect cortical activity, and a subsequent series of studies later confirmed that activations in cortical regions could be successfully related to computational operations over buffers. The theory was first described in the 2004 paper "An Integrated Theory of Mind".

No major changes have occured since then in the theory, but a new version of the code, completely rewritten, was presented in 2005 as ACT-R 6.0. It also included significant improvements in the ACT-R coding language.

Spin Offs
The long development of the ACT-R theory gave birth to a certain number of parallel and related projects.

The most important ones are the PUPS production system, an initial implementation of Anderson's theory, later abandoned; and ACT-RN, the neural implementation mainly developed by Christian Lebiere.

Lynne Reder, also at the Carnegie Mellon University, developed in the early nineties SAC, a model of declarative memory that shares many features with the ACT-R core declarative system, although differing in some assumptions.