38
Introdução a Sistemas Multi-Agentes Viviane Torres da Silva [email protected] http://www.ic.uff.br/ ~viviane.silva/2012.1/isma

Introdução a Sistemas Multi-Agentes Viviane Torres da Silva [email protected] viviane.silva/2012.1/isma

Embed Size (px)

Citation preview

Page 1: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Introdução a Sistemas Multi-Agentes

Viviane Torres da [email protected]

http://www.ic.uff.br/~viviane.silva/2012.1/isma

Page 2: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Disciplina

Objetivos:– Apresentar as propriedades e características dos agentes de software

e dos sistemas multi-agentes– Apresentar as técnicas de desenvolvimento destes sistemas

Atendimento:– Marcar por email

Avaliação:– Trabalhos realizado em dupla ou individualmente– Apresentações de artigos em sala e trabalho de implementação

(ApArtigos + Trab ) / 2 >= 6

Page 3: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Introdução

Cada grupo deve apresentar artigos sobre um determinado tema 2 semanas após a apresentação do tema em sala de aula– Comparar com o que foi visto em sala e trazer artigos mais atuais

sobre o tema.

Trabalho: – Implementação de um sistema multi-agentes utilizando Jason e

utilizando o tema apresentado em sala• Monografia + implementação

Page 4: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Conteúdo

Introdução a Agentes de Software– Agentes x Objetos, e os Sistemas Multi-Agente

Modelagem de SMA– Metodologias para SMA– Linguagens de modelagem para SMA

Implementação de SMA– Frameworks e arquiteturas para SMA– Linguagens de programação para SMA

Características específicas de SMA– Sociedade de agentes– Confiança e Reputação– Comunicação– Negociação e Argumentação – Planejamento – Aprendizagem – Capacidade de Raciocinar

Page 5: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Bibliografia

Wooldridge, Michael. Introduction to Multi-agent Systems. John Wiley and Sons, 2002

Jennings, Nick; Wooldridge, Michael J. Agent technology: foundations, applications, and markets. Berlin: Springer, 1998

Henderson-Sellers, Brian; Giorgini, Paolo. Agent-oriented methodologies. Hershey, PA: Idea Group Pub., 2005

Weiss, Gerhard. Multiagent systems: a modern approach to distributed artificial intelligence. Cambridge, Mass.: MIT Press, 1999

Ferver, Jacques. Multi-agent systems: An introduction to distributed artificial intelligence. Addison-Wesley, 1999

Bordini, Rafael; Dastani, Mehdi; Dix, Juergen; Seghrouchni, Amal, A. Multi-Agent Programming: Languages, Platforms and Applications. Springer, 2005

Page 6: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Março

15 Introdução

22 SMA e Frameworks conceituais

29 Modelagem de SMA

Abril

5 Feriado

12 Metodologia para SMA

19 Implementação de SMA

26Linguagens de programação e comunicação de agentes

Page 7: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Maio

3 Normas

10 Sistemas de Governança e de Reputação

17 Planejamento

24 Raciocínio

31 Aprendizagem

Junho

7 Feriado

14 Não haverá aula: dedicar ao trabalho

21 Apresentação de trabalho

28 Apresentação de trabalho

Page 8: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Agentes de Software

Page 9: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Motivação: Sistemas Complexos I/II

Executam para alcançar nossos objetivos

Interagem com outros sistemas Necessitam cooperar / competir com outros sistemas para

alcançar os objetivos

Necessitam executar de maneira independente Se adaptam a mudanças no ambiente

São distribuídos e heterogêneos

Page 10: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Quando utilizar agentes de software?

Quando a tarefa é grande e complexa

Quando é necessário que as decisões sejam feitas com rapidez

Quando envolvem riscos as pessoas

Quando é muito caro ou difícil manter um grupo de pessoas controlando um software (ou um robô)

Page 11: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Definição: Agentes

Dicionário: (dictionary.com)– Uma pessoa ou coisa que atua ou que tem o poder de atuar– Aquele que atua em benefício de outro

“Um agente é um sistema informático situado em um ambiente que é capaz de realizar ações de forma autônoma / independente para conseguir seus objetivos.” [Wooldridhe, 1997]

Não existe uma definição que seja precisa e utilizada por todos os pesquisadores

Page 12: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Algumas características

É capaz de atuar em um ambiente

Tem uma visão parcial do ambiente

É capaz de perceber as mudanças do ambiente

Pode se adaptar a mudanças do ambiente

Pode se comunicar através de troca de mensagem com outros agentes

Atua sem a necessidade de mandar atuar

Está orientada por um conjunto de objetivos

Pode aprender e raciocinar

Page 13: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Aplicações com agentes I/V

Controle de tráfico aéreo:Como funciona? – Sistema chamado OASIS e implementado no aeroporto de Sydney– Os agentes representam tanto o avião como os distintos sistemas de

