Go backward to Responding to impasses.
Go up to Default knowledge in Soar.
Go forward to Operator subgoaling.

The selection space for multi-choice impasses
=============================================

A multi-choice impasse indicates inadequate knowledge to distinguish between
competing alternatives.  The default response is to try to acquire additional
information about the alternatives so that a decision can be made.  This is
done in the context of the *selection* problem space.  The selection problem
space has operators that *evaluate* the competing alternatives.  The state
consists of the computed evaluations.  Additional productions compare the
evaluations and, based on the comparison, create preferences for the
alternatives.

Evaluations can be symbolic (e.g., success or failure) or numeric (e.g., 1,
5, or 0).  A special value called *novalue* can be assigned as either a
numeric or a symbolic value.  Its properties are discussed in Section 
See Novalue evaluations on page See Novalue evaluations.

The selection space is proposed with a worst preference so that it will not
be selected if there are better, domain-dependent alternatives.  If it is
selected, an empty initial state is created, which will come to hold
{evaluation objects}, one for each alternative.  The selection space contains
an operator called *evaluate-object* that is instantiated once for each
alternative.  When an evaluate-object operator is selected, domain-dependent
knowledge can apply it by assigning a value to its associated evaluation
object.  If no value is assigned, the default response is to enter an
*evaluation subgoal*, in which the context of the tie is recreated to try out
an object by *lookahead search*.

For the selection problem space to function properly, domain-dependent
productions must augment the goal in which the tie or conflict arises with a
^desired attribute.  This *desired object* can contain augmentations
(described in Section See Comparing numeric evaluations on page 
See Comparing numeric evaluations) that control behavior in the selection
space.  It is also a convenient place to describe the desired state for the
goal, if a declarative description is necessary.

Menu

The evaluate-object operator
The evaluation subgoal
Computing evaluations
Halting Soar with success or failure