Multiagent Systems and Distributed AI: An Overview, Study notes of Software Engineering

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

Pre 2010

Uploaded on 07/31/2009

koofers-user-y12-1
koofers-user-y12-1 🇺🇸

10 documents

1 / 45

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Distributed Software Development
Multiagent Systems I
Chris Brooks
Department of Computer Science
University of San Francisco
Department of Computer Science University of San Francisco p.1/??
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d

Partial preview of the text

Download Multiagent Systems and Distributed AI: An Overview and more Study notes Software Engineering in PDF only on Docsity!

Distributed Software Development^ Multiagent Systems I

Chris BrooksDepartment of Computer ScienceUniversity of San Francisco^ Department of Computer Science — University of San Francisco – p.1/

19-0:^ Outline

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/

19-2:^ Qualities of an agent

Autonomy Adaptation Goal-directed behavior Has “beliefs” and “intentions” Proactive Situated within an environment

Department of Computer Science — University of San Francisco – p.4/

19-3:^ Autonomy

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/

19-5:^ Usefulness of the agent

metaphor

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/

19-6:^ Goals and beliefs and intentions

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/

19-8:^ Some examples

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/

19-9:^ Communication Languages

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/

19-11:^ Speech acts

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/

19-12:^ Tell and Ask

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/

19-14:^ Commitment

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/

19-15:^ Tell and Ask

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/

19-17:^ Example

(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/

19-18:^ Points to Emphasize

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/