Decision Cycle in Soar

Decision Cycle in Soar

Soar has a two phase deciscion cycle, elaboration followed by decision. The two phases are repeated until the goal of the current task is reached. During the elaboration phase all productions which match the current working memory fire. All productions fire in parallel. The elaboration phase runs to Quiescence (until no more productions fire).

The decision phase examines any preferences put into preference memory (either in this phase, or previous ones), and chooses the next problem space, state, operator or goal to place in the context stack. The decision phase may change any current slot values, or any previous slot values in the context stack. If there is not enough information (or the information is contradictory) for the decision phase to choose the next slot value, then an impasse results. There are four types of impasses:

  1. When two are more elements have equal preference, then there is a "tie impasse".
  2. When no preferences are in working memory, this causes a "no-change impasse"
  3. When the only preferences in working memory are rejected by other preferences, then there is a "reject impasse".
  4. A "conflict impasse" results when preferences claim that two or more elements are each better choices then the others.
When Soar reaches an impasse, it chooses a new problem space in an attempt to resolve the impasse.


Return to the top of this architecture.

Current Location: Soar - Architecture - Decision Cycle

Go to NEXT page.