A “production system” is, at a rough level, a set of simple rules, such as “if X happens, then doY“. The concept of production systems occurs frequently in computer science, and describes a type of rule-based control system for computation. Some of the background for production systems comes from work by Emil Post (1943) on “canonical systems” describing one type of production system.
There has been interest in modeling cognition with production systems. One example is the highly developed ACT-R framework (Anderson, 1983; Anderson & Lebiere, 1998) which is based on production systems, and another is the Soar framework created by Allen Newell (Newell, 1994). Lovett and Anderson (2005) give a good overview of modeling cognition with production systems, and Gray (2005) has examples of many productions system applications. Anderson and Lebiere (1998) even went so far as to call productions one of “the atomic components of thought”.
On one hand, I greatly admire the production system models of cognition. As Anderson and Lebiere (1998) mention, two of the main goals for a theory of cognition are precision andcomplexity. Implementing a model physically (on a computer) requires you to be precise about exactly what you mean in your theories – you can’t implement something which is vaguely defined. And, as the brain is extremely complex, accurate models of cognition will probably have to be complex to accurately describe the workings of the brain, and prodution systems models are typically more complex than most psychological theories (by specifying all of the details). Additionally, many production system models are integrated in the sense that they combine perception, cognition, and action in a single model, which I think is important for understanding the brain at a large scale.
However, lately I’ve been questioning some aspects of production system models, especially in light of other, non-production system models based on more detailed knowledge of the brain (such as Hamker 2005, Itti & Koch, 2001, and Lanyon & Denham, 2009). Such models incorporate specific knowledge of the brain, such as neural connectivity between different brain areas, and firing rate patterns obtained from single-cell neural recordings. Some of these models have been very successful in explaining certain phenomena, and seem to be much more reflective of the underlying neural structure than the relatively abstract production system models.
While traditionally production systems have not incorporated many neural details in their models, more recently Anderson (2007) has strongly recommended using brain imaging to guide model development. One question I have is then – how “generic” is cognition? In other words, are a few basic mechanisms responsible for cognition (as production systems theories might suggest), or does the neural structure of the brain result in a larger variety of mechanisms?
Production systems are also extremely powerful in the sense that they can be made to do almost anything. Post’s (1943) canonical systems are computationally equivalent to Turing machines, and are thus capable of computing effectively anything that can be computed. The production systems used in modeling cognition are typically more limited than Post’s (such as in ACT-R), but are still quite powerful. So another question is then – are production systems too powerful for modeling the brain? Since we could build production system models which do almost any task in almost any way, do production system frameworks themselves really tell us anything about how cognition works?
My current thought is that we’re ultimately going to have to incorporate more details of neural structure into our models of cognition than are found in many existing production system models. I also think that our models will have to be more constrained than most production system models if they are to be informative. But taking a step back, I also think the higher-level aim of many production systems models is excellent – to build relatively complete, well-specified computational models of cognition.