One important slogan in the multi-agent systems community is that: "There's no
such thing as a single agent system". This is because interacting systems are needed in the everyday computing world. Almost every
system contains a number of sub-systems that have to interact with each other (through communication) in order to carry out tasks
successfully. Interaction situations are various, such as one robot helping another, or an exchange of data between servers,
simultaneous use of a printer by two programs, collision of two vehicles…
Every agent has a different "sphere of influence", which means it has control over different parts of an environment; but these
parts may coincide and lead to dependency relationships arising between the agents. Other relationships can also take place, such
as "power" relationships, where one agent is like a "boss" to another.
The three main elements in interaction are the nature of goals, access to resources,
and the skills of agents, leading to a number of different cases of interaction
between agents, as outlined below.
- Independence
This occurs when agents have
compatible goals (i.e. achieving one doesn't stop the other one from being achieved), and
sufficient resources and skills. This obviously doesn't pose any problems from the multi-agent point of view, and is a
neutral situation, without any effective interaction.
- Simple collaboration
This takes place when there aren't sufficient skills. Simple collaboration therefore consists of allocation of tasks and knowledge
sharing between agents.
- Obstruction
Insufficient resources cause this to happen. Agents get in each other's way in accomplishing their tasks, and don't need each other.
Solving this requires specific techniques for coordination of actions. Examples include air traffic control, cars on the
road …
- Coordinated collaboration
This takes place when the agents' goals are
incompatible (i.e. achieving one means the other can't be achieved) and there are
insufficient skills. Agents have to coordinate their actions to take advantage of shared skills. It is common in network control,
design and manufacture of industrial products…
- Pure individual competition
With this kind of interaction, agents' goals are incompatible, so agents have to struggle or negotiate in order to achieve them.
Resources aren't limited, so there aren't specific problems, but the best competitor wins; for example, a race.
- Pure collective competition
This is similar to individual competition, but skills are insufficient as well in this type of competition. Agents therefore
need to form coalitions or associations in order to achieve their goals. Examples include team competitions such as relay races.
- Individual conflict over resources
When resources can't be shared, and there is a situation where there aren't sufficient resources and goals are incompatible, individual
agents want to acquire resources for themselves alone. For example,
conflict over territory or some dominating financial position.
- Collective conflict over resources
When there are insufficient resources, insufficient skills, and agents' goals are incompatible, coalitions between agents struggle against
each other to obtain a monopoly of a good, a territory, or a position. This is exemplified by forms of war, hunting, and all other cases
where the objective is to obtain possession of something.
Overall, multiple agents may interact with the same environment. Coordination of their actions can be achieved by the effects of the actions
of one agent, as perceived by other agents.