• Aucun résultat trouvé

Agent Interaction

Dans le document Software agents in network management (Page 56-61)

As soon as the agents have to interact directly, coordination problems may arise [GHN+97]. Some reasons are that agent actions can be correlated or have to be syn-chronized, and that agents do not own a global view of the system. Therefore, they may initiate conflicting activities if they do not coordinate their actions. The term coordina-tionis used as the most general concept for agent interaction and implies that agents are able to “avoid extraneous activity by reducing resource contention, avoiding livelock and deadlock, and maintaining applicable safety conditions” [Wei99].

Several aspects of agent interaction and coordination are surveyed in the following sections.

2.5.1 Cooperative vs. Self-interested Agents

Whether agents are cooperative or self-interested widely affects the design of an agent-based application. Aself-interested agentworks in a way that maximizes its own profit without any consideration to the global benefit of the overall agent system. The profit of a self-interested can be measured using either a quantifiable metric such as an earning function, or non qualitative, such as the degree of accomplishment of the agent’s own goals. A self-interested agent would not act on behalf of another agent ‘for free’, whereas acollaborative agentworks for the benefit of the overall agent system.

A particular kind of self-interested agents are called hostile agents. Ahostile agentis a self-interested agent that in addition, has its own profit increase by decreasing the other agents’ profits.

Of course, there are no general rules that help choosing that kind of agents or the other. However, it is natural to use collaborative agents to model entities inside the same

party while self-interested can be used to model different competitive parties. Durfee provides a survey of cooperation mechanism for collaborative agents in Chapter 3 of [Wei99], while Sandholm provides a survey of decision making among self-interested agents in Chapter 5 of the same reference.

2.5.2 Reactive vs. Deliberative Coordination

In [CD97] (reported in [GHN+97]), Chaib-Draa distinguished between routine, familiar and unfamiliar situations to achieve coordination. Routine situationsare the usual sit-uations encountered in real life. Familiar situationsare also known situations but they are less usual and are encountered only in exceptional cases. Unfamiliar situationsare completely unknown situations for which coordination is not directly governed by social laws. The basic point in [CD97] is that coordination is easier in routine than in unfamil-iar situations. Routine and familunfamil-iar situations are governed by social laws that are directly derived from the real world. For example, in many countries, cars coming from the right hand direction have priority over the other cars. Such social laws can be encoded inside the agents using procedures and coordination patterns that map directly the perceived routine situation to the required coordination actions that have to be taken by the agent.

If routine situations are supported by these procedures and coordination patterns, then familiar situations can be governed by reactive rules and unfamiliar situations can be handled using social knowledge and learning techniques applied on familiar situations.

The moral out of this distinction between routine, familiar and unfamiliar situations in agent coordination is that cooperation can be either reactive or deliberative. Reac-tive cooperation is directly encoded into the agent behavior. Therefore, it leads to ef-ficiently executed coordination patterns, but cannot deal with unknown situations. In contrast, deliberative cooperation, although requiring sophisticated AI techniques, al-lows to deal with contingency situations that require the agents to infer a suitable coor-dination method at runtime. Coorcoor-dination methods are adopted on the fly and are not necessarily known at the design time of the agent.

Note however that deliberative cooperation is very complex to design since it implies that the agents are able to collectively detect a conflict situation, and then to globally reach a consensus on what coordination scenario to be used. Reactive deliberation is much simpler to design and in most practical applications, it is quite sufficient for the ap-plication requirements, as soon as these requirements are well specified at design time.

2.5.3 Global Problem Solving

Multi-agent planning is a process during which the agents agree on a global plan that allows to achieve a common global goal. It can be either centralized or distributed. In the centralized approach, the agents send their individual plans to a central agent that checks for conflict and synchronization problems. The central agent refines the set of plans in a way they can be executed in a coordinated way.

In the distributed approach, agents build their plans by communicating together and updating their respective beliefs on the other agents. The process continues until all the agents agree on a global plan which is then executed.

The produced plan can itself be either centralized or distributed. This means that the execution of the produced plan can be either undertaken by a single agent, or by an agent system that can potentially be different from the agent system that produced the plan.

2.5.4 Delegation-based Cooperation (Task Sharing)

There are many situations in which it is important that an agent delegates tasks to other agents. The most immediate reason is load balancing, i.e. thedelegator agentis over-loaded and decides to pass some tasks to other agents supposed to be less busy. Another reason, is that agents may be specialized in accomplishing different types of tasks, and therefore, the delegator agent may simply not have the required skills to achieve the tasks, which then must be delegated to other suitably skilled agents. Moreover, delegation may be adopted simply because agents are affected to domains and that an agent cannot achieve tasks that involve another agent’s domain. This type of delegation is known as domain-based delegation.

Four steps are involved in delegation:

1. Task decomposition:The delegator breaks a global task down into subtasks in or-der to determine which subtasks have to be delegated, and which it can achieve by itself. In simple cases, task decomposition can be performed at the design time of the agent application. In this case, the decomposition process is directly embedded in the agent code. In more complex cases, the agent task can be specified using an abstract expression in the form of a goal. In this case, the agent has to decompose the task at execution time, for example using planning techniques.

2. Task allocation: Once subtasks are identified, the delegator identifies which tasks are appropriate to be delegated. Then for each delegated subtask, adelegatee agent has to be designated. In most of the cases, delegatees can be easily designated using either their known capabilities or their associated resources and domains.

