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:
  1. The programmer can put knowledge directly into its memory. This would be done by adding a new concept hierarchy to LABYRINTH.

  2. 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.