Hello everyone, I’m a long-time lurker here, but this is my first time commenting. I’m a researcher at the National Research Council of Canada, and a big part of my research has been about taking ACT-R and figuring out how it could be implemented in the brain: http://terrystewart.ca/
I very much agree with the summary in the main post here. ACT-R is the best current model if you are trying to match human experimental data, including things like accuracy and reaction times. And it’s been applied to a much wider variety of tasks than any other competing theory. It’s definitely missing lots and lots of things, but it also seems to be getting a lot of things right. In particular, I’m very convinced by the constrained communication between brain modules (the “buffers” in the diagram posted by JenniferRM, each of which is restricted to contain around 7 key-value pairs at any point in time—the evidence for this tends to come from tasks where in some situations it is very easy to do two things at once and in other situations it is very hard), and the declarative memory system (a beautiful mathematical model where the activation of a memory decays as ∑t−0.5i where ti is how long it has been since you’ve used that memory).
I’ll also agree with JenniferRM’s idea that ACT-R is essentially a programming language, but I’ll also add that one of the main ideas is that it’s a programming language with a lot of weird constraints, but the hope is that the constraints are such that if you build a program to do a task within those constraints, then there’s a reasonable chance that the resulting program will be a good model of how humans do that task, including things like making similar mistakes as people do, and taking similar amounts of time. It doesn’t always live up to that, but that’s the goal.
Hi Terry, can you recommend an introduction for people with mathematics / theoretical computer science background? I glanced at the paper you linked but it doesn’t seem to have a single equation, mathematical statement or pseudocode algorithm. There are diagrams, but I have no idea what the boxes and arrows actually represent.
Hi Vanessa, hmm, very good question. One possibility is to point you at the ACT-R reference manual http://act-r.psy.cmu.edu/actr7/reference-manual.pdf but that’s a ginormous document that also spends lots of time just talking about implementation details, because the reference ACT-R implementation is in Lisp (yes, ACT-R has been around that long!)
Hello everyone, I’m a long-time lurker here, but this is my first time commenting. I’m a researcher at the National Research Council of Canada, and a big part of my research has been about taking ACT-R and figuring out how it could be implemented in the brain: http://terrystewart.ca/
I very much agree with the summary in the main post here. ACT-R is the best current model if you are trying to match human experimental data, including things like accuracy and reaction times. And it’s been applied to a much wider variety of tasks than any other competing theory. It’s definitely missing lots and lots of things, but it also seems to be getting a lot of things right. In particular, I’m very convinced by the constrained communication between brain modules (the “buffers” in the diagram posted by JenniferRM, each of which is restricted to contain around 7 key-value pairs at any point in time—the evidence for this tends to come from tasks where in some situations it is very easy to do two things at once and in other situations it is very hard), and the declarative memory system (a beautiful mathematical model where the activation of a memory decays as ∑t−0.5i where ti is how long it has been since you’ve used that memory).
For those looking for an introduction to it, I’d recommend “ACT-R: A cognitive architecture for modeling cognition” https://wires.onlinelibrary.wiley.com/doi/abs/10.1002/wcs.1488 (which was also linked in the post).
I’ll also agree with JenniferRM’s idea that ACT-R is essentially a programming language, but I’ll also add that one of the main ideas is that it’s a programming language with a lot of weird constraints, but the hope is that the constraints are such that if you build a program to do a task within those constraints, then there’s a reasonable chance that the resulting program will be a good model of how humans do that task, including things like making similar mistakes as people do, and taking similar amounts of time. It doesn’t always live up to that, but that’s the goal.
Hi Terry, can you recommend an introduction for people with mathematics / theoretical computer science background? I glanced at the paper you linked but it doesn’t seem to have a single equation, mathematical statement or pseudocode algorithm. There are diagrams, but I have no idea what the boxes and arrows actually represent.
Hi Vanessa, hmm, very good question. One possibility is to point you at the ACT-R reference manual http://act-r.psy.cmu.edu/actr7/reference-manual.pdf but that’s a ginormous document that also spends lots of time just talking about implementation details, because the reference ACT-R implementation is in Lisp (yes, ACT-R has been around that long!)
So, another option would be this older paper of mine, where I attempted to rewrite ACT-R in Python, and so the paper goes through the math that had to be reimplemented. http://act-r.psy.cmu.edu/wordpress/wp-content/uploads/2012/12/641stewartPaper.pdf