Problem space: create-operator and (Virtual-)top-space
- Operator Overview:
- This is the operator that builds pieces of the u-model
and it is actually a gensymed operator from the create-operator problem space.
Since it does not have an implementation when it is first proposed, there will be
an immediate operator no-change impasse and the
u-construct space
will get selected for the implementation of this operator. Results return to
the create-operator space form the basis of the implementation of the
u-constructor. Each u-constructor might consist of several
link and/or snip operators or it could be just an
empty op.
As part of the implementation, the u-constructor operator may have placed
on itself ^annotation duplicate-relation, cp-projection, and/or adjunction. (These
annotations also become part of the proposal of the u-constructor). The overall
function of these annotations is to permit search control productions to be
sensitive to these 3 different classes of operators. Click
here for a better explanation of
these annotations. There is also a special ^annotation empty-op that is part the
proposal for an empty operator so that search control can operate on it.
- Operator Proposal:
- Note that the u-constructor gets proposed and selected twice. The first time is
when NL-soar enters the create-operator problem space and it automatically gets
proposed. The second time happens after its construction in the lower spaces.
The operator return-operator re-proposes it
in the top-space.
- Operator Application:
- The first time it gets selected (in the create-operator space), there will be an
operator no-change impasse since NL-Soar has no idea how to implement this
gensymed operator.
Once the u-constructor gets proposed and selected in the top space, all the
implementation chunks built in the lower spaces fire immediately and these
change the structure in the A/R set, in essence building
up u-model.
- Operator Reconsider:
- Reconsidered when the final implementation chunk is learned in the
completion space.
Productions are in file:
create-operator.constructor.soar
Back to the operator hierarchy.
This page written by Jill Fain Lehman (jef@cs.cmu.edu)
and Han Ming Ong (hanming@cs.cmu.edu)