However, in other cases, a dynamic task allocation mechanism has to be used. One of the most used mechanisms is the Contract Net Protocol which is exposed in a forthcoming subsection (2.5.6).

It is essential to decide whether the delegatee agent has the permission to refuse the delegated task, or just has no choice other than to accept it. The former case is mostly used when agents are considered as peers. The latter case assumes that the delegator agent has a higher-level authority according to a certain agent hierarchy, that could be static or dynamic.

3. Task accomplishment: The delegatee agent achieves the required task, possibly by performing on its turn task decomposition and delegation recursively. In gen-eral, the delegatee agent has to notify the delegator of the progress of achieving the subtask. Depending on the delegation protocol, the delegatee may inform the del-egator of such information as the time when the subtask is started, whether it is decomposed or not, and in this case, to whom the subsubtasks are delegated, the priority accorded to the subtask, etc. Such information can be essential for the del-egator to synchronize between the delegatee agents, and to insure that the global task is being correctly conducted in a distributed coordinated manner. In general, it is sufficient to notify the delegator just of the final result of the subtask. In other cases, this is not necessary when the delegator may conclude the achievement of the task by observing the environment, for example by waiting for a connection to be closed or a socket to be freed.

4. Result synthesis: Eventually, when the subtasks are completed by delegatees, the delegator synthesizes the collected results. Note that intermediate results may con-tinuously arrive to the delegator and therefore, the synthesizing might be a contin-uous process. It may also include recovering alternatives applicable in the case that a delegatee agent fails to accomplish its delegated subtask.

2.5.5 Voting

Voting is a suitable mechanism for global decision making within a multiagent system. In general terms, every agent votes for or provides certain solutions. Afterwards, and based on agent votes, one solution is selected according to defined criteria. All the agents in the election community have to abide to the adopted solution. Therefore, voting is a practical mechanism to reach consensus between a community of agents.

2.5.6 Contract Net Protocol

CNP is a widely-adopted agent interaction protocol that provides an elegant solution to the problem of resource and task allocation between agents [Smi80]. Amanager agent wants to find candidates to perform a certain task. It sends a task announcement to the set ofcontractor agentsthat are likely to be interested in undertaking this task. Each contractor may submit an offer to achieve the task with a corresponding bid. The man-ager examines the contractors’ offers and selects the best bid. Variations to CNP may allow the contractor to refuse to achieve the contracted task even when its bid is selected or allow the manager to refuse all the bids, and to formulate another more suitable an-nouncement. This is a particular way to implement negotiation. A survey of CNP and its variations as well as a formal model are provided in Chapter 5 of [Wei99].

2.5.7 Market Mechanisms

One of the advantages of market mechanisms [Wel93] is that they avoid direct agent communications. Instead, a market institution is installed in which agents can trade goods. Producer orseller agentssubmit their bids in the marketplace to maximize their profits by selling their produced goods. Consumeror buyer agentssubmit their bid to buy goods with the lowest prices possible according to their budgetary constraints. With such market economy metaphor, agents model self-interested decision makers that act either as producers or consumers of resources. Consumers may of course use the bought resources in order to produce other goods, which can later be sold. The advantages of market-based control are the direct support of ownership and accounting of resource usage [GJVG99], and agent anonymity. Moreover, the number of agents my change dy-namically within the system.

An important aspect in market-based mechanism is the equilibrium state. The pur-pose from using market-based agent control is to eventually converge to an equilib-rium status, in which resource and task allocation is achieved in a near sub-optimal way [Wei99].

Auctioning is another market mechanism in which anauctioneertries to sell a good with the highest-possible price in a community of competitive bidders. Several auction mechanisms can be used: English, Dutch and double auction. As an example, the sealed-bid first-price auction is a variation in which sealed-bidders are free to submit one sealed-bid each for the item to be sold. This item is then awarded to the highest bidder at the price of his bid.

Bargaining is a market mechanism that supports both cooperative and competitive agents. InAxiomatic bargaining, “desirable properties for a solution, called axioms of the bargaining solution, are postulated, and then the solution that satisfies these axioms

is sought [through the bargaining process]” [Wei99]. Therefore, agents in axiomatic bargaining are cooperative. In contrast,strategic bargainingmakes use of competitive agents that look to maximize their own utility functions.

More references on auctioning, bargaining and market mechanisms in general can be found in [GHN+97] and in Chapter 5 of [Wei99].

2.5.8 Coordination without Direct Communication

There has been some research on achieving coordination without direct communication.

This kind of coordination is achieved with the agents observing the environment and detecting the changes caused by the other agents. Consequently, an agent can deduce the activities of the other agents and coordinate its actions accordingly. Of course, only particular types of agent applications could be modeled using this mechanism. However, coordination without communication has the advantage of avoiding distribution-level problems such as synchronization and conflict resolution, which are due to inter-agent communication.

Summary

What we presented in this section on agent interaction is a representative set of coordina-tion techniques that can be used within an agent system. An important factor that affects the way agents interact is whether agents are self-interested or cooperative. Based on this criterion, the interactions in an agent system can be designed using the many ways ex-posed above. Another important factor is the required ability for the agents to handle unfamiliar situations to coordinate their activities. This allows to decide whether a de-liberative coordination is necessary or a reactive coordination is sufficient. A final aspect that has to be considered is agent heterogeneity. Coordination may be complicated if agents are different in their architectures, properties or behavior. A brief description of heterogeneity levels is presented in the next section.

Dans le document Software agents in network management (Page 56-61)