controle de tráfico– Quando um avião entra no espaço aéreo de Sydney, o sistema associa

um agente com a informação do avião (tamanho do avião, quantidade de combustível, …) e os objetivos do avião (aterrissar em uma determinada pista a uma determinada hora)

– Os agentes controladores de tráfico controlam os agentes que representam os aviões

Por que agentes? – A metáfora do agente provê uma maneira útil e natural para modelar

os componentes autônomos do mundo real.

Page 14: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Aplicações com agentes II/V

Aplicações de medicina:Por que agentes?– Distribuição: Conhecimento para solucionar um problema está

distribuído em diferentes lugares– Interação / Coordenação: A solução de um problema depende da

coordenação das tarefas que serão realizadas por diversos indivíduos com diversas habilidades e competências

– Complexidade: Problema usualmente decomposto em subproblemas– Pró-atividade: Os agentes realizam tarefas que são de benefício para o

usuário sem que este seja solicitado– Autonomia: Cada agente toma suas próprias decisões baseando-se no

seu estado interno e na informação que recebe do usuário e de outros agentes

Page 15: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Aplicações com agentes III/V

Aplicações em medicina: – Gestão de transplantes de órgãos– Busca informação médica na Web: MARVIN

• http://www.hon.ch/Project/Marvin_project.html– Monitoramento e diagnóstico de pacientes cardíacos: Guardian

• http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=00653225– Formação de médicos: Amplia

• http://www.inf.ufrgs.br/~dflores/AMPLIA/– Atendimento as pessoas de terceira idade: TeleCARE

• http://www.uninova.pt/~telecare/telecare2004/TELECARE2004_Camarinha-Matos_Afsarmanesh.pdf

Page 16: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Aplicações com agentes IV/V

Aplicações de recuperação da informação:Como funciona? – Sistema chamado Letizia e desenvolvido pelo MIT

• http://web.media.mit.edu/~lieber/Lieberary/Letizia/Letizia-Intro.html

– O agente observa o comportamento do usuário (páginas web que acessa) e tenta inferir seus gostos automaticamente

– Agente de informação: Tem acesso a diversas fontes de informação e são capazes de analisar e manipular a informação obtida

Por que agentes?– Necessidade de automação na busca por informação qualificada– É capaz de armazenar, aprender e manejar as preferências e gostos de

usuários– É capaz de se comunicar com os provedores de informação– Necessidade de adaptar-se a mudanças no seu ambiente

Page 17: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Outras aplicações V/V

Comercio eletrônico– Agentes podem planear, negociar, argumentar,…

Gestão de processos (workflow)

Jogos e Robótica

Controle de satélites– NASA está tentando fazer com que os satélites sejam más autônomos,

aumentando a capacidade de tomar decisões

Page 18: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Evolução dos Paradígmas da ES

Linguagem Assembly

Abstração Funcional

Programação Estruturada

Orientação a Objetos

Orientação a Componentes

...

Agentes de Software

Abstrações determinadas pela arquitetura da máquina

Abstrações determinadas pelo domínio do problema

Tempo

Page 19: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Propriedade dos Agentes

Page 20: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Interatividade (Habilidade Social)

A vida real é um ambiente multi-agente, i.e, com vários agentes executando de um vez

Muitas vezes os objetivos só podem ser cumpridos quando ocorre cooperação entre os agentes

Os agentes são capazes de interagir com outras entidades do sistema

Diferentemente dos objetos, os agentes não interagem chamando método de outros agentes. Os agentes enviam mensagens a outros agentes

Os agentes decidem a quem irão responder– Um agente pode decidir não responder a uma mensagem de outro

agente, os objetos no podem

Page 21: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Reatividade (Adaptabilidade)

Ambiente fixo x ambiente variável

Em vida real: as cosas mudam, a informação está incompleta, o ambiente é variável– A maioria dos ambientes são dinâmicos

É difícil criar programas para domínios dinâmicos – Possibilidade de falha

Um agente reativo mantém uma interação contínua com o ambiente, e responde as mudanças que ocorrem nele (se adapta).

Page 22: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Pró-atividade (Orientação a objetivos)

Reagir a um ambiente é fácil– estímulo regra de resposta

Mas queremos que os agentes façam coisas para nós E que tenham um comportamento orientado a objetivos e

não a tarefas

Um agente proativo– é capaz de executar para cumprir seus objetivos, – não faz falta que o mande fazer algo,– não está guiado somente pelos eventos do ambiente, – tem iniciativa e reconhece oportunidades.

Page 23: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Autonomia

Um agente autônomo:– trabalha sem a intervenção direta do usuário (não é necessário

mandar para o agente execute)

– é capaz de selecionar o objetivo que irá intentar cumprir (pode ser capaz de criar novos objetivos)

