<p>ACT-R can best be summarized with this (tiny but more recent) graph:<br>
<a href="https://i.sstatic.net/mIi1v.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/mIi1v.jpg" alt="Modular representation of ACT-R&#39;s cognitive architecture"></a></p>

<p>ACT-R is a cognitive architecture that tries to explain as much of human behavior as possible with as little rules as possible. It works at a high level of abstraction and came down to a list of so-called "modules", each having its own functions. The exact mechanisms of each of these modules are actually mathematical models which are based on many years of research. Each module has an accompanying buffer, which can be seen as an accompanying temporary storage unit which allows information to flow between modules.</p>

<p>One module is the visual module, in which vision and attention are modeled. When a stimulus is presented, the model will/may focus its attention on it. The time for it to do so is based on the location the model's attention was focused and the distance to the new location (<a href="https://en.wikipedia.org/wiki/Fitts%27s_law" rel="nofollow noreferrer">Fitts's Law</a> like). </p>

<p>Then, there is the manual module, which calculates how long a particular motor movement might take. Again, Fitts's law is a large part of this. </p>

<p>The more interesting modules are the Declarative Module and the Imaginal Module, and the Goal Buffer. In the declarative module factual information is stored. I also wrote something about it <a href="https://cogsci.stackexchange.com/questions/13118/cognitive-models-of-learning-working-memory-usage/13874#13874">here</a>. The paper I cited over there described how memories decay over time and how this decay may become slower (the effect of studying at intervals). <a href="http://onlinelibrary.wiley.com/doi/10.1111/tops.12183/abstract;jsessionid=1EE00B01462ACBBBDA6E467198B56DE8.f03t03" rel="nofollow noreferrer">This paper</a> may especially be interesting also. Incorrect facts may also be stored but, since incorrect facts are encountered less often, they are are more easily forgotten. </p>

<p>The imaginal module is similar to working memory. Here you store information temporarily to allow short-term memorization. When a piece of information, also known as "chunk" is removed from this module, it automatically goes to the declarative module. There, depending on how often you use that "chunk", it will decay in a more or lesser degree. Placing something in the imaginal buffer is thus similar to mentally rehearsing. </p>

<p>The Goal buffer keeps track of what you are doing. For every little sub-task there is, you can set a goal. The goal-buffer is especially important for selecting the right production rule (see below).</p>

<h2>The core of ACT-R</h2>

<p>All these modules come together in the Procedural module, in which production rules are stored. Production rules is analogous to procedural memory, which is the knowledge of how to execute a (part of) the task. It is here that all information comes together, and determines what the next step of action may be. In ACT-R, the procedural module is a BIG if-then-statement. If the goal is to do X (taking from the goal buffer), and we have knowledge y (from the retrieval buffer), and we see information z (from the visual buffer), then we can perform action A (via the manual buffer). </p>

<p>Sometimes, there are more production rules having the same conditionals. That means, if the goal is to do X (taking from the goal buffer), and we have knowledge Y (from the retrieval buffer), and we see information Z (from the visual buffer), then we can either perform action A or action B (via the manual buffer). This, the conditionals and corresponding action, are stored as two separate production rules. So we have Rule A and Rule B, which may be selected if we see X, Y and Z. Both production rule has a Utility value, i.e. a value of how successful the outcome was of that execution. The higher utility is, the bigger the probability of selecting it. This allows humans to make mistakes (selecting a wrong production rule) and to learn from these mistakes. Production rules that are successful will increase their Utility, whereas rules that are more often unsuccessful will have their utility decay over time. </p>

<h2>Example</h2>

<p>One thing ACT-R has modeled is solving mathematical equations. For this, we need some assumptions. We are highly trained in additions from up to 50, so we can retrieve these facts without a problem. Then, we go into our production rule:</p>

<blockquote>
  <p>IF<br>
  Goal = addition<br>
  Visual = 5+9<br>
  THEN<br>
  new Goal = retrieve<br>
  Imaginal = 5+9 (to temporarily remember)  </p>
</blockquote>

<p>Now the next rule:</p>

