Go backward to I/O.
Go up to Top.
Go forward to Encoding A Task in Soar.

Default Knowledge
*****************

Without any productions loaded into its long-term memory, Soar is unable to
perform a task.  Once task productions have been loaded, Soar may be able to
make progress; however, if ever the task knowledge is incomplete or
inconsistent, a context impasse will arise.  Without knowledge to respond to
an impasse, Soar can easily get into an infinite set of impasses.  To avoid
these uncontrolled impasses, Soar includes a set of approximately one hundred
productions that provide default responses to all types of impasses.  The
default productions reside in a file (default.soar) and must be loaded when
Soar is first started up.  This chapter describes Soar's default knowledge at
an introductory level.  The defining reference for the default productions
are the productions themselves.  The file default.soar is documented for
browsing. (3) (See Default knowledge in Soar-Footnotes)

Soar does not provide any default response to impasses that arise for
non-context augmentations.  The assumption is that these impasses do not
represent a lack of progress on the current goal, as do context impasses.  If
a non-context impasse is critical for progress on a goal, it will sooner or
later give rise to a context impasse.  However, to make debugging easier, a
default monitoring production prints a warning when a non-context impasse
occurs.

Section See The top context on this page describes the knowledge that
establishes a top context for Soar to work in if no other context is
provided.  Section See Responding to impasses on page *Note Responding to
impasses:: describes Soar's responses to a variety of impasses.  These are
simple attempts at skipping over the object that led to the impasse.  For two
types of impasses, multi-choice (tie or conflict) and operator no-change,
Soar provides more extensive knowledge.  Section *Note The selection space
for multi-choice impasses:: on page *Note The selection space for
multi-choice impasses:: describes the {selection} problem space and the
*lookahead* strategy for multi-choice impasses.  Section *Note Operator
subgoaling:: on page See Operator subgoaling describes {operator
subgoaling}, Soar's default response to operator no-change impasses.
Finally, Section See Execution monitoring on page *Note Execution
monitoring:: describes the messages printed at run time by the default
monitoring productions.

Menu

The top context
Responding to impasses
The selection space for multi-choice impasses
Operator subgoaling
Execution monitoring