Example of the Recognition Act
Architecture used to Clear the Bottom Block
in a Stack of Four Blocks
to illustrate the operation of the Recognition Act Architecture
we consider a very simple problem where the goal is to clear
a particular block, that is, to have no blocks covering it.
A Goal State
The figure to the left illustrates
this very simple problem that we will consider in this example.
There are six blocks and in the starting state they are arranged
into two stacks. The goal is to have block D, the blue block,
clear. In the starting state block A is on block B, B is on block
C and C is on block D. The figure to the right illustrates one
of the possible goal states. in this case the stack of 4 blocks
has been completely unstacked. In fact, any state in which block
D is clear will satisfy this problem.
We assume that blocks can be
"unstacked" but only one at a time. And we will assume
that the only thing that we can do in this world is to unstack
| The figure
below illustrates the general form of the production rules used
in this example. LHS refers to the left hand side or Condition
Side of the rule; and, RHS refers to the right hand side or action
portion of the rules. The form used here mirrors the form that
was used in the lab for this course, and, in fact, this software
was used to generate this example.
this form, the RHS is divided into two portions: the first line,
here shown in red, lists those expressions which are deleted
from working memory, WM, (the Delete List) and the second line
here shown in blue, lists those expressions which are added to
working memory, WM (the Add List).
that the form is very similar to the STRIP's type rules that
were discussed when the topic of search was considered. The main
difference is the introduction of the idea of a working memory.
All conditions are tested against, and all actions performed
on, an area of memory that Newell refers to as Working Memory.
The figure to the left
shows the specific production rules that are used in this example.
The first, unstacks or makes a block clear if we have already
established the goal of clearing that block. The condition portion
of the unstack rule states that:
if we have a goal to clear some
x (?x) and some y (?y) is on x and that y is clear
and the action portion instructs
then delete the goal of
clearing x and the assertion that y is on x
and add the assertion that x is clear.
The second rule introduces a
goal of clearing a block that is currently not clear. It states
if we have a goal of clearing
x and y is on x
then add the goal of clearing y
that in this architecture we have explicitly introduced "meta"
relations; e.g. the 'goal' relation, for use in controlling the
action of the recognition act system.
The figure to the right provides
an animation of the activity of this system using these rules.
The illustration includes three components. To the far right
is a depiction of the "World." The world starts in
the state where there are two stacks of blocks; the Stack ABCD,
and the Stack FG. The goal is to clear block D.
As the animation proceeds, the
rule applied on a particular cycle together with the bindings
that were found for the rule in the match phase are shown in
the gray box. Note, that the world in the lower right is changed
to depict the state of the "world" that corresponds
to the expressions in WM at that point.
The box on the left depicts the
working memory (WM). The contents of working memory are shown
as a stack of expressions that refer either to the current state
of the world or the agent's current goals. In this depiction,
those items shown in darkened colors indicate items that either
are not yet present or are no longer active or relevant. The
currently active elements are shown in bright colors.
When the process begins the contents
of WM include a description of the initial state of the world.
These expressions are shown n bright yellow. WM also contains
the goal of clearing d which is shown in bright green.
Next what you will observe is
that the rule that introduces additional goals will be satisfied.
Since C is on D, the goal of clearing C is first introduced.
Next, since B is on C the goal of clearing B is introduced. No
further goals are introduced since A is clear. Consequently,
the unstacking actions begin. As the clearing goals are satisfied
these goals return to a dark green color. Similarly, the colors
of the descriptions of the state of the world are altered as
the unstacking actions are carried out.
Notice that at no time did we retain more than nine items
in working memory. Contrast this with the possible memory requirements
that might be needed to carry out a breadth first search....note
that each possible state in this simple blocks world requires
from six (when each is clear) to nine expressions.