<blockquote>
  <p>IF
  Goal = retrieve<br>
  Imaginal = 5+9 (here you use the temporarily remembered info)<br>
  THEN<br>
  Declarative = 14  (here, the result of the memory retrieval is saved)<br>
  New Goal = Type answer  </p>
</blockquote>

<p>Then a final rule:</p>

<blockquote>
  <p>IF<br>
  Goal = Type answer<br>
  Declarative = 14<br>
  THEN<br>
  Manual = Type 14. (here, a value is calculated of how long it would take to move your hand from Base position, to 1, to 4). </p>
</blockquote>

<p>This is pretty much how ACT-R works. I bet that the IF-THEN syntax is not completely correct, but this is the essence. With basic IF-THEN rules, and knowledge and information from different modules, you can perform any task. Do note that ACT-R works at a very high level of abstraction (plus you can manually adapt the decay rate of memories to make the data fit better). Not every module is thus very well explained and there is quite some criticism on the model. However, the simplicity-explainability ratio (Occam's razor?) is very nice. For the best description of the model, I recommend the book "<a href="https://global.oup.com/academic/product/how-can-the-human-mind-occur-in-the-physical-universe-9780195324259?cc=nl&amp;lang=en&amp;" rel="nofollow noreferrer">How does the human mind occur in the physical universe</a>" by John Anderson. </p>

<h2>Examples of mistakes</h2>

<p>For completeness I will also describe two mistakes that can occur. The first mistake is an incorrect memory retrieval. As a beginner in learning to count, you may have accidentally answered 13 once instead of 14 on the equation. This means it is saved in the declarative memory, but, most likely, activation has decayed a little. Because the retrieval process is stochastic and the activation value only serves as probabilities, it is possible that you accidentally select 13 instead of 14. Very simply, the second conditional will become the following. </p>

<blockquote>
  <p>IF
  Goal = retrieve<br>
  Imaginal = 5+9 (here you use the temporarily remembered info)<br>
  THEN<br>
  Declarative = 13<br>
  New Goal = Type answer  </p>
</blockquote>

<p>The second way a mistake can be made is by selecting a wrong production rule with the same conditionals. For instance, during additions, you learn that 5+9 equals 14, and you see a pattern: you add a one and remove one from 5. because this is a successful strategy in some cases, it may actually gain some utility. So, as the innocent child that you are, when you see 15+9 you answer 114; you added a one and removed one from 5. This will be a production rule with the exact same conditionals, but where you perform a different action. The first production rule could then look like this:</p>

<blockquote>
  <p>IF<br>
  Goal = addition<br>
  Visual = 5+9<br>
  THEN<br>
  new Goal = move One<br>
  Imaginal = 5+9 (to temporarily remember)  </p>
</blockquote>

<p>After this, you would not follow the same steps anymore, because the goal buffer holds a different value ("move One" instead of "retrieve"). This means a different production rule will be selected.</p>

<h2>Tutorial</h2>

<p>A <a href="http://act-r.psy.cmu.edu/wordpress/wp-content/themes/ACT-R/actr7/EnvironmentManual.pdf" rel="nofollow noreferrer">tutorial</a> of ACT-R exists which rather nicely takes you through the steps of basic model making, the exact syntax and the structure of the modules/buffers.</p>

CC BY-SA 3.0
2016-05-27T08:55:10.160Z
If anyone has any comments on improving the IF-THEN syntax or knows another nice references, please let me know or make the edit. Anything to improve the answer :)
Robin Kramer-ten Have
CC BY-SA 3.0
2016-05-26T15:57:08.050Z
2017-05-17T09:18:39.587Z
2017-05-17T09:18:39.587Z
Robin Kramer-ten Have
<p>I am reading <a href="http://ssrn.com/abstract=2380375">this</a> paper titled: <code>Effect of Temporal Spacing between Advertising Exposures</code></p>

<p>In this paper, the author mentions the ACT-R model and how it explains an optimal information- retrieval system in which items are stored in such a way that the cost of retrieval is minimal.</p>

