Rapid advances in information and communication technologies, notably Internet networking and wireless communications, are providing a new infrastructural and communications means to achieve higher levels of automation, flexibility and inte- gration in the development of distributed software applications. To mutually refine and exploit these technologies, multiagent systems (i.e. systems of multiple agents), according to Jenningset al. [112], are being advocated as a next generation models for engineering complex, distributed systems [242, 113].
Agent-based systems could potentially represent a new way of analyzing, de- signing, and implementing complex software systems in a network-centric infras- tructure. It is claimed as a possible basis framework to bring together and extend the vast body of knowledge from artificial intelligence, computer and control sciences, operations research and related fields, such as economics and the social sciences
20 Car Vehicle is_a is_a is_a Bus Van
Figure 2.5: Generalisation relationship.
(reference Proceedings of the ICMAS’ 2000 1). Examples of potential agent-based
systems are: personalized email filters, air-traffic control systems and command and control systems. The potential applications of agents in many small and complex systems are on hand. However, there are also concerns that certain aspects of agents are being dangerously over-hyped and if not controlled, may suffer the same back- lashes as artificial intelligence (AI) in the 1980s.
2.4.1
What is an agent?
There is no universally agreed definition of the term agent. According to [243], an agent is defined as ‘a computer system that is situated in some environment and is capable of autonomous action in this environment in order to meet its design ob- jectives’. In this chapter, we will mainly focus the discussion on software agents. Software agents can occupy many different environments, such as in the Internet or within a core local area network. The autonomous action of an agent is its ability to control its own state and also can interact with humans, other systems or other agents. Agents are flexible in the sense that they are [242]:
responsive: agents should perceive their environment and respond in a timely fashion to changes that occur in it;
21
proactive: agents should not simply act in response to their environment, they should be able to exhibit opportunistic, goal-directed behaviour and take the initiative where appropriate;
social: agents should be able to interact, when appropriate, with other artificial agents and humans in order to complete their own problem solving and to help others with their activities.
Hence, an agent that has all the attributes of these flexibility parameters, is also known as an intelligent agent2.
2.4.2
What is a multi-agent system?
Multi-agent systems refer to systems with multiple agents. In general, the study of multi-agent systems [236] involves three mutually dependent areas, namely: agent model and architecture, communication languages and interaction protocols. An agent model refers to its internal architecture of integrated data structures and func- tionalities that should ideally support planning, reacting and learning, while a multi- agent architecture, in general, specifies an infrastructure for coordination or collabo- ration among the agents. Communication languages enable agents to describe their messages meaningfully for knowledge exchange, while interaction protocols enable the agents to carry out structured exchanges of messages.
2.4.2.1 Multi-agent approach to distributed problem solving
When adopting an agent-based approach to distributed problem solving (DPS), it is clear that most problems will require multiple agents to represent the decentralized (or distributed) nature of the problem. Moreover, these agents will need to interact with one another, to achieve their common or individual goals and to manage, so as to ensure a proper temporal order3among dependencies that may arise from being
situated in a common environment [236, Chapter 2].
2.4.2.2 Multi-agent negotiation
One means of interaction is negotiation. By negotiation, we mean that agents work out, communicatively, an agreement that is acceptable by all agents. In distributed problem solving, negotiation is one way that agents use in cooperation to solve the problem. Generally, an automated means (or reasoning mechanism) of negotiation 2An intelligent agent is a software entity capable of flexible autonomous actions to meet their design
objectives (goals); autonomous in that it requires minimal or no human intervention and flexible (or in- telligent) in that each agent can react to perceived changes in a common environment, interact with other agents when necessary, and take proactive steps towards its design goals agent [236, Chapter 1]
3In our view, what is proper is domain dependent, and is decidedly a subjective opinion of the agent
22
for an agent can be implemented as a negotiation protocol within which a decision-
making model (or logic) over the objects of negotiation resides.
In the literature on general negotiation frameworks, agents that can negotiate with exact knowledge of each other’s cost and utility functions, or such knowledge learnt in the initial step of interaction, have been proposed [131]. There are agents that negotiate using the unified negotiation protocol in worth-, state-, and task-driven domains, where agents look for mutually beneficial deals to perform task distribution [198, 251]. In negotiation via argumentation (NVA), the agents negotiate by send- ing each other proposals and counter-proposals. In one NVA approach [132], these proposals are accompanied by supporting arguments (explicit justifications) formu- lated as logical models. In another NVA approach [116], the distributed constraint satisfaction problem (DCSP) algorithm [247] provides the computational model, ex- tended with the supporting arguments (accompanying the proposals) formulated as local constraints. In yet another approach [208], agents can conduct NVA in which an agent sends over its inference rules to its neighbour to demonstrate the soundness of its arguments. Finally, there are also negotiating agents that incorporate AI tech- niques (e.g. auction mechanisms and metaphor-based mechanisms that attempt to mimic human practical reasoning in some specific ways).
For a complete review of agent negotiation, readers may refer to Jenningset al.
[112].