Go backward to Subgoal results.
Go up to Impasses and subgoals.

Types of subgoals
-----------------

All of the traditional types of goals found in AI systems are generated by
impasses in Soar.  Standard conjunctive or deliberate goals arise when an
operator is selected and the knowledge encoded in productions is insufficient
to apply and terminate it directly.  In these cases, a no-change impasse
arises.  In the subgoal, the operator can be implemented piece by piece,
possibly by breaking up a conjunctive goal by creating operators to perform
each individual conjunct.  The state selected in the subgoal can be exactly
the same state as was selected in the goal where the operator arose.  The
operators in the subgoal can transform the state, bit by bit, until the
operator with the impasse is complete and can be terminated.

In addition to traditional goals, Soar also generates goals to decide what to
do next.  These are search-control goals, sometimes called *meta-goals*,
 that arise when there is a tie or a conflict for the
selection of the operator.  Instead of having to rely on a fixed policy,
conflict resolution strategy, or random choice, Soar can explicitly consider
which option it should select.

Of all the PSCM functions, the Soar architecture directly performs only goal
creation and termination.  The remainder of the PSCM functions are carried
out by either direct memory retrieval or deliberate problem solving,
depending on the available knowledge.  For tasks where Soar has sufficient,
consistent knowledge, the PSCM functions are based on knowledge retrieved
from productions.  When that knowledge is insufficient or in conflict, Soar
automatically creates subgoals.  In the subgoal, the PSCM is recursively
applied to deliberately perform the appropriate PSCM function.  Soar's
learning mechanism, described below, converts the deliberate problem solving
of subgoals into automatic retrieval mechanism by productions.