• Keine Ergebnisse gefunden

Multi-Agent Systems in Computer Vision

5.2 Theoretical Background

The field of Multi-Agent System (MAS) research is a branch of Distributed Artificial Intelli-gence (DAI) [BONDand GASSER1988]. The main objective of multi-agent systems is con-cerned with the coordination of a collection of autonomous agents, which are capable to accomplish diverse tasks according to their own knowledge. Since the agents are indepen-dent from each other, the coordination is employed by communication processes.

Therefore, the following sections will provide a short introduction to the agent concept as well as to communication and cooperation models. For a more complete introduction to multi-agent systems see [BONDand GASSER1988, M ¨ULLER1993].

5.2.1 Agent Concept

Although the main concept in multi-agent systems is concerned with the term agent, a gen-erally applicable definition of an agent does not exist. Many researchers involved in multi-agent systems have offered a variety of definitions. These definitions range from the simple to the demanding, and are often a result of the investigation of a particular domain. One of the main problems in defining the term agent is that it is still unclear how to distinguish adequately between a software module and an agent.

5.2 Theoretical Background

For example, Russell and Norvig have proposed the AIMA agent definition [RUSSELLand NORVIG1995]:

AIMA Agent:

An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors.

Clearly, this agent specification is very general and depends heavily on the underlying envi-ronment as well as on the meaning of sensing and acting. In particular any entity which has a well-defined interface to its environment such as a simple software module, appears to be an agent.

A more suitable and often referred agent definition has been proposed in [WOOLDRIDGE

and JENNINGS1995] , which is also called the Weak Notion of Agency:

Wooldridge-Jennings Agent:

An autonomous agent is a hardware or (more usually) software-based computer system that enjoys the following properties:

– autonomy: agents operate without the direct intervention of humans or oth-ers, and have some kind of control over their actions and internal state;

– social ability: agents interact with other agents (and possibly humans) via some kind of communication language;

– reactivity: agents perceive their environment, and respond in a timely fash-ion to changes that occur in it;

– pro-activeness: agents do not simply act in response to their environment, they are able to exhibit goal-directed behaviour by taking the initiative.

In addition, Wooldridge and Jennings have suggested a second specification for agent, that extends the definition above by further properties which are usually applied to humans.

This agent specification, called Strong Notion of Agency, includes mental notions such as knowledge, belief, desire, intention, obligation as well as emotional notions.

A different way of specifying and describing agents has been proposed in [FRANKLIN and GRAESSER1997]. After having introduced various definitions of agents used in the agent-based computing community, they tried to extract the essence of those definitions to yield a more universal formalisation:

Franklin-Graesser Agent:

An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.

As Franklin and Graesser themselves have suggested this definition of an agent is too gen-eral to be useful. Therefore, they have proposed the agent taxonomy, shown in Fig. 5.1, as a tool to classify and describe agents.

Biological Agents Computational Agents Autonomous Agents

Robotic Agents

Artificial Life Agents Software Agents

Entertainment Agents Viruses Task-specific Agents

Figure 5.1: Agent taxonomy of Franklin and Graesser

This taxonomy is constructed following the form of the well-known biological taxonomy. At the kingdom level they distinguish between organisms, robotic and computational agents.

At the phylum level they sub-classify computational into software and artificial life agents, and finally, at the class level software agents are subdivided into task-specific and entertain-ment agents as well as into viruses. However, any further classification will be very difficult, since in general it cannot be decided which properties (control structures, environments, applications, etc.) should be naturally used to advance.

5.2.2 Communication and Cooperation

The communication plays an important role in multi-agent systems. In general the agents of a society must communicate in order to achieve their goals. The two main issues for communication being (i) to coordinate the cooperation among agents, and (ii) to exchange knowledge, which might facilitate the handling of tasks.

Several methods have been developed to accomplish the required communication pro-cesses. In the context of this thesis two well-known communication methods are described, the blackboard model as well as the popular contract net approach:

9 Blackboard Model:

The blackboard model [CORKILL1991] is a rather simple way to realize the commu-nication and cooperation among the agents of a society. The underlying idea of the blackboard model is that agents communicate via a shared memory (the blackboard), i.e. each agent has the capability to read and write information from/to a specified memory which is shared among all agents. An agent generally will be activated if the information stored in the memory changes into a state which enables the agent to accomplish one of its tasks.

5.2 Theoretical Background

In particular, the communication and cooperation process is performed in the following way: In the beginning the blackboard contains just an initial description of a task.

Each agent of the society continuously observes the blackboard and analyses the provided information. If an agent is able to accomplish a described task or to provide additional information, it will be activated. However, in systems where more than one agent might be able to become activated at the same time a control mechanism, which is responsible to select the appropriate agent, must be installed. This selection can be done by simply choosing the first agent that reacts (first come - first served), or by selecting the agent that might do best. Subsequently, the selected agent accomplishes its task and changes the information stored in the shared memory. This process will proceed until the initial task has been solved or no further agent can be activated.

The agents of a blackboard system are completely independent from each other and do not need to have any knowledge about the agent society. Therefore, a blackboard system can be easily expanded by adding new agents. However, all agents must represent information in exactly the same way in order to enable an information ex-change via the blackboard. Furthermore, the structure of a blackboard becomes more complex, if the complexity of the tasks that must be handled increases.

9 Contract Net:

In contrast to the blackboard model the contract net approach provides a more natural way of communicating. In this approach the agents communicate directly with each other in order to achieve their goals.

The communication process among the agents follows a particular scheme: First, an agent, which requires the assistance of other agents of the society, generates an ap-propriate request and sends it to other agents. The requesting agent is often called manager, because it controls many aspects concerning the subsequent communica-tion. It decides whether the request should be directed to some particular agents, i.e. point-to-point or one-to-many communication, or should be sent to the complete agent society, i.e. broadcast communication. The agents, which receive the message, analyse the request and make bids if they are able to fulfil the requested task. Ac-cording to these bids the manager selects the agents that should award the contract.

Then, the contractors accomplish the requested task, which possibly includes further requests to other agents, and generate appropriate answers. Therefore, the roles of managers and contractors are not pre-defined in an agent society and may change during a communication process. For example, a contractor becomes a manager if the contractor must also request the assistance of other agents.

Furthermore, agents cannot only communicate in order to request the assistance of other agents, but can also utilise communication for various issues such as knowl-edge exchange. The intention of a message is generally indicated by message types implementing speech acts, such asrequest,inform, andanswer. For additional information about the contract net approach and speech acts see [SMITH 1981] or [WOOLDRIDGEand JENNINGS1994].