Multi-agent systems are those made up of many
interacting computing elements, called agents, that interact with each other by
the exchange of messages through some computer network infrastructure. They are quite a new concept to
computer science - they have been studied since about 1980, until the sub-field was more widely recognised
during the mid-1990s. Since then, due to the belief that these systems are an ideal software through which
we can exploit all the options that large distributed systems offer,such as the Internet, Multi-Agent Systems
have experienced rapid growth, with their ideas being applied in several domains.
In order for agents
to interact successfully, they need to be able to cooperate, coordinate and negotiate. Hence,as an emerging advancement
into distributed artificial intelligence, Multi-Agent Systems promote the concept of coordination and communication of
computational agents.However, like any other system,there exist common objections to Multi-Agent Systems.
An agent is a computer system situated in some environment, capable of taking independent action on behalf of its user or owner to achieve objectives.This means,that it knows by itself how it is to achieve its design aims;it doesn't need to be told what to do. The users or owners will usually have different goals,so we can say that agents are computational,information processing entities.
We do need to take into account, however,the two main problems associated with building agents.One is that of agent design, which concerns the way in which we can build agents, capable of operating independently,and autonomously in order to successfully carry out the tasks that they are delegated;the second one is that of society design, and this is about building agents that are able to interact with other agents through different ways (i.e. cooperation, coordination, and negotiation),to carry out delegated tasks,specially when their interests differ.
The above diagram illustrates a multi-agent system that is used to compute a mathematical formula.The formula is separated into its various mathematical parts and each component is calculated by a separate agent.The agent that initially breaks up the formula will also be responsible for combining the various parts once these are evaluated, and outputting the final answer to the user.
The diagram helps summarise the way agents operate in the system. The agent takes the input from the environment, and produces the actions that affect it as output.This interaction is typically a continous, non-terminating one.