Soar - Decision Cycle
Description
- 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.
- When two are more elements have equal preference, then there is
a "tie impasse".
- When no preferences are in working memory, this causes a "no-change
impasse"
- When the only preferences in working memory are rejected by other
preferences, then there is a "reject impasse".
- 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.
Detail from Soar