– tem (certo) controle sobre seu estado e seu comportamento• Só o agente é capaz de modificar seu estado• O agente decide o que irá fazer

Page 24: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Reatividade x Pró-atividade

Reatividade: queremos que nosso agente seja reativo, que responde as mudanças do ambiente a tempo e de maneira apropriada

Pró-atividade: queremos que nosso agente trabalhe de acordo com seus objetivos

Estas duas propriedades podem conviver Criar um agente onde estas duas propriedades estejam

balanceadas é um problema de pesquisa

Agente reativo Agente pró-ativo

Agente

mixto

Page 25: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Interatividade x Autonomia

Interatividade: agente interage com outros agentes para alcançar seus objetivos

Autonomia: agente é capaz de fazer todas suas tarefas sem depender de ninguém

Interação

Autonomia+

+-

-

Page 26: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Outras Propriedades

Mobilidade: Mover de um computador a outro em una rede preservando seu estado

Racionalidade: os agentes irão atuar para cumprir seus objetivos e não irão atuar de maneira a prevenir que os objetivos se cumpram

Um agente pode decidir:– que objetivo tentar atingir ou qual evento reagir– como atuar para conseguir um objetivo– suspender ou abandonar uma objetivo para dedicar-se a outro

Aprendizagem: o agente melhora seu rendimento com o passar do tempo

Page 27: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Agentes x Objetos

Page 28: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Entidade (Agente ou Objeto)

Toda entidade tem:– Estado + comportamento– Relação com outras entidades

Estado: armazena informações Comportamento: conjunto de tarefas que a entidade pode

executar Relacionamento: define como as entidades estão

relacionadas, conectadas

Page 29: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Objeto

Estado: atributos– Armazena informação sobre o objeto e sobre outras entidades do

sistema (podem armazenar outros objetos)

Comportamento: métodos– São tarefas que podem ser executadas– As operações podem modificar o estado do objeto

Page 30: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Comunicação entre Objetos

Envio de mensagem >> Chamada de método Resposta >> Execução do método e envio da resposta

Sempre que um objeto envia uma mensagem a outro objeto este responde

Page 31: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Objeto (tradicional)

Tem controle do seu estado (encapsulamento) Pode modificar seu estado mas não pode adicionar novos

tipos de informação Não tem controle de seu comportamento Não pode modificar seu comportamento

Os objetos são entidades passivas– Só executam quando outras entidades pedem

Page 32: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Agente

Estado: crenças, objetivos, planos e ações

Crenças: conhecimento sobre si mesmo, sobre o ambiente e sobre outras entidades– Tudo que o agente sabe, suas memórias e suas percepções

Objetivos: estados futuros donde o objeto quer chegar ou desejo que ele quer satisfazer

Page 33: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Agente

Ações: execução dos agentes– Ex.: modificar seu estado, enviar e receber mensagens

Planos: composto por um conjunto de ações– Descrevem a ordem de execução das ações– Possibilitam que o agente alcance seus objetivos ou que satisfaça seus

objetivos– Estão relacionados com os objetivos

Page 34: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Agente

Comportamento: – Execução dos planos e, conseqüentemente, das ações– Os planos são executados de acordo com os objetivos– Objetivos com maior prioridade são selecionados primeiro

A definição do comportamento do agente é parte de seu estado “mental”.

Page 35: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Comunicação entre Agentes

Envio de mensagem >> Envio de una carta (pedido, informação,…)

Resposta >> Envio de outra mensagem Utilizam uma linguagem de comunicação

Agentes podem não responder quando recebem uma mensagem de alguém

Page 36: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Agente

Tem controle de seu estado Pode modificar seu estado e pode adicionar novas

informações– Crenças e objetivos

Tem controle de seu comportamento Pode modificar seu comportamento (podem criar novos

planos e aprender novas ações)– Aprendizagem

Os agentes são entidades ativas– Executam sem que alguém peça

Page 37: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Objeto

Estado:Pode modificar mas não pode adicionar novas Informações

ComportamentoNão tem controle de seu comportamentoNecessita estímulos externos para executarResponde todas mensagemque recebeComportamento predeterminado

Estado mental: Guarda informações sobre seu comportamento Pode modificar e adicionar informaçãoComportamento: Tem controle de seu comportamento

Não necessita estímulos para executarPode não responder uma mensagem

Pode modificar seu comportamento

Agente

Page 38: Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2012.1/isma

Agentes e Objetos

Agentes são autônomos:Ex: Agentes decidem quando executar uma ação requerida por outro agente

Agentes são inteligentes:Agentes podem modificar seu comportamento (reatividade, pró-atividade, habilidade social, aprendizagem…)

Agentes são entidades ativas:Uma sistema muli-agentes é tipicamente composto por várias threads, onde cada agente tem uma ou mais threads de execução que executam sem intervenção do usuário