Jump to the ICARIS Overview page.
Jump to the Comparative Capabilities page.
Jump to the Home page.
Capabilities
Planning
Planning is done by the DAEDALUS module. It applies a variant
of the means end analysis planning method or uses previous experience.
ICARUS is capable of
designing a plan to go from an initial to a goal state. The plan is
generated by either using older plans for similar situations and
modifying to work for the current situation, or by generating
subproblems to be solved recursively (i.e. means-end analysis).
Prediction
Thanks to its use of a long term memory to store previous experiences,
ICARUS is capable of predicting both the possible consequences of its
actions and expected happenings. This ability is also supported by the
use of abstract plans, which can help foresee possible trouble stops
even if the agent has never experienced the exact plan beforehand (as
long as the plan is sorted under the old abstract plan).
Meta-Reasoning
ICARUS does not provide any method for implementing meta-reasoning in
the system. The planing methods are all constant.
Reactivity
There is no direct link between the inputs to the system and the
actions taken. In fact, the execution system (MAENDER) operates
independently of the perception system (ARGUS). The perception system
sends all qualitative breaks in its input and sends them to the memory
system. It is the memory system who decides if the situation is a
high-priority problem. If so, the memory system will determine what
actions to take. The frequency with which the system monitors the
environment can be adjusted to handle everything from stable to
unpredictable environments. Still, having a high sampling rate of the
input does not imply that quick or timely action will be taken.
Especially since the whole long term memory system is called on to
make every decision.
Taskability
ICARUS supports the ability to switch from one task to another. The
tasks can be either artificially generated by the programmer or can be
internally generated by the system. Either way, the system can stop
doing one task and take up another, more important task.
Learning
ICARUS can learn in two different ways:
- The programmer can put knowledge directly into its memory. This
would be done by adding a new concept hierarchy to LABYRINTH.
- ICARUS can learn from experience simply because it stores all of
its experiences in its long term memory. The concept hierarchy will be
modified to reflect all perceived objects, places, generated plans,
and executed actions. For example, for each abstract problem LABYRINTH
stores - (1) the probability that a particular operator will be useful in
solving it, (2) the probability that a subplan or operater will be
abandoned before the whole plan is finished (3) the probability that a
given state will, indeed, occur during the execution of a plan. All
these probabilities will help the planner next time it meets a problem
that is an instance of the abstract problem. They will also help the
execution system in determining when it is safe to perform the atomic
actions.
NLP
ICARUS has not been used for NLP.
Interruptability
As mentioned under taskability, ICARUS allows for interruptions. If
the system is planning for a certain goal and a situation is perceived
that is high-priority, then the system will stop planning on the old
problem and start planning how to fix the current situation.
Navigation/Manipulation
Altough we are not aware of any implementations, one of the goals of
the design of ICARUS was to provide a system that allowed agents to
successfully manipulate objects and navigate around them. As a
prerequisite for that the authors tried to "solve the problems of
recognition of physical objects, places and situations, the
generation of plans that achieve goals, the execution of action
sequences that implement plans, and the detection of situation that
call for a change in plans".
Coherent Behavior
One must assume that an implementation of ICARUS would show coherent
behavior since its actions are always dictated by the current
goal.
Perception
The architecture is capable of monitoring the environment and
determining if things have changed. It can also determine if the
things that changed are important. The frequency with which it checks
the world can be adjusted in the ARGUS
module.