next up previous
Next: Our RoboCup Architecture Up: Meta-Agents Previous: Meta-agent design

Behavior mechanism of a single agent

A behavior [6] may be thought of as a unit that controls an action. A group of behaviors combined in the right manner achieve a strategy. Each layer in our system implements a complete behavior based module. There can be a number of generic behaviors(each with its associated global information), a set of active behaviors and processes that control these behaviors. Generic behaviors are fixed but active behaviors change. A particular behavior is created by instantiating it from a generic behavior with a specific parameter. The best possible behavior is achieved by combining the applicabilty of a behavior and its priority. Priority of a behavior is a measure of its importance or desirability. There is no central, complete or symbolic description of the world. The information extraction process takes incoming percepts, extracts relevant information for each generic behavior's world information (performing some simple consistency checking to ensure the reliability of the stored data), then passes the information to the behavior. The behavior instantiation process receives a command from the layer above indicating a new set of behaviors, with associated priorities, that are to be made active. The behavior instantiation process destroys the current active behaviors and creates a new active behavior set, whenever the upper layer active behavior changes. The active behaviors in the topmost layer are constant for the life of the agent.

A generic behavior provides two functions, a control function, for issuing a command, and an applicability function through which the behavior indicates its relevance in light of the current state of the world. A generic behavior is designed to control a very specific action without regard to any other actions the agent may execute. Each generic behavior has associated with it some simple information about the world which has been extracted from the incoming percepts. Information for higher level behaviors is at a more abstract level than for low level behaviors. For example defense, an upper level behavior, may record that the ball is in the opposite half of the field, while Ball-intercept, a lower level behavior, may record that the ball is 45 degrees to the left. The use of parameters means that the same generic behavioral code can be used many times with varying effects. For example, move may be used with a number of different positions. One generic behavior may be part of several behaviors simultaneously, each using different parameters.

A behavior issues commands and calculates its applicability without regard to the applicability or priority of other behaviors in the system. The meta-agent ensures that the resulting interactions between behaviors yield the best required. In a nutshell, the three main factors the meta-agent uses to choose a particular behavior are applicabilty of the behavior, its priority and the duration of the behavior's existence.

High level behaviors issue messages to the next layer describing the low level behaviors required to achieve the high level strategy. For instance, a high level behavior could be Launch offense along right wing. These would lead low level behaviors like move to ball, move to right wing, pass along right wing and kick ball to be instantiated with corresponding priorities. Sometimes adequate time and/or resources are not available to perform the desired analyses. in these situations, the meta-agent and the individual agents negotiate to find a satisfactory compromise. This kind of negotiation and strategic decision- making takes into consideration the following constraints

Each agent has multiple objectives. The difficulty of the problem lies in the fact that there is no single objective solution that can be obtained for all the objectives put together. So, any kind of reasoning is at best a trade-off. This could lead to circumstance-dependent solutions, which are generally a compromise. RoboCup provides an ideal test-bed to implement these agent models. It is a complex system where there are multiple clients competing for resources. The next section describes the architecture adopted by us to ensure the optimal distribution of resources among the various competing clients.


next up previous
Next: Our RoboCup Architecture Up: Meta-Agents Previous: Meta-agent design
Arvind Lakshmikumar 2001-02-17