Soar (cognitive architecture)

Soar (formerly SOAR as an acronym for State, Operator Apply Result) is a cognitive architecture; So a theory that defines all primitive mechanisms and structures that underlie human cognition. These primitive principles remain constant over long periods of time and different application domains. The most important of these principles are primitive in Soar:

Based on this architecture more complex human skills can now be modeled (eg, mental arithmetic, speech processing, learning, etc.). If these models are mature and complete, it should be possible to create an artificial intelligent agent possessing all of human behaviors. Soar would be the long-sought "unified theory of cognition " ( Newell 1990), which combines all previous, unrelated theories.

Implementation of Soar

The above five primitive cognitive principles were implemented in a computer program (current version: Soar Suite 9.0.0 ), which is available for free download (see below links )

How Soar

Soar moves during the problem solving process from an initial state towards a potentially more target states. Each state represents a particular situation within the problem space (eg the current location in a maze ). In any state, an operator is accurately applied, which brings about a new state (eg movement in a maze leads to a new location ). This is done until a target condition is reached. A problem space therefore never needs to be fully represented, but only one or more conditions in it.

A program written in the programming language Soar program looks for example like this: ( Comments are marked with a #)

When this program is loaded, the two production rules are added to the production storage ( permanent knowledge). But if you now also an agent and starts it, the agent "Hello World" are from and then stops. Without the program Soar is an architecture without problem -solving skills. More complex programs could, for example, human cognitive abilities model (see above).

When an agent is started, Soar through a cycle:

  • New sensor data on the environment are taken into RAM
  • Test production rules to determine whether the memory ( the current state) satisfies certain conditions
  • In the example above, this is production rule 1
  • If this is the case, beat the rules before applying a certain operator ( they "fire" )
  • Allen operator candidate is assigned a preference
  • All matching production rules are followed, this can bring about a new state or end the cycle
  • In the example above, this is production rule 2
  • Commands are transmitted to the environment

In the case of the above program this cycle is run only once, but there are also more complex programs.

Main memory

Here, the current state, the current operator and any substates as so-called WMEs ( working memory element ) are stored. A WME consists of an identifier (eg Operator1 ), an attribute (eg ^ name ) and a value (eg, " hello- world"). All WMEs with the same identifier are combined into one " object". The value of an attribute can be a constant or identifier of another object.

Learning mechanism Chunking

If 4 ) of the decision cycle is reached a dead end in the step, it must be resolved ( eg by new cycle with a different target state ). Can the deadlock be resolved, a new production rule is created, the one " chunk" is called. Is added to the production storage this new rule, so in the future a similar impasse occurs not more, since the new rule includes a way to resolve the impasse (eg, the right choice of the operator ).

Applications of Soar

  • Modeling cognitive processes in cognitive science and artificial intelligence
  • Predictions of human performance
  • Commercial version of Soar: "KB Agent " ( Explore Reasoning Systems, Inc.)
  • Soar as a robot control architecture
  • TacAirSoar: Simulation of enemy fighter pilots in a virtual environment
  • Simulation opposing player in the computer game " Quake II"

History of Soar

At the beginning of the development of Soar was written entirely in capital letters as " SOAR " and standing for "State, Operator And Result", because in Soar problem-solving is always searching the corresponding problem space in which a state, an operator is applied to a to get result. Soar was developed in the early 1980s by Allen Newell, John Laird and Paul Rosenbloom.


Cognitive architectures assume that all cognitive processes are due to a few principles (eg, the " firing" of rules). However, it should provide evidence to suggest a variety of highly specialized, not untersuchbarer, neuroanatomically defined functions (eg Kolb, Wishaw, 1990).