<p>However, as I am not from a cognitive psychology background, I was unable to find the paper which proposed the model. (As the model is used and extended in many paper, I wasn't been able to find the original one).</p>

<p><strong>So, can anyone give a (dumbed down) explanation of how the ACT-R model works, and how it explains information storage?</strong></p>

<hr>

<p>[Update] From the wikipedia link of ACT-R, I understand how the information is segregated. However, I still didn't understand how it is being stored and the learning process, and how it tries to minimize the cost of retrieval and (try to) maximize recall.  (If it is already present in the wiki page, then the technical jargon might have confused me.)</p>

CC BY-SA 3.0
2016-05-28T12:42:48.030Z
As I mentioned in my answer, ACT-R is indeed not perfect and indeed deserves criticism. However, I do like to remark on the statement "I don't believe in a computerized model". With computational models, there is little to believe in. A computational model, any model, is not how scientists think something works. The model is intended to mimic the same result. There is no Fitts' law somewhere in the brain or muscles, but is does perfectly mimics the duration of a movement of the arm, given its simplicity. The level of abstraction you use, will determine how specific/correct your model must be.
Robin Kramer-ten Have
CC BY-SA 3.0
2017-05-13T17:50:49.767Z
@RobinKramer, is there evidence that any computational model can adequately model cognition, or is that just an assumption?  For example, Fodor criticizes the computational assumption in his book "the mind doesn't work that way."  I saw a brief response to Fodor in Anderson's "How can the human mind occur in the physical universe?", but nothing substantive.  It appears the issues with computationalism are ignored, and computationalism is merely assumed and not demonstrated, as Fodor recommends in his book.
yters
CC BY-SA 3.0
2017-05-15T06:20:26.900Z
@yters, I think that question could be discussion for an entire congres. How I see it, people know that ACT-R is a model and is thus inherently incorrect. That is, any computational model is never the full truth, but always use some sort of abstraction and simplification. It depends on which level of abstraction you want to model behavior, if you want to say if a model is adequate or not. The evidence lies in successes of the model (of ACT-R), although one could always disagree.
Robin Kramer-ten Have
CC BY-SA 3.0
2017-05-16T01:42:35.877Z
@RobinKramer What I mean is: perhaps the mind is inherently not computational, and its regular operation employs procedures that no algorithm can reproduce.  Is there evidence for or against this premise?  It seems that all computational models, insofar as they are computational, assume the mind fundamentally works like a computer.
yters
CC BY-SA 3.0
2017-05-16T06:40:39.257Z
@yters That I do not know. A question was asked about non-computational models (https://cogsci.stackexchange.com/q/16900/11318) but it hasn't received an answer yet. I do think that the choices made in any computational model is based on the fact that the model approximates behavior/brain activity/what-have-you, and that it is (or should be) generalizable to other contexts. So it may be the case that brains have some entirely different, non-computational, mechanism, but if a mathematical formula (any formula for that matter) can reproduce it, a computational model can be justified.
Robin Kramer-ten Have
<learning><cognitive-modeling><act-r>
What is the ACT-R model of learning?
Dawny33
# What is the ACT-R model of learning?

(Asked by: username_0 on 2016-05-26)

I am reading [this](http://ssrn.com/abstract=2380375) paper titled: `Effect of Temporal Spacing between Advertising Exposures`

In this paper, the author mentions the ACT-R model and how it explains an optimal information- retrieval system in which items are stored in such a way that the cost of retrieval is minimal.

However, as I am not from a cognitive psychology background, I was unable to find the paper which proposed the model. (As the model is used and extended in many paper, I wasn't been able to find the original one).

**So, can anyone give a (dumbed down) explanation of how the ACT-R model works, and how it explains information storage?**

---

[Update] From the wikipedia link of ACT-R, I understand how the information is segregated. However, I still didn't understand how it is being stored and the learning process, and how it tries to minimize the cost of retrieval and (try to) maximize recall. (If it is already present in the wiki page, then the technical jargon might have confused me.)

**Tags:** learning, cognitive-modeling, act-r

> **Comments:**
> **username_1**: As I mentioned in my answer, ACT-R is indeed not perfect and indeed deserves criticism. However, I do like to remark on the statement "I don't believe in a computerized model". With computational models, there is little to believe in. A computational model, any model, is not how scientists think something works. The model is intended to mimic the same result. There is no Fitts' law somewhere in the brain or muscles, but is does perfectly mimics the duration of a movement of the arm, given its simplicity. The level of abstraction you use, will determine how specific/correct your model must be.  
> **username_2**: @RobinKramer, is there evidence that any computational model can adequately model cognition, or is that just an assumption?  For example, Fodor criticizes the computational assumption in his book "the mind doesn't work that way."  I saw a brief response to Fodor in Anderson's "How can the human mind occur in the physical universe?", but nothing substantive.  It appears the issues with computationalism are ignored, and computationalism is merely assumed and not demonstrated, as Fodor recommends in his book.  
> **username_1**: @username_2, I think that question could be discussion for an entire congres. How I see it, people know that ACT-R is a model and is thus inherently incorrect. That is, any computational model is never the full truth, but always use some sort of abstraction and simplification. It depends on which level of abstraction you want to model behavior, if you want to say if a model is adequate or not. The evidence lies in successes of the model (of ACT-R), although one could always disagree.  
> **username_2**: @RobinKramer What I mean is: perhaps the mind is inherently not computational, and its regular operation employs procedures that no algorithm can reproduce.  Is there evidence for or against this premise?  It seems that all computational models, insofar as they are computational, assume the mind fundamentally works like a computer.  
> **username_1**: @username_2 That I do not know. A question was asked about non-computational models (https://cogsci.stackexchange.com/q/16900/11318) but it hasn't received an answer yet. I do think that the choices made in any computational model is based on the fact that the model approximates behavior/brain activity/what-have-you, and that it is (or should be) generalizable to other contexts. So it may be the case that brains have some entirely different, non-computational, mechanism, but if a mathematical formula (any formula for that matter) can reproduce it, a computational model can be justified.  

---

## 1 answers

### Answer by username_1 on 2016-05-26. Score: 8 | Accepted answer

ACT-R can best be summarized with this (tiny but more recent) graph:  
[![Modular representation of ACT-R's cognitive architecture](https://i.sstatic.net/mIi1v.jpg)](https://i.sstatic.net/mIi1v.jpg)

ACT-R is a cognitive architecture that tries to explain as much of human behavior as possible with as little rules as possible. It works at a high level of abstraction and came down to a list of so-called "modules", each having its own functions. The exact mechanisms of each of these modules are actually mathematical models which are based on many years of research. Each module has an accompanying buffer, which can be seen as an accompanying temporary storage unit which allows information to flow between modules.

One module is the visual module, in which vision and attention are modeled. When a stimulus is presented, the model will/may focus its attention on it. The time for it to do so is based on the location the model's attention was focused and the distance to the new location ([Fitts's Law](https://en.wikipedia.org/wiki/Fitts%27s_law) like).

Then, there is the manual module, which calculates how long a particular motor movement might take. Again, Fitts's law is a large part of this.

The more interesting modules are the Declarative Module and the Imaginal Module, and the Goal Buffer. In the declarative module factual information is stored. I also wrote something about it [here](https://cogsci.stackexchange.com/questions/13118/cognitive-models-of-learning-working-memory-usage/13874#13874). The paper I cited over there described how memories decay over time and how this decay may become slower (the effect of studying at intervals). [This paper](http://onlinelibrary.wiley.com/doi/10.1111/tops.12183/abstract;jsessionid=1EE00B01462ACBBBDA6E467198B56DE8.f03t03) may especially be interesting also. Incorrect facts may also be stored but, since incorrect facts are encountered less often, they are are more easily forgotten.

The imaginal module is similar to working memory. Here you store information temporarily to allow short-term memorization. When a piece of information, also known as "chunk" is removed from this module, it automatically goes to the declarative module. There, depending on how often you use that "chunk", it will decay in a more or lesser degree. Placing something in the imaginal buffer is thus similar to mentally rehearsing.

The Goal buffer keeps track of what you are doing. For every little sub-task there is, you can set a goal. The goal-buffer is especially important for selecting the right production rule (see below).

## The core of ACT-R

All these modules come together in the Procedural module, in which production rules are stored. Production rules is analogous to procedural memory, which is the knowledge of how to execute a (part of) the task. It is here that all information comes together, and determines what the next step of action may be. In ACT-R, the procedural module is a BIG if-then-statement. If the goal is to do X (taking from the goal buffer), and we have knowledge y (from the retrieval buffer), and we see information z (from the visual buffer), then we can perform action A (via the manual buffer).

Sometimes, there are more production rules having the same conditionals. That means, if the goal is to do X (taking from the goal buffer), and we have knowledge Y (from the retrieval buffer), and we see information Z (from the visual buffer), then we can either perform action A or action B (via the manual buffer). This, the conditionals and corresponding action, are stored as two separate production rules. So we have Rule A and Rule B, which may be selected if we see X, Y and Z. Both production rule has a Utility value, i.e. a value of how successful the outcome was of that execution. The higher utility is, the bigger the probability of selecting it. This allows humans to make mistakes (selecting a wrong production rule) and to learn from these mistakes. Production rules that are successful will increase their Utility, whereas rules that are more often unsuccessful will have their utility decay over time.

## Example

One thing ACT-R has modeled is solving mathematical equations. For this, we need some assumptions. We are highly trained in additions from up to 50, so we can retrieve these facts without a problem. Then, we go into our production rule:

> IF  
> Goal = addition  
> Visual = 5+9  
> THEN  
> new Goal = retrieve  
> Imaginal = 5+9 (to temporarily remember)

Now the next rule:

> IF
> Goal = retrieve  
> Imaginal = 5+9 (here you use the temporarily remembered info)  
> THEN  
> Declarative = 14 (here, the result of the memory retrieval is saved)  
> New Goal = Type answer

Then a final rule:

> IF  
> Goal = Type answer  
> Declarative = 14  
> THEN  
> Manual = Type 14. (here, a value is calculated of how long it would take to move your hand from Base position, to 1, to 4).

This is pretty much how ACT-R works. I bet that the IF-THEN syntax is not completely correct, but this is the essence. With basic IF-THEN rules, and knowledge and information from different modules, you can perform any task. Do note that ACT-R works at a very high level of abstraction (plus you can manually adapt the decay rate of memories to make the data fit better). Not every module is thus very well explained and there is quite some criticism on the model. However, the simplicity-explainability ratio (Occam's razor?) is very nice. For the best description of the model, I recommend the book "[How does the human mind occur in the physical universe](https://global.oup.com/academic/product/how-can-the-human-mind-occur-in-the-physical-universe-9780195324259?cc=nl&lang=en&)" by John Anderson.

## Examples of mistakes

For completeness I will also describe two mistakes that can occur. The first mistake is an incorrect memory retrieval. As a beginner in learning to count, you may have accidentally answered 13 once instead of 14 on the equation. This means it is saved in the declarative memory, but, most likely, activation has decayed a little. Because the retrieval process is stochastic and the activation value only serves as probabilities, it is possible that you accidentally select 13 instead of 14. Very simply, the second conditional will become the following.

> IF
> Goal = retrieve  
> Imaginal = 5+9 (here you use the temporarily remembered info)  
> THEN  
> Declarative = 13  
> New Goal = Type answer

The second way a mistake can be made is by selecting a wrong production rule with the same conditionals. For instance, during additions, you learn that 5+9 equals 14, and you see a pattern: you add a one and remove one from 5. because this is a successful strategy in some cases, it may actually gain some utility. So, as the innocent child that you are, when you see 15+9 you answer 114; you added a one and removed one from 5. This will be a production rule with the exact same conditionals, but where you perform a different action. The first production rule could then look like this:

> IF  
> Goal = addition  
> Visual = 5+9  
> THEN  
> new Goal = move One  
> Imaginal = 5+9 (to temporarily remember)

After this, you would not follow the same steps anymore, because the goal buffer holds a different value ("move One" instead of "retrieve"). This means a different production rule will be selected.

## Tutorial

A [tutorial](http://act-r.psy.cmu.edu/wordpress/wp-content/themes/ACT-R/actr7/EnvironmentManual.pdf) of ACT-R exists which rather nicely takes you through the steps of basic model making, the exact syntax and the structure of the modules/buffers.

> **Comments:**
> **username_1**: If anyone has any comments on improving the IF-THEN syntax or knows another nice references, please let me know or make the edit. Anything to improve the answer :)  

---

