Top Banner
Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro “An Introduction to MultiAgent Systems” Michael Wooldridge, John Wiley & Sons, 2002.
69

Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Mar 27, 2015

Download

Documents

Haley Curtis
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa1

Agentes de Software

Agentes e Sistemas MultiagentesBaseado no livro “An Introduction to MultiAgent Systems”

Michael Wooldridge, John Wiley & Sons, 2002.

Page 2: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa2

Overview

Five ongoing trends have marked the history of computing:

ubiquity;

interconnection;

intelligence;

delegation; and

human-orientation

Page 3: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa3

Ubiquity

The continual reduction in cost of computing capability has made it possible to introduce processing power into places and devices that would have once been uneconomic

As processing capability spreads, sophistication (and intelligence of a sort) becomes ubiquitous

What could benefit from having a processor embedded in it…?

Page 4: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa4

Houaiss

ubíquo

{verbete}

Acepções■ adjetivo 1    que está ou existe ao mesmo tempo em toda parte; onipresente 2    Derivação: por extensão de sentido.      que se difundiu extensamente; geral, universal

Antônimosausente, inexistente, limitado

Page 5: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa5

Interconnection

Computer systems today no longer stand alone, but are networked into large distributed systems

The internet is an obvious example, but networking is spreading its ever-growing tentacles…

Since distributed and concurrent systems have become the norm, some researchers are putting forward theoretical models that portray computing as primarily a process of interaction

Page 6: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa6

Intelligence

The complexity of tasks that we are capable of automating and delegating to computers has grown steadily

If you don’t feel comfortable with this definition of “intelligence”, it’s probably because you are a human

Page 7: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa7

Delegation

Computers are doing more for us – without our intervention

We are giving control to computers, even in safety critical tasks

One example: fly-by-wire aircraft, where the machine’s judgment may be trusted more than an experienced pilot

Next on the agenda: fly-by-wire cars, intelligent braking systems, cruise control that maintains distance from car in front…

Page 8: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa8

Human Orientation

The movement away from machine-oriented views of programming toward concepts and metaphors that more closely reflect the way we ourselves understand the world

Programmers (and users!) relate to the machine differently

Programmers conceptualize and implement software in terms of higher-level – more human-oriented – abstractions

Page 9: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa9

Programming progression…

Programming has progressed through:

machine code;

assembly language;

machine-independent programming languages;

sub-routines;

procedures & functions;

abstract data types;

objects;

to agents.

Page 10: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa10

Global Computing

What techniques might be needed to deal with systems composed of 1010 processors?

Don’t be deterred by its seeming to be “science fiction”

Hundreds of millions of people connected by email once seemed to be “science fiction”…

Let’s assume that current software development models can’t handle this…

Page 11: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa11

Where does it bring us?

Delegation and Intelligence imply the need to build computer systems that can act effectively on our behalf

This implies:

The ability of computer systems to act independently

The ability of computer systems to act in a way that represents our best interests while interacting with other humans or systems

Page 12: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa12

Interconnection and Distribution

Interconnection and Distribution have become core motifs in Computer Science

But Interconnection and Distribution, coupled with the need for systems to represent our best interests, implies systems that can cooperate and reach agreements (or even compete) with other systems that have different interests (much as we do with other people)

Page 13: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa13

So Computer Science expands…

These issues were not studied in Computer Science until recently

All of these trends have led to the emergence of a new field in Computer Science: multiagent systems

Page 14: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa14

Agents, a Definition

An agent is a computer system that is capable of independent action on behalf of its user or owner

Page 15: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa15

Multiagent Systems, a Definition

A multiagent system is one that consists of a number of agents, which interact with one-another

In the most general case, agents will be acting on behalf of users with different goals and motivations

To successfully interact, they will require the ability to cooperate, coordinate, and negotiate with each other, much as people do

Page 16: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa16

Agent Design, Society Design

The course covers two key problems:

How do we build agents capable of independent, autonomous action, so that they can successfully carry out tasks we delegate to them?

How do we build agents that are capable of interacting (cooperating, coordinating, negotiating) with other agents in order to successfully carry out those delegated tasks, especially when the other agents cannot be assumed to share the same interests/goals?

The first problem is agent design, the second is society design (micro/macro)

Page 17: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa17

Multiagent Systems

In Multiagent Systems, we address questions such as:

How can cooperation emerge in societies of self-interested agents?

What kinds of languages can agents use to communicate?

How can self-interested agents recognize conflict, and how can they (nevertheless) reach agreement?

How can autonomous agents coordinate their activities so as to cooperatively achieve goals?

