context: "Although there are situations where an agent can operate usefully by itself, the increasing interconnection and networking is making such situations rare"(Huhns). The idea is then to use the metaphor of agents living and interacting in a society to solve distributed AI problems.
However, simply decomposing a problem into simpler modules, which is good engineering practice, cannot always be considered a multi-agent approach. Agents are not just modules. Also, keep in mind that communication in distributed systems is costly.
- when centralized approach fails
- decomposition of a complex problem
- when different expertise and functionalities are available
- concurrent resolution
- fault-tolerance: redundancy
- dynamic systems, open systems
- physically distributed systems
- the whole is bigger than the sum of its parts
The nature and type of interaction between agents can depend on many different factors:
A MultiAgentSystems designer should therefore analyze the above factors in order to identify the type of situations that are either likely to emerge or desirable:
- the nature of agents: ReactiveAgents vs CognitiveAgents. This also determines the complexity of the AgentCommunicationLanguage.
- the situation: compatibility of goals, scarcity of resources, competence. Depending on those factors, interaction can range from indifference to cooperation, and even competition.
The designer will then provide adequate InteractionProtocols to deal with such situations.
back to SoftwareAgentCourse
(last edited November 1, 2005)
Find Page by browsing or searching