Guides ACT-R cognitive model construction: chunk types, production rules, subsymbolic parameters, and model validation
This skill encodes expert knowledge for constructing computational cognitive models within the ACT-R (Adaptive Control of Thought -- Rational) architecture. It provides guidance on chunk type definition, production rule authoring, subsymbolic parameter selection with empirically validated defaults, model fitting workflows, and validation procedures. A general-purpose programmer would not know the architecture constraints, parameter defaults, or model validation standards without specialized cognitive modeling training.
Before executing the domain-specific steps below, you MUST:
For detailed methodology guidance, see the research-literacy skill.
This skill was generated by AI from academic literature. All parameters, thresholds, and citations require independent verification before use in research. If you find errors, please open an issue.
ACT-R is a hybrid cognitive architecture with symbolic and subsymbolic components (Anderson, 2007; Anderson & Lebiere, 1998).
| Module | Buffer | Function | Source |
|---|---|---|---|
| Declarative memory | retrieval | Stores and retrieves chunks (facts) | Anderson, 2007, Ch. 2 |
| Procedural memory | (none; fires productions) | Stores production rules (skills) | Anderson, 2007, Ch. 3 |
| Goal | goal | Tracks current task state | Anderson, 2007, Ch. 4 |
| Imaginal | imaginal | Holds intermediate problem representations | Anderson, 2007, Ch. 4 |
| Visual | visual, visual-location | Attends to and encodes visual objects | Anderson, 2007, Ch. 6 |
| Motor | manual | Executes motor responses (keypresses) | Anderson, 2007, Ch. 6 |
| Temporal | temporal | Tracks time intervals | Taatgen et al., 2007 |
Chunk types define the structure of declarative knowledge:
;; ACT-R 7.x Lisp syntax
(chunk-type addition-problem arg1 arg2 answer)
(chunk-type counting-fact number next)
Decision rules for chunk type design:
Productions follow an IF-THEN structure:
(p retrieve-answer
=goal>
isa addition-problem
arg1 =num1
arg2 =num2
answer nil
?retrieval>
state free
==>
+retrieval>
isa addition-fact
addend1 =num1
addend2 =num2
=goal>
)
Production rule guidelines:
| Guideline | Rationale | Source |
|---|---|---|
| One request per production | Module bottleneck constraint | Anderson, 2007, Ch. 3 |
| Test buffer state before requesting | Prevents jamming the module | Bothell, 2023, ACT-R reference manual |
Use =goal> to maintain goal buffer | Prevents goal harvesting | Bothell, 2023 |
| Minimize productions per task step | Simpler models are preferred (parsimony) | Anderson, 2007, Ch. 1 |
Is the task sequential with clear phases?
|
+-- YES --> Use a single goal chunk with a "step" slot
| that tracks the current phase
|
+-- NO --> Does the task require subgoaling?
|
+-- YES --> Use goal push/pop (stack)
|
+-- NO --> Use the imaginal buffer for
intermediate representations
These parameters govern memory activation, retrieval, and production selection. See references/parameter-table.yaml for the complete table.
| Parameter | Symbol | Default | Typical Range | Source |
|---|---|---|---|---|
| Base-level learning decay | d | 0.5 | 0.1 -- 1.0 | Anderson & Schooler, 1991; Anderson, 2007 |
| Activation noise | s | 0.4 | 0.1 -- 0.8 | Anderson, 2007 |
| Latency factor | F | 1.0 | 0.2 -- 5.0 | Anderson, 2007 |
| Latency exponent | f | 1.0 | Fixed in most models | Anderson, 2007 |
| Retrieval threshold | tau | -infinity (default) | Set empirically; often 0.0 to -2.0 | Anderson, 2007 |
| Maximum associative strength | S (mas) | context-dependent | 1.0 -- 5.0 | Anderson & Reder, 1999 |
| Mismatch penalty | P | application-dependent | 0.5 -- 2.0 | Anderson, 2007 |
| Parameter | Symbol | Default | Typical Range | Source |
|---|---|---|---|---|
| Utility noise | sigma | 0.0 (deterministic) | 0.1 -- 2.0 when enabled | Anderson, 2007 |
| Utility learning rate | alpha | 0.2 | 0.01 -- 1.0 | Anderson, 2007 |
| Initial utility | U0 | 0.0 | Set per production | Anderson, 2007 |
| Production compilation | enabled/disabled | Disabled by default | -- | Taatgen & Anderson, 2002 |
| Parameter | Value | Source |
|---|---|---|
| Production cycle time | 50 ms | Anderson, 2007 |
| Visual encoding time | 85 ms | Anderson, 2007, Ch. 6 |
| Motor initiation time | 50 ms | Anderson, 2007, Ch. 6 |
| Motor execution time | 100 ms (Fitts' law applies) | Anderson, 2007, Ch. 6 |
| Imaginal delay | 200 ms | Anderson, 2007, Ch. 4 |
Total activation of chunk i:
A_i = B_i + sum_j(W_j * S_ji) + PM_i + noise
Where:
Retrieval time: RT = F * e^(-f * A_i) (Anderson, 2007)
How many free parameters?
|
+-- <= 3 --> Standard practice; proceed
|
+-- 4-6 --> Acceptable if justified by model complexity
|
+-- > 6 --> Warning: overfitting risk. Consider fixing some
to default values (Anderson, 2007)
Rule of thumb: The number of free parameters should be substantially less than the number of independent data points being fit (Roberts & Pashler, 2000).
| Method | When to Use | Source |
|---|---|---|
| Grid search | Few parameters (1-3), bounded space | Standard practice |
| Simplex (Nelder-Mead) | Moderate parameters, smooth landscape | Anderson, 2007 |
| Differential evolution | Many parameters, multimodal landscape | Storn & Price, 1997 |
| Bayesian optimization | Expensive evaluations, informed priors | Palestro et al., 2018 |
ACT-R models should simultaneously account for:
Use weighted sum of squared deviations or log-likelihood across measures (Anderson, 2007, Ch. 4).
Before trusting fitted parameter values, conduct a parameter recovery study. See the parameter-recovery-checker skill.
See references/model-patterns.md for detailed implementations of:
| Validation Step | Method | Minimum Standard |
|---|---|---|
| Parameter recovery | Simulate and refit | r > 0.9 between true and recovered (Heathcote et al., 2015) |
| Cross-validation | Fit half, predict half | Prediction RMSE within 2x of fitting RMSE |
| Qualitative predictions | Novel conditions | Model predicts ordinal pattern correctly |
| Model comparison | AIC/BIC or Bayes factor | Compare against plausible alternatives (Burnham & Anderson, 2002) |
| Sensitivity analysis | Vary fixed parameters | Conclusions robust to +/-20% variation |
| Platform | Language | URL | Notes |
|---|---|---|---|
| ACT-R 7.x | Common Lisp | act-r.psy.cmu.edu | Reference implementation (Bothell, 2023) |
| pyactr | Python | github.com/jakdot/pyactr | Python interface, good for batch simulations (Dotlacil, 2018) |
| jACT-R | Java | jactr.org | Java implementation |
Recommendation: Use ACT-R 7.x for model development and validation. Use pyactr when integrating with Python data analysis pipelines or running large parameter sweeps (Dotlacil, 2018).
Based on best practices from Anderson (2007) and Heathcote et al. (2015):
See references/ for detailed parameter tables and common model patterns.