Page 18: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa18

Multiagent Systems

While these questions are all addressed in part by other disciplines (notably economics and social sciences), what makes the multiagent systems field unique is that it emphasizes that the agents in question are computational, information processing entities.

Page 19: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa19

The Vision Thing

It’s easiest to understand the field of multiagent systems if you understand researchers’ vision of the future

Fortunately, different researchers have different visions

The amalgamation of these visions (and research directions, and methodologies, and interests, and…) define the field

But the field’s researchers clearly have enough in common to consider each other’s work relevant to their own

Page 20: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa20

Spacecraft Control

When a space probe makes its long flight from Earth to the outer planets, a ground crew is usually required to continually track its progress, and decide how to deal with unexpected eventualities. This is costly and, if decisions are required quickly, it is simply not practicable. For these reasons, organizations like NASA are seriously investigating the possibility of making probes more autonomous — giving them richer decision making capabilities and responsibilities.

This is not fiction: NASA’s DS1 has done it!

Page 21: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa21

Deep Space 1

http://nmp.jpl.nasa.gov/ds1/

“Deep Space 1launched from CapeCanaveral on October 24,1998. During a highlysuccessful primary mission,it tested 12 advanced, high-risk technologies in space. In an extremely successful extended mission, it encountered comet Borrelly and returned the best images and other science data ever from a comet. During its fully successful hyperextended mission, it conducted further technology tests. The spacecraft was retired on December 18, 2001.” – NASA Web site

Page 22: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa22

Autonomous Agents for specialized tasks

The DS1 example is one of a generic class

Agents (and their physical instantiation in robots) have a role to play in high-risk situations, unsuitable or impossible for humans

The degree of autonomy will differ depending on the situation (remote human control may be an alternative, but not always)

Page 23: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa23

Air Traffic Control

“A key air-traffic control system…suddenly fails, leaving flights in the vicinity of the airport with no air-traffic control support. Fortunately, autonomous air-traffic control systems in nearby airports recognize the failure of their peer, and cooperate to track and deal with all affected flights.”

Systems taking the initiative when necessary

Agents cooperating to solve problems beyond the capabilities of any individual agent

Page 24: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa24

Internet Agents

Searching the Internet for the answer to a specific query can be a long and tedious process. So, why not allow a computer program — an agent — do searches for us? The agent would typically be given a query that would require synthesizing pieces of information from various different Internet information sources. Failure would occur when a particular resource was unavailable, (perhaps due to network failure), or where results could not be obtained.

Page 25: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa25

What if the agents become better?

Internet agents need not simply search

They can plan, arrange, buy, negotiate – carry out arrangements of all sorts that would normally be done by their human user

As more can be done electronically, software agents theoretically have more access to systems that affect the real-world

But new research problems arise just as quickly…

Page 26: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa26

Research Issues

How do you state your preferences to your agent?

How can your agent compare different deals from different vendors? What if there are many different parameters?

What algorithms can your agent use to negotiate with other agents (to make sure you get a good deal)?

These issues aren’t frivolous – automated procurement could be used massively by (for example) government agencies

The Trading Agents Competition…

Page 27: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa27

Multiagent Systems is Interdisciplinary

The field of Multiagent Systems is influenced and inspired by many other fields:

Economics, Philosophy, Game Theory, Logic, Ecology, Social Sciences

This can be both a strength (infusing well-founded methodologies into the field) and a weakness (there are many different views as to what the field is about)

This has analogies with artificial intelligence itself

Page 28: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa28

Some Views of the Field

Agents as a paradigm for software engineering:Software engineers have derived a progressively better understanding of the characteristics of complexity in software. It is now widely recognized that interaction is probably the most important single characteristic of complex software

Over the last two decades, a major Computer Science research topic has been the development of tools and techniques to model, understand, and implement systems in which interaction is the norm

Page 29: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa29

Some Views of the Field

Agents as a tool for understanding human societies:Multiagent systems provide a novel new tool for simulating societies, which may help shed some light on various kinds of social processes.

This has analogies with the interest in “theories of the mind” explored by some artificial intelligence researchers

Page 30: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa30

Objections to MAS

Isn’t it all just Distributed/Concurrent Systems?There is much to learn from this community, but:

Agents are assumed to be autonomous, capable of making independent decision – so they need mechanisms to synchronize and coordinate their activities at run time

Agents are (can be) self-interested, so their interactions are “economic” encounters

Page 31: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa31

Objections to MAS

Isn’t it all just AI?

We don’t need to solve all the problems of artificial intelligence (i.e., all the components of intelligence) in order to build really useful agents

Classical AI ignored social aspects of agency. These are important parts of intelligent activity in real-world settings

Page 32: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa32

INTELLIGENT AGENTS

Page 33: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa33

What is an Agent?

The main point about agents is they are autonomous: capable of acting independently, exhibiting control over their internal state

Thus: an agent is a computer system capable of autonomous action in some environment in order to meet its design objectives

SYSTEM

ENVIRONMENT

input output

Page 34: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa34

What is an Agent?

Trivial (non-interesting) agents:

thermostat

UNIX daemon (e.g., biff)

An intelligent agent is a computer system capable of flexible autonomous action in some environment

By flexible, we mean:

reactive

pro-active

social

Page 35: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa35

Reactivity

If a program’s environment is guaranteed to be fixed, the program need never worry about its own success or failure – program just executes blindly

Example of fixed environment: compiler

The real world is not like that: things change, information is incomplete. Many (most?) interesting environments are dynamic

Software is hard to build for dynamic domains: program must take into account possibility of failure – ask itself whether it is worth executing!

A reactive system is one that maintains an ongoing interaction with its environment, and responds to changes that occur in it (in time for the response to be useful)

Page 36: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa36

Proactiveness

Reacting to an environment is easy (e.g., stimulus response rules)

But we generally want agents to do things for us

Hence goal directed behavior

Pro-activeness = generating and attempting to achieve goals; not driven solely by events; taking the initiative

Recognizing opportunities

Page 37: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa37

Balancing Reactive and Goal-Oriented Behavior

We want our agents to be reactive, responding to changing conditions in an appropriate (timely) fashion

We want our agents to systematically work towards long-term goals

These two considerations can be at odds with one another

Designing an agent that can balance the two remains an open research problem

Page 38: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa38

Social Ability

The real world is a multi-agent environment: we cannot go around attempting to achieve goals without taking others into account

Some goals can only be achieved with the cooperation of others

Similarly for many computer environments: witness the Internet

Social ability in agents is the ability to interact with other agents (and possibly humans) via some kind of agent-communication language, and perhaps cooperate with others

Page 39: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa39

Other Properties

Other properties, sometimes discussed in the context of agency:

mobility: the ability of an agent to move around an electronic network

veracity: an agent will not knowingly communicate false information

benevolence: agents do not have conflicting goals, and that every agent will therefore always try to do what is asked of it

rationality: agent will act in order to achieve its goals, and will not act in such a way as to prevent its goals being achieved — at least insofar as its beliefs permit

learning/adaption: agents improve performance over time

Page 40: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa40

Agents and Objects

Are agents just objects by another name?

Object:

encapsulates some state

communicates via message passing

has methods, corresponding to operations that may be performed on this state

Page 41: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa41

Agents and Objects

Main differences:

agents are autonomous:agents embody stronger notion of autonomy than objects, and in particular, they decide for themselves whether or not to perform an action on request from another agent

agents are smart:capable of flexible (reactive, pro-active, social) behavior, and the standard object model has nothing to say about such types of behavior

agents are active:a multi-agent system is inherently multi-threaded, in that each agent is assumed to have at least one thread of active control

Page 42: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa42

Objects do it for free…

agents do it because they want to

agents do it for money

Page 43: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa43

Agents and Expert Systems

Aren’t agents just expert systems by another name?

Expert systems typically disembodied ‘expertise’ about some (abstract) domain of discourse (e.g., blood diseases)

Example: MYCIN knows about blood diseases in humans

It has a wealth of knowledge about blood diseases, in the form of rules

A doctor can obtain expert advice about blood diseases by giving MYCIN facts, answering questions, and posing queries

Page 44: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa44

Agents and Expert Systems

Main differences:

agents situated in an environment:MYCIN is not aware of the world — only information obtained is by asking the user questions

agents act:MYCIN does not operate on patients

Some real-time (typically process control) expert systems are agents

Page 45: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa45

Intelligent Agents and AI

Aren’t agents just the AI project?Isn’t building an agent what AI is all about?

AI aims to build systems that can (ultimately) understand natural language, recognize and understand scenes, use common sense, think creatively, etc. — all of which are very hard

So, don’t we need to solve all of AI to build an agent…?

Page 46: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa46

Intelligent Agents and AI

When building an agent, we simply want a system that can choose the right action to perform, typically in a limited domain

We do not have to solve all the problems of AI to build a useful agent:

a little intelligence goes a long way!

Oren Etzioni, speaking about the commercial experience of NETBOT, Inc:“We made our agents dumber and dumber and dumber…until finally they made money.”

Page 47: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa47

Agents as Intentional Systems

When explaining human activity, it is often useful to make statements such as the following:

Janine took her umbrella because she believed it was going to rain.Michael worked hard because he wanted to

possess a PhD.

These statements make use of a folk psychology, by which human behavior is predicted and explained through the attribution of attitudes, such as believing and wanting (as in the above examples), hoping, fearing, and so on

The attitudes employed in such folk psychological descriptions are called the intentional notions

Page 48: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa48

Agents as Intentional Systems

The philosopher Daniel Dennett coined the term intentional system to describe entities ‘whose behavior can be predicted by the method of attributing belief, desires and rational acumen’

Dennett identifies different ‘grades’ of intentional system:‘A first-order intentional system has beliefs and desires (etc.) but no beliefs and desires about beliefs and desires. …A second-order intentional system is more sophisticated; it has beliefs and desires (and no doubt other intentional states) about beliefs and desires (and other intentional states) — both those of others and its own’

Page 49: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa49

Agents as Intentional Systems

Is it legitimate or useful to attribute beliefs, desires, and so on, to computer systems?

Page 50: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa50

Agents as Intentional Systems

What objects can be described by the intentional stance?

As it turns out, more or less anything can. . . consider a light switch:

But most adults would find such a description absurd!Why is this?

‘It is perfectly coherent to treat a light switch as a (very cooperative) agent with the capability of transmitting current at will, who invariably transmits current when it believes that we want it transmitted and not otherwise; flicking the switch is simply our way of communicating our desires’. (Yoav Shoham)

Page 51: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa51

Agents as Intentional Systems

The answer seems to be that while the intentional stance description is consistent,

. . . it does not buy us anything, since we essentially understand the mechanism sufficiently to have a simpler, mechanistic description of its behavior. (Yoav Shoham)

Put crudely, the more we know about a system, the less we need to rely on animistic, intentional explanations of its behavior

But with very complex systems, a mechanistic, explanation of its behavior may not be practicable

As computer systems become ever more complex, we need more powerful abstractions and metaphors to explain their operation — low level explanations become impractical. The intentional stance is such an abstraction

Page 52: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa52

Agents as Intentional Systems

The intentional notions are thus abstraction tools, which provide us with a convenient and familiar way of describing, explaining, and predicting the behavior of complex systems

Remember: most important developments in computing are based on new abstractions:

procedural abstraction

abstract data types

objects

Agents, and agents as intentional systems, represent a further, and increasingly powerful abstraction

So agent theorists start from the (strong) view of agents as intentional systems: one whose simplest consistent description requires the intentional stance

Page 53: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa53

Agents as Intentional Systems

This intentional stance is an abstraction tool — a convenient way of talking about complex systems, which allows us to predict and explain their behavior without having to understand how the mechanism actually works

Now, much of computer science is concerned with looking for abstraction mechanisms (witness procedural abstraction, ADTs, objects,…)

So why not use the intentional stance as an abstraction tool in computing — to explain, understand, and, crucially, program computer systems?

This is an important argument in favor of agents

Page 54: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa54

Agents as Intentional Systems

Other 3 points in favor of this idea:

Characterizing Agents:

It provides us with a familiar, non-technical way of understanding & explaining agents

Nested Representations:

It gives us the potential to specify systems that include representations of other systems

It is widely accepted that such nested representations are essential for agents that must cooperate with other agents

Page 55: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa55

Agents as Intentional Systems

Post-Declarative Systems:

This view of agents leads to a kind of post-declarative programming:

In procedural programming, we say exactly what a system should do

In declarative programming, we state something that we want to achieve, give the system general info about the relationships between objects, and let a built-in control mechanism (e.g., goal-directed theorem proving) figure out what to do

With agents, we give a very abstract specification of the system, and let the control mechanism figure out what to do, knowing that it will act in accordance with some built-in theory of agency (e.g., the well-known Cohen-Levesque model of intention)

Page 56: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa56

An aside…

We find that researchers from a more mainstream computing discipline have adopted a similar set of ideas…

In distributed systems theory, logics of knowledge are used in the development of knowledge based protocols

The rationale is that when constructing protocols, one often encounters reasoning such as the following:

IF process i knows process j has received message m1

THEN process i should send process j the message m2

In DS theory, knowledge is grounded — given a precise interpretation in terms of the states of a process; we’ll examine this point in detail later

Page 57: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa57

O que é um Agente?

Qualquer entidade (humana ou artificial) que:

está imersa ou situada em um ambiente (físico, virtual/simulado) percebe seu ambiente através de sensores (ex. câmeras, microfone, teclado, finger, ...)

age sobre ele através de atuadores (ex. vídeo, auto-falante, impressora, braços, ftp, ...)

possui objetivos próprios

explícitos ou implícitos

escolhe suas ações em função das suas percepções para atingir seus objetivos

Page 58: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa58

Agentes

Algoritmo Básico e Arquiteturas

Page 59: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa59

Agentes: Algoritmo básico

função agenteSimples (percepção) retorna ação

memória := atualizaMemória (memória, percepção)

ação := escolheMelhorAção(memória)

memória := atualizaMemória (memória, ação)

retorna ação

Page 60: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa60

Agentes: Arquiteturas

Agente tabela

Agente reativo

Agente reativo com estado interno

Agente cognitivo (baseado em objetivos)

Agente otimizador

Agente adaptativo

autonomiacomplexidade

Page 61: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa61

sensoresAgente

atuadores

a m

b i

e n

t e

Raciocinadormodelo do ambiente

Agentes: Arquiteturas

De forma bem simplificada, um agente pode ser visto como um mapeamento:

seqüência perceptiva => ação

Page 62: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa62

ambiente

sensores

atuadores

TabelaPercepções ações

. .

. .

Agente

Agente Tabela – é mesmo um agente racional?

Limitações

Mesmo problemas simples requerem tabelas muito grandes

ex. xadrez 30^100

Nem sempre é possível, por ignorância ou questão de tempo, construir a tabela

Não há autonomia nem flexibilidade

Ambiente

acessível, determinista, episódico, estático, discreto e minúsculo!

Page 63: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa63

Agente sensores

atuadores

Como está o mundo agora?

Que ação devo escolher agora? Regras “condição-ação”

a m

b i

e n

t e

Agente Reativo

Vantagens e desvantagens

Regras condição-ação: representação inteligível, modular e eficiente

ex. Se velocidade > 60 então multar

Não pode armazenar uma seqüência perceptiva, pouca autonomia

Ambientes:

Reflexo imprescindível em ambientes dinâmicos

Acessível, episódico, pequeno

Page 64: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa64

Agente reativo com estado interno

Desvantagem: pouca autonomia

não tem objetivo, não encadeia regras

Ambientes: determinista e pequeno

Ex. Tamagotchi

sensoresAgente

Como está o mundo agora?

Regras “condição-ação”

estado: como o mundo era antes

como o mundo evolui

atuadores

Que devo fazer agora?a m

b i

e n

t e

impacto de minhas ações

Page 65: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa65

sensoresAgente

Como está o mundo agora?

Objetivos

como o mundo evolui

atuadores

Que devo fazer agora?

a m

b i

e n

t e

impacto de minhas açõesComo ele ficará se faço isto?

estado: como o mundo era antes

Agente cognitivo - baseado em objetivo

Vantagens e desvantagens:

Mais complicado e ineficiente, porém mais flexível, autônomo

Não trata objetivos conflitantes

Ambientes: determinista

ex.: xeque-mate no xadrez

Page 66: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa66

Agente

Como está o mundo agora?

Objetivos

como o mundo evolui

Que devo fazer agora?A m

b i

e n

t e

impacto de minhas açõesComo ele ficará se faço isto?

Agente Baseado em Objetivo

Estado interno: como o mundo era antespercepções

+

ações

Sensores

Atuadores

Page 67: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa67

Agente otimizador (utility based)

Ambiente: sem restrição

Desvantagem: não tem adaptabilidade

Ex. motorista carioca

Segurança e velocidade – conflito!

ambiente

sensores

atuadores

Agente

Como está o mundo agora?

Que ação devo escolher agora?Função de Utilidade

qual é o impacto de minhas ações

como o mundo evolui

Este novo mundo é melhor?

Como ele ficará se faço isto?

estado: como o mundo era antes

Page 68: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa68

Agente que aprende

sensores

atuadores

Agente

Gerador de problemas

crítico

elemento de aprendizagem

avaliação

objetivos de aprendizagem

elemento de execução (agente)

trocas

conhecimento

a m

b i

e n

t e

Ambiente: sem restrição

Vantagem: tem adaptabilidade (aprende)

Ex. motorista sem o mapa da cidade

t

t+1

t

Page 69: Inaldo Costa 1 Agentes de Software Agentes e Sistemas Multiagentes Baseado no livro An Introduction to MultiAgent Systems Michael Wooldridge, John Wiley.

Inaldo Costa69

Referências

An introduction to multiagent systems Woodridge, Michael - John Willey & Sons, Ltd, 2002