Jump to the Soar Overview page.
Jump to the Comparative Capabilities page.
Jump to the Home page.
Capabilities
Each of the capabilities below can be viewed as being provided either
by the architecture, by the knowledge level (i.e.: knowledge can be
put into Soar to make it behave as desired), or by a combination of
knowledge and unrelated features of the architecture.
Planning
Soar has no explicit planning module or mechanism, such as in ICARUS or PRODIGY. However, planning is
available as a knowledge level behavior in Soar. Architectural
features such as automatic subgoaling on an impasse provide a means for such, and thus,
planning. Without search control, Soar defaults to exhaustive
depth-first search. Search control can be explicitly coded via
productions such that Soar implements all weak methods. Search
control can also be learned through chunking.
Prediction
Prediction available at the knowledge level, provided that ths
knowledge is a fair representation of the world objects, actions and
interractions.
Meta-Reasoning
Meta-reasoning in Soar is quite cumbersome, at least compared to
systems whose focus was meta-reasoning, such as MAX. Nevertheless, it
is attainable, again through the knowledge level by support of the
architectural mechanisms of automatic subgoaling and chunking mechanisms.
I'll go out on a limb to give an example: suppose Soar wanted to know
if it had an operator that it could apply in a certain state,
S, it could setup a problem space where the current state is
S. All applicable productions would fire. If, while in that
problem space, an impasse arose, then
Soar would realize that it didn't have such knowledge.
Reactivity
Reactivity in Soar is achieved by a combination of the architectural
and knowledge levels. Soar achieves reactivity through its:
- asynchronous perception
system which updates working memory anytime it perceives changes
in the world.
- knowledge, which is in the form of productions (stimulus-response
pairs). This formulation, by its nature, produces quick response to
changes in working memory.
- motor system which accepts
commands from working memory and executes them.
Taskability
Soar is taskable by virture of the knowledge level. (?)
Learning
Soar's philosophy is to bring a
set of mechanisms together to establish a theory of cognition. Soar
employs a simple least-commitment learning mechanism called chunking. It differs noticable
from a system like PRODIGY
integrates several (six, and counting...) learning modules!
Humans indisuptably use other learning mechanisms in addition to
chunking. In keeping with Soar's architectural philosophy, it is hoped the other
learning mechanisms can be developed (at the knowledge level) using
only the simple architectural learning mechanism of chunking.
NLP
Soar has now architectural mechanism aimed at providing a natural
language processing capablility. Two research projects on providing a
knowledge level capability for natural language are currently underway
and have produced very promising results.
Interruptability
In the Robo-Soar project, Soar
had to support interruption while in the midst of other tasks. For
example, Soar had to align some blocks and at the same time, respond
to a "trouble" light. When the light came on, a button was to be
pressed. This was accomplished by having a highly-prefered operator.
When the light came one, this operator would always be applied. This
scheme produced the desired behavior. However, an undesirable side
effect is that any partial planning that wasn't captured by chunking
would be lost.
Navigation/Manipulation
Soar has been successfully applied to the task of navigation and
manipulation in the Robo-Soar
and Hero-Soar projects. Both of
these projects were an exercise to show that Soar supports planning,
execution, and learning in unpredictable and dynamic environments.
Coherent Behavior
Soar is exhibits rational behavior in that all knowledge that is
immediately available (ie: in the current problem space) can be
"brought to bare" to the problem at hand. However, applicable
knowledge in other problem spaces that may be indirectly
available is unreachable. This can lead to two sources of
irrationality in Soar:
- the results produced by applying the immediately available
knowledge may be inferior to what would be produced if only Soar could
access the indirectly available knowledge. That knowledge is
only reachable if an impasse occurs and the "better" problem space is
selected.
- some of the extant knowledge may simple be irretrievable for the
current situation; for example, its retrievaly might depend on the
external world's being in a particular configuration that is distince
from the present one.
Perception
An asynchronous perception
subsystem has been incorporated into Soar.
Other