Slides on Multiagent Systems I - Distributed Software Development | CS 682, Study notes of Software Engineering

Material Type: Notes; Class: Distributed Software Develop; Subject: Computer Science; University: University of San Francisco (CA); Term: Spring 2005;

Typology: Study notes

Pre 2010

Uploaded on 07/30/2009

koofers-user-mfx
koofers-user-mfx 🇺🇸

9 documents

1 / 8

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
Departmentof 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
Departmentof Computer Science —University of San Francisco p.2/??
19-1: Distributed AI
Distributed AI (more often called Multiagent Systems
these days) is the study of how multiple agents can and
do interact with each other.
May include both human or computational agents.
May be a closed or an open system
Agents may be cooperative or self-interested.
Departmentof Computer Science —University of San Francisco p.3/??
19-2: Qualities of an agent
Autonomy
Adaptation
Goal-directed behavior
Has “beliefs” and “intentions”
Proactive
Situated within an environment
Departmentof 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 and
past experience to make decisions, rather than asking a
human for help.
This is a thorny area - most agents will not have complete
autonomy.
When might we not want an agent to have complete
autonomy?
Challenge: Designing an agent that can reason about its
own autonomy and know when to ask for help.
Departmentof Computer Science —University of San Francisco p.5/??
19-4: Agent-oriented Programming
We can also think of agents as a programming paradigm.
The next logical step after objects.
“Objects do it for free, agents do it for money.”
Objects are receivers of actions, agents are actors.
It’s less useful to think of agent as an objective label than
as a subjective description.
Agency is a useful abstraction for us as programmers.
Allows us to think about a program at a higher level.
Treat something as an agent if that helps to understand,
predict, or explain its behavior.
Thermostats as agents
Departmentof Computer Science —University of San Francisco p.6/??
pf3
pf4
pf5
pf8

Partial preview of the text

Download Slides on Multiagent Systems I - Distributed Software Development | CS 682 and more Study notes Software Engineering in PDF only on Docsity!

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/

Outline 19-0:

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/

Distributed AI 19-1:

Distributed AI (more often called Multiagent Systems these days) is the study of how multiple agents can and do interact with each other. May include both human or computational agents. May be a closed or an open system Agents may be cooperative or self-interested. ?? Department of Computer Science — University of San Francisco – p.3/

Qualities of an agent 19-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 19-3:

Autonomy is a quality often attributed to agents. An autonomous agent is able to rely on its percepts and past experience to make decisions, rather than asking a human for help. This is a thorny area - most agents will not have complete autonomy. When might we not want an agent to have complete autonomy? Challenge: Designing an agent that can reason about its own autonomy and know when to ask for help.

Agent-oriented Programming 19-4:

We can also think of agents as a programming paradigm. The next logical step after objects. “Objects do it for free, agents do it for money.” of actions, agents are actors. receivers Objects are label than objective It’s less useful to think of agent as an description. subjective as a Agency is a useful abstraction for us as programmers. Allows us to think about a program at a higher level. Treat something as an agent if that helps to understand, predict, or explain its behavior. Thermostats as agents

Usefulness of the agent 19-5:

metaphor

Why bother with all this? We already know how to write programs. programs open-ended Agents tend to be Difficult to specify in advance what they should do in all cases. they were intelligent. as if It’s helpful to talk about them “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/

Goals and beliefs and intentions 19-6:

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 operations are opaque to us. ?? Department of Computer Science — University of San Francisco – p.8/

Why solve DAI problems? 19-7:

So a DAI or MAS problem involves a number of agents interacting with each other. Why not construct a centralized system? Complexity Geographic or temporal separation of components Separate ownership Dynamic or changing system ?? Department of Computer Science — University of San Francisco – p.9/

Some examples 19-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/

Communication Languages 19-9:

Working with agents at the knowledge level creates the need for a communication language and protocol at this level. 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.

Layers of communication 19-10:

We can distinguish between several layers at which communication must be specified. Method: this refers to the underlying layer that will be used to transport messages. TCP, HTTP, RMI, UDP, etc. Syntax: this refers to the way in which a message is structured.

XML, KQML

of a message, meaning Semantics: This refers to the usually as related to other messages. RDF, OWL, ontologies. Pragmatics: This refers to the way that a message is used as part of a larger protocol or dialogue.

KQML

Example 19-17:

(request A) :name (agent-identifier :sender B)) :name (agent-identifier (set :receiver :content B) :name (agent-identifier "((action 19))))" 12 (loc box017 (deliver fipa-sl :language fipa-request :protocol order567) :reply-with (agree B) :name (agent-identifier :sender A)) :name (agent-identifier (set :receiver :content B) :name (agent-identifier "((action 19))) 12 (loc box017 (deliver low))" order567 (priority order567 :in-reply-to fipa-sl) :language fipa-request :protocol ?? Department of Computer Science — University of San Francisco – p.19/

Points to Emphasize 19-18:

Uses a lisp-style syntax. Like most protocols, wrappers exist in most high-level languages. The message is structured as a set of key-value pairs in a list, rather than a fixed size and order. The language in which the content is represented is independent of KQML or FIPA ACL. Treated as a string to be interpreted. Might be a logical representation, XML/RDF, SOAP, or executable code. ?? Department of Computer Science — University of San Francisco – p.20/

ACL questions 19-19:

The development of languages for agent communication has received a great deal of research attention (and funding!) Issues: How many performatives are needed? How rich does communication have to be? How can agents exchange knowledge (ontologies) stored in different formats? What level of interaction is needed in a general agent language? What tradeoffs exist between generality and expressivity? Can domain-specific needs be removed from an ACL? ?? Department of Computer Science — University of San Francisco – p.21/

Coordination 19-20:

Coordination turns out to be one of the most fundamental problems in MAS. Coordination can occur because: Agents must work together to solve some larger problem. There is the possibility of conflict There is the possibility of shared goals. ?? Department of Computer Science — University of San Francisco – p.22/

Mechanisms for Coordination 19-21:

Organizational structure Little communication needed Agents do not need to know about the entire population Structure must be agreed on in advance Can be brittle, or inefficient.

Mechanisms for Coordination 19-22:

Negotiation mechanisms More communication needed Agents do not have to be cooperative Challenges: designing a negotiation protocol that is fair and efficient.

Mechanisms for Coordination 19-23:

Markets and auctions Can deal with relatively large numbers of agents. Agents can be self-interested Under certain conditions, efficient outcomes are reached. If those conditions are not met, outcomes are less predictable. Can include NP-hard problems, which limits the size of the population. Potential expressivity problems. ?? Department of Computer Science — University of San Francisco – p.25/

Mechanisms for Coordination 19-24:

Social norms/laws Designed for Internet-level population sizes Rules are defined for how one “should act.” Violators are (ideally) discouraged from behaving poorly. Challenge: enforcement. ?? Department of Computer Science — University of San Francisco – p.26/

Cooperative environments 19-25:

We’ll start with cooperative environments. Distribution due to spatial/geographic reasons or complexity. Agents are assumed to tell the truth, and act to achieve a global goal. ?? Department of Computer Science — University of San Francisco – p.27/

Contract Net 19-26:

Contract Net is one of the oldest and most widely-used coordination mechanisms. Simple, easy to implement. Works best in cooperative environments, but can be used in self-interested environments. Used to allocate tasks. Who will agree to do what? ?? Department of Computer Science — University of San Francisco – p.28/

Contract Net 19-27:

manager Begin with an agent known as the Allocates tasks contractors A set of agents act as Potentially perform these tasks The manager announces a task to (a subset of) the contractors (a request performative) Any agent who can complete the task responds with a bid. (a reply, or bid) Manager evaluates all bids and assigns the task. (a tell performative) to accomplish this task. commitment Awardee now has a It may further contract this task out.

Example: distributed sensor 19-28:

management

A set of cameras located around campus can track people Cameras each have an area they can see. A camera is tracking a person. As the person leaves its line of sight, it announces a bid to continue tracking. The first agent to reply wins the contract and continues tracking. Since all agents are cooperative, the ’bidding’ is quite simple.

Distributed Planning 19-35:

Solution 1: Submit plans to a centralized coordinator. Doesn’t scale Agents may not be willing to share more information than is needed. Solution 2: broadcast top-level constraints to each other. This allows agents to detect whether there is a top-level conflict. Plans will either be totally serialized or totally parallel. ?? Department of Computer Science — University of San Francisco – p.37/

Distributed Planning 19-36:

A better solution: Detect whether there is: No problem: all possible interactions may be interleaved. No solution: plans must be serialized. Some solution: We then ’step down a level’ in the plans and force agents to commit to particular alternatives. Tradeoff: Deeper level requires more communication and interleaving (an exponential problem), but produces finer-grained coordination. ?? Department of Computer Science — University of San Francisco – p.38/

Societies of agents 19-37:

Contract net and distributed planning work for tens of agents. How can we govern environments with thousands (or more) agents? agent societies These are often referred to as Still a research area Inspiration drawn from human society, Internet-scale protocols. ?? Department of Computer Science — University of San Francisco – p.39/

Societies of agents 19-38:

Research in this area can be divided into descriptive and proscriptive domains: descriptive: “Given a structure or behavior on the world, what is the outcome?” Proscriptive: “If a structure or behavior is enforced, what outcomes result?” There is also a vigorous debate about whether participants in an Internet-level agent society should be treated as self-interested, cooperative, or a mix of the two. Cooperation potentially allows for more beneficial outcomes, if participants can be trusted. Many of the same issues as P2P systems arise. ?? Department of Computer Science — University of San Francisco – p.40/

Example 19-39:

The agent society approach can be used to construct teams of agents, each with very simple behavior, who can collectively solve a difficult task. Ant algorithms Problem: Explore an unknown area and locate high-resource areas

Rules 19-40:

Avoid obstacles. If you are not holding a resource, wander randomly. If you sense ’pheromones’, weight random selection towards them. If you find resources, pick them up and begin dropping pheromones. Follow a beacon back home.. If you make it home, drop the resource. Over time, pheromone paths are built up between the home and the resource.

Issues 19-41:

Achieving macro-level behavior from microlevel rules. How do you guarantee outcomes? Is there an efficient way to synthesize these sorts of rules? Imposition of social norms or laws What outcomes can be guaranteed for a given set of norms or laws? What language is necessary to describe norms or laws? Mechanisms for trust and reputation How can noncompliance be enforced? ?? Department of Computer Science — University of San Francisco – p.43/

Summary 19-42:

Multiagent problems arise due to spatial, privacy or scaling constraints. General languages for declarative communication are needed in open systems. Coordination is a fundamental problem Contract net Distributed planning Ant Algorithms ?? Department of Computer Science — University of San Francisco – p.44/

Next time 19-43:

Lying liars and the lies they tell. or, What to do when agents are out for themselves. Applying economics to coordination and allocation problems. ?? Department of Computer Science — University of San Francisco – p.45/