Title: Multiagent Systems
1Multiagent Systems
- Shyh-Kang Jeng
- Department of Electrical Engineering/
- Graduate Institute of Communication Engineering
- National Taiwan University
2Reference
- M. P. Singh, Multiagent Systems A Theoretical
Framework for Intentions, Know-How, and
Communications, Springer Verlag, 1994 (Lecture
Notes in Artificial Intelligence, 799 ) - J. P. Bigus and J. Bigus, Constructing
Intelligent Agents with Java, 2nd ed., Wiley
Computer Publishing, 2001 - S. Russell and P. Norvig, Artificial
Intelligence A Modern Approach, Englewood
Cliffs, NJ Prentice Hall, 1995
3Multiagent Systems
- Have multiple intelligent agents working together
toward a common goal - Each agent has a limited view of the state of the
world - No global control
- Data is decentralized
- Computation is asynchronous
4Distributed Artificial Intelligence
- Distributed Artificial Intelligence is a modeling
of artificial intelligence with distributed
computing - Artificial intelligence
- Focus on the individual
- Uses psychology as a source of ideas,
inspiration, and metaphor - DAI
- Focus on the group
- uses sociology, economics, and management science
for inspiration
5Distributed Artificial Intelligence
- DAI also provides insights and understanding
about interactions among humans, as they organize
themselves into various groups, committees,
societies, and economies to improve their lives - DAI provides a means to construct artificial
economies that can test economists theories
before they are applied
6Distributed Artificial Intelligence
- DAI deals with open systems
- Open systems are subject to new information from
outside themselves, causing unanticipated
outcomes - Most real systems are open system
- DAI is the best way to characterize or design
distributed computing systems - DAI provides a natural way to view intelligent
system - The environment typically contains other
intelligent systems
7Research Directions in DAI
- Extending single-agent concepts to multiple
agents - e.g. extensions of belief revision and
nonmonotonic reasoning to groups of agents - Developing uniquely multiagent concepts for which
there are no single-agent analogs - e.g. negotiation, cooperation, content-based
communication, multiagent learning, design of
environments in which autonomous and
independently-developed agents are guaranteed to
interact fairly
8Main Desiderata of Distributed Systems
- Heterogeneous
- Preserve past investment in diverse systems
- Facilitate introduction of new technology
- Optimize platform usage by using the most
appropriate platform for each task - Locally Autonomous Components
- Manage security
- Enable incremental change
- Obey legal requirements
- Behave predictably and controllably
9Intentions, Know-How, and Communications
- Natural to humans
- Provide succinct descriptions of, and help
understand and explain, the behavior of complex
systems - Make available certain regularities and patterns
of action that are independent of the exact
physical implementation of the agents in the
system - May be used by the agents themselves in reasoning
about each other
10Blackboards
- A data structure that is used as the general
communication mechanism for the multiple
knowledge sources and is managed and arbitrated
by a controller - Each agent looks to the blackboard to pick up new
information posted by other agents, and it, in
turn, posts its results to the blackboard - An event model is used to signal when changes are
made to the blackboard and to notify the agents
that something has changed - Agents are very tightly coupled
11Communication
- Agents can communicate directly, provided that
they use the same language, or communicate
through an interpreter or facilitator - Two levels of language
- Syntax
- Semantics
- Each specific domain might have its own ontology
- XML gains acceptance in industry and across the
internet - In XML a Data Type Definition is used to define a
particular ontology
12Knowledge Query and Manipulation Language
- Most widely use agent communication language
(ACL) - Came out of the DARPA Knowledge Sharing Effort
- Focuses on message formats and message-handling
protocols between running agents - Defines the operations that agents may attempt on
each others knowledge bases and provides a basic
architecture for agents to share knowledge and
information through special agents called
facilitators
13Performatives
- KQML messages are called performatives
- Types of speech acts
- Directives
- Representatives
- Commisives
-
- Every KQML message explicitly states what
ontology is being used
14KQML Information Architecture
- Three levels
- Content
- Message
- Communication
- Example
- (ask-one
- sender joe
- content (real price sun.price())
- receiver stock-server
- reply with sun-stock
- language java
- ontology NYSE-TICKS)
Performative
Content level
Communication level
Message level
15KQML Facilitator
- Two agents who want to communicate using KQML
require the service of a KQML facilitator - Agents communicate with the facilitator using
standard KQML messages - Agents can register as providers of services or
information by using the advertise performative - Agents can ask the facilitator to recommend other
agents using the recommend, recruit, and broker
performatives - The facilitator provides a centralized meeting
-place for agents and establishes a community
where agents can interact
16Agent Standards
- Agent standards are developed to standardize
agent implementation and to ensure
interoperability - Two major efforts
- Foundation for the Intelligent Physical Agents
(FIPA) - Focused on agent-level issues
- Object Management Group (OMG) Agent Working Group
- Focus on object-level interoperability and
management - MASIF based on aglet system design
17FIPA Agent Platform
Software
Agent Platform
Agent
Agent Management System
Directory Facilitator
Message Transport System
Message Transport System
Agent Platform
18Cooperating Agents
- Break a problem into smaller pieces to be handled
by a collection of smaller and simpler agents - Will introduce a language barrier between agents
- Examples
- System management
- Electronic commerce
- Collaborative design systems
19Multiagent Planning
- Extend traditional AI planning algorithms by
including concepts of joint intentions and
commitments among agents - Joint intention means that every team member is
committed to achieving some goal while also
believing the other team members are pursuing
that goal - Joint commitment is that the team members
exchange messages to update their mutual beliefs
and synchronize their behavior - Centralized planner approach
- Explicit models of teams, teamwork, and team
interactions
20Multiagent Planning
- Requires agents share substantial amounts of
information, incurring significant communication
and processing overhead - If the environment changes frequently,
re-planning is required - A combination using the team structure and roles
to limit communications, along with distributed
planning techniques will provide the best
solution to building multiagent team
21Competing Agents
- Everyones agents want to get the best deal for
their owners - The winner may be the one with the most
intelligence, the most specialized knowledge
about the task it is trying to perform, the most
powerful reasoning system to apply that knowledge
to problem solving in the domain, and in all
likelihood, the one that can learn from
experience and get better over time, if the
environment is fair to all agents
22Contract Net Protocol
- Manager agent calls for bids to complete a task
(announcement) - Contractor agents evaluate the announcement and
optionally respond with their bids - The manager agent selects one of the contractor
(bidder) agents - The contractor agent performs the task and
returns the results
23Weakness of Contract Net Protocol
- The contractor agent cannot bid for multiple jobs
at the same time - If the contractor got the job receives a better
offer, the contractor can break his commitment to
the original manager agent - This forces another another cycle of bidding
- If an agent is engaged in simultaneous
conversations with other agents, the bookkeeping
and overhead can be prohibitive
24Some Other Protocols
- Auction
- Seller initiates the auction and monitor the
process while buyers respond with offers to the
auctioneer - Has strict rules governing the behavior of the
auctioneer and the selection of a buyer - Bargaining
- Proposals and counter proposals may be offered
back and forth until both parties agree or
disagree
25Speech Act
- The action of producing language for
communication is called speech act - Forms (e.g. Group of agents in wumpus world)
- Inform Theres a breeze here in 3, 4.
- Query Have you smelled the wumpus anywhere?
- Answer Yes, I smelled the wumpus in 2, 5.
- Request or command Could you help me carry this?
- Promise or offer I will shoot the wumpus.
- Acknowledge OK
- Share That wumpus needs some deodorrant!
26Formal Language
- Defined as a set of strings
- A string is a sequence of symbols taken from a
finite set called the terminal symbols - Most grammars are based on the idea of phrase
structure - A string is composed of substrings called
phrases, which come in different categories - Phrases are convenient handles on which we can
attach semantics - Categorizing phrases helps us to describe the
allowable strings
27Sentence
- Sentence (S) is a phrase category representing
the allowable string - It can be constructed via combining a noun phrase
(NP) and a verb phrase (VP) - Categories like NP, VP, S are nonterminal symbols
- Nonterminal symbols can be used in a grammar rule
like the rewrite rule - S ? NP VP
28Component Steps of Communication
- Speaker S wants to convey proposition P to hearer
H using words W - Intention S wants H to believe P
- Generation S chooses W to express P
- Synthesis S utters W
- Perception H perceives W
- Analysis H infers that W has possible meanings
P1, P2, , Pn - Disambiguation H infers that S intended to
convey Pi - Incorporation H decides to believe Pi
29Example of Communication Processes
30Two Models of Communication
- Encoded message
- The speaker has a definite proposition P in the
mind and encodes the proposition into the words W - The hearer then tries to decode W to retrieve P
- Situated language
- The meaning of W depends on both the words and
the situation - Encoding and decoding functions take an extra
argument representing current situation
31Telepathic Communication
ASK(KBB, Q)
TELL( KBA, P)
Agent A
Agent B
Percepts
KB
KB
Percepts
Actions
Actions
Reasoning
Reasoning
32Problems in Telepathic Communication
- There has to be a naming policy so that A and B
do not simultaneously introduce the same symbol
to mean different things - There has to be some way of relating symbols
introduced by different agents - If communication is free and instantaneous, and
all agents broadcast each new fact to everyone
else, all agents will have the same knowledge.
But in most cases, the bandwidth is limited, and
they are often out of touch. Then they will have
the problem of deciding what facts are new - Telepathic communication is vulnerable to
sabotage, e.g. A tells lies and makes B believes
anything
33Communicating using Language
Language
Agent A
Agent B
Percepts
KB
KB
Percepts
Actions
Actions
Reasoning
Reasoning
34Communicating using Language
- Avoids the sabotage problem
- Infeasible for everyone to have the same internal
language - External communication language can be different
from the internal language - Agents need not agree on any internal symbols
- Brings the problems of generation and analysis
- Still has problems in reconciling the differences
between different agents knowledge bases
35A Typical Dialogue
- ROBOT SLAVE MASTER
- I feel a breeze Go to 1,2
- Nothing is here Go north
- I feel a breeze and I
- smell a stench and
- I see a glitter Grab it
36A Simple Communicating Agent
- void SimpleCommunicatingAgentrun()
- percept( percept )
- KB.tell(KB.makePerceptSentence(t))
- words percept.SpeechPart()
- semantics
- Disambiguate(Semantics(Parse(words))
- if semantics.type() Command
- action semantics.content()
- else if semantics.type() Statement
- KB.tell(semantics.content())
- action KB.ask(KB.makeActionQuery(percept,t))
else if semantics.type() None - action KB.ask(KB.makeActionQuery(percept,t))
description percept.description() - Action.Compound(Say(description),Do(action))