





































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An introduction to multiagent systems and distributed ai, focusing on the qualities of an agent, autonomy, agent-oriented programming, communication languages, coordination mechanisms, and distributed planning. It also discusses the importance of studying these topics and provides examples of their applications.
Typology: Study notes
1 / 45
This page cannot be seen from the preview
Don't miss anything!






































Chris BrooksDepartment of Computer ScienceUniversity of San Francisco^ Department of Computer Science — University of San Francisco – p.1/
What is an agent? What are MAS/DAI problems? Communication languages Coordination^ Contract Net^ Distributed Planning Societies of agents
Department of Computer Science — University of San Francisco – p.2/
Autonomy Adaptation Goal-directed behavior Has “beliefs” and “intentions” Proactive Situated within an environment
Department of Computer Science — University of San Francisco – p.4/
Autonomy is a quality often attributed to agents. An autonomous agent is able to rely on its percepts andpast experience to make decisions, rather than asking ahuman for help. This is a thorny area - most agents will not have completeautonomy.^ When might we not want an agent to have completeautonomy? Challenge: Designing an agent that can reason about itsown autonomy and know when to ask for help.
Department of Computer Science — University of San Francisco – p.5/
Why bother with all this? We already know how to writeprograms. Agents tend to be
open-ended^
programs Difficult to specify in advance what they should do in allcases. It’s helpful to talk about them
as if^ they were intelligent. “The robot wants to find the power supply.” “The server believes that the client has reset.” This assigning of mental states to programs is called the intentional stance.
Department of Computer Science — University of San Francisco – p.7/
Treating a program as an agent lets us work with it at the knowledge level We can program in terms of what an agent ’knows’ or’wants’ or is ’trying to achieve’^ We need a software layer that gives us this flexibility.^ See the AI class for more on building this layer. This can help us:^ Manage complexity in our own programs^ Interact with other programs whose internal operationsare opaque to us.
Department of Computer Science — University of San Francisco – p.8/
NASA^ Coordinating Mars rovers^ multiple orbiting satellites Scheduling^ Robots in factories^ Power generation and distribution^ Troop movement and deployment Financial markets P2P networks etc
Department of Computer Science — University of San Francisco – p.10/
Working with agents at the knowledge level creates theneed for a communication language and protocol at thislevel.^ Built on top of lower-level protocols: HTTP, SOAP, etc. Goal: describe a sequence of messages declaratively.^ What is said, rather than the format of the message.
Department of Computer Science — University of San Francisco – p.11/
A common approach in the agent communicationlanguage (ACL) community has been to develop protocolsbased on^ speech acts
KQML is an example of this approach.^ Note: KQML has been largely superseded by the FIPAACL, but they work similarly. Provides a framework which separates the transmission offacts from the representation of those facts. Allows agents with different capabilities to implementdifferent subsets of the language.
Department of Computer Science — University of San Francisco – p.13/
Most speech-act-based protocols can be divided into twotypes of communicative actions: tell and ask These actions are called performatives.^ Tell allows one agent to provide information to another.^ This may be unsolicited, or in response to an ask.^ Can be subdivided into inform, explain, confirm, refuse,bid, reply^ Each of these have their own particular semanticsregarding the
commitment^
that an agent is making to this communication.
Department of Computer Science — University of San Francisco – p.14/
Commitment is a key concept in agent design. Commitment is used (in some cases) to separate
goals
from^ intentions^ Goals are things you’d like to have^ Intentions are things you’ve set out to do. When an agent makes a commitment to a goal, itbecomes an intention. Agents may make commitments to other agents, therebyadopting intentions on their behalf.These commitmentsare binding.
Department of Computer Science — University of San Francisco – p.16/
Ask allows one agent to request information or services ofanother. This can be subdivided into request, command, query Each message in KQML (or FIPA ACL) has an associatedprotocol. Compliant agents must agree to follow this protocol.
Department of Computer Science — University of San Francisco – p.17/
(request:sender^ (agent-identifier
:name^ A) :receiver^ (set^ (agent-identifier
:name^ B)) :content"((action^ (agent-identifier
:name^ B) (deliver^ box^
(loc^12 19))))" :protocol^ fipa-request
:language^ fipa-sl :reply-with^ order567)(agree:sender^ (agent-identifier
:name^ B) :receiver^ (set^ (agent-identifier
:name^ A)) :content"((action^ (agent-identifier
:name^ B) (deliver^ box^
(loc^12 19))) (priority^ order
low))" :in-reply-to^ order567:protocol^ fipa-request
:language^ fipa-sl)
Department of Computer Science — University of San Francisco – p.19/
Uses a lisp-style syntax.^ Like most protocols, wrappers exist in most high-levellanguages. The message is structured as a set of key-value pairs in alist, rather than a fixed size and order. The language in which the content is represented isindependent of KQML or FIPA ACL.^ Treated as a string to be interpreted.^ Might be a logical representation, XML/RDF, SOAP, orexecutable code.
Department of Computer Science — University of San Francisco – p.20/