Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

28
Modelos Baseados em Agentes Prof. André Campos 01/12/2004 Plataformas Plataformas Multi-Agente Multi-Agente

Transcript of Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Page 1: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Modelos Baseados em Agentes

Prof. André Campos

01/12/2004

PlataformasPlataformasMulti-AgenteMulti-Agente

Page 2: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Problema O interesse em SMA tem crescido, porém

Linguagens orientadas a agentes são ainda raras ou em estágio de maturação

O desenvolvimento de SMA se apóia em linguagens e paradigmas de programação existentes (em geral O-O)

A implementação de SMA em O-O pode vir a ser complexa (distribuição, protocolos de comunicação etc)

Conseqüência = surgimento de várias ferramentas dando o suporte ao desenvolvimento SMA Existem centenas (ver, por exemplo www.agentlink.org

ou www.multiagent.org ) Problema = qual utilizar?

Page 3: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Necessidades das ferramentas

Suporte à implementação de agentes Interação com o ambiente (sensores etc) Comunicação (padrões, yellowpages, ACL etc) Protocolos de negociação, cooperação etc

Suporte ao design do SMA Análise (descrição do problema etc) Design (arquiteturas com protocolos de interação etc) Desenvolvimento (plataformas, frameworks etc) Deployment (configuração, manutenção etc)

Suporte ao usuário final Segurança (confiabilidade, integridade etc)

Page 4: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Quadro de especificações

Aplicações Arquitetura abstrata Gerenciamento dos agentes Comunicação dos agentes

Protocolos de interação Atos de comunicação Linguagens de conteúdo

Transporte de mensagem Representação ACL (Agent Comunication Language) Representação dos envelopes Protocolos de transporte

Page 5: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Plataformas FIPA

Para que uma plataforma seja considerada FIPA-compliant no mínimo: AMS e ACL

Gerenciamento de agentes (AMS) Autenticação, Recursos, “páginas brancas” (naming)

Comunicação (ACL) Diretório de agentes (páginas amarelas) Canal de comunicação (ACC) transporte de mensagens

Serviços opcionais Ontologia, Interação H-M etc

AMS

PA

Transporte (ACC)HTTP

Page 6: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Tipos de plataformas

Suporte às diferentes fases de elaboração de um SMA

Design Em geral baseadas em componentes Middlewares

Design + Implementação Facilita a definição dos agentes Frameworks

Design + Implementação + Testes Análise + Design + Imp. + Testes

Análise

Design

Implementação

Teste e validação

Page 7: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Exemplos de plataformas

JADE (Java Agent Development Framework) MadKit (Multi-Agent Development Kit) Zeus Outros

ADE, ADK, Agent Factory, AgentBuilder, AgentTool, Aglets, Bee-gent, BOND, DECAF, DIET, DIVA, EVO, Hive, IMPACT, Jack, JAFMAS, JIAC, JINI, Knowbot, LIME, MAGE, MAML, RETSINA, SOAR , TuCSoN, VOYAGER,...

... e muito mais!!!!

Page 8: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

E Linguagens?

Paradigma de programação diferente da abordagem objeto

Poucas linguagens robustas Existem linguagens OA direcionadas a

aplicações específicasEx: Brahms Simulação Multi-Agent

Page 9: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Brahms

Business Redesign Agent-Based Holistic Modeling System

Ambiente (pacote de aplicativos e maquina virtual) criado com a intenção de simular práticas de trabalho.

Linguagem própria baseada em regras, com semelhanças com BDI.

Permite a modelagem de agentes baseados em humanos bastante complexos (crenças, raciocínio dedutivo, quadros de atividade).

Modelo do(s) ambiente(s) físico(s) em que se encontram os agentes.

Extensos dados estatísticos e programa especial para a visualização destes.

Page 10: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Linguagem Brahms

Implementação e modelagem no mesmo paradigma de programação (agentes)

Conceitos Classes (classes) e objetos (objects) Grupos (groups) e agentes (agents) Atividades (activities) e ações (actions) Crenças (beliefs) e Fatos (facts) Quadros de trabalho (workframe) Quadros de pensamento (thoughtframe) Geografia (geography)

Page 11: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Relação entre os conceitos

Grupos (groups) contêm agentes (agents) situados (geography), que possuem crenças (beliefs), que os leva a se engajar em atividades (activities) especificada em quadro de trabalho (workframe), que consistem em precondições de crenças que leva a ações (actions), novas crenças (beliefs) e fatos do mundo (facts), através de quadros de pensamento (thoughtframe), que consistem em precondições e conseqüências.

Page 12: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Classes e objetos

As classes representam objetos do mundo que são usados como recursos pelos agentes, servem para guardar informações para os agentes.

Os objetos são vistos como instâncias das classes.

Mesma idéia de classes e objetos em OO Estrutura da linguagem diferente

Page 13: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Exemplos de Classes e Objetosclass Bank {

display: "Bank";attributes:

public string name;public int receivedAccountPin;public int receivedAccountCode;

initial_facts:(current.receivedAccountPin != 0);(current.receivedAccountCode != 0);(current.correctPin != false);

activities:primitive_activity registerInfo() {

max_duration: 5;}

workframe wf_replyAtm {repeat: true;variables:

forone(Atm) at3;foreach(Account) bka;

when(knownval(at3 ownedbyBank current) andknownval(current.readyToTransmit = true))

do {processReplyAtm();replyAtm(at3,bka);conclude((current. accountCode = at3.currentAccountCode), bc:100,

fc:100);}

}

Page 14: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Grupos e agentes

Agentes são entidades que possuem crenças, fazem inferências sobre suas crenças e realizam atividades

Grupos representam classes de agentesEx: Grupo de alunos. Grupo de professores.Grupo está para Classe, assim como Objeto

está para Agente

Page 15: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Crenças e fatos

Uma crença é uma verdade para um agente (e apenas para ele).Representa um objeto de conhecimento do

agente Um fato é uma verdade para todos os

agentesRepresenta um estado do mundo

Page 16: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Workframes

Workframes descrevem como e em que situações um agente ou objeto deve executar uma atividade

Pode ser composto de várias atividades e ter como conseqüência a alteração das crenças do agente ou dos fatos do mundo

Page 17: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Exemplo de Workframeworkframe wf_weekend{

repeat: true;variables:

forone(ProjectClass) project;forone(Clock1) clk;

detectables:detectable endOfProject{

when(whenever)detect((project.concluded = true), dc:100)then abort;

}when(knownval(current workIn project) and

knownval(clk.week > current.week))do{

conclude((project.time = project.time + current.speed ), bc:100, fc:100);conclude((current.speed = current.perceivedTime), bc:100, fc:100);

conclude((current.perceivedTime = 0), bc:100, fc:100);conclude((current.week = clk.week), bc:100, fc:100);

}

}

Page 18: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Atividades

Realiza uma ação, que pode ser do tipo:Comunicação: communication , broadcast Locomoção: moveCriacional: create agent, objectComposta: compositeExternas: java

Page 19: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Quadro de pensamento

Define o raciocínio (dedução) dos agentesRegras de produção de conhecimento

(beliefs) Similar ao Workframe. A diferença reside

no fato que ThoughtFrames não produzem nos fatos no mundo, apenas modificam as crenças dos agentes ou criam novas

Page 20: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Áreas Geográficas

Modelo definido através de áreas e de caminhos entra áreasareaareadefpath areadef Restaurant extends Building { }

area Telegraph_Av_2134 instanceof Restaurant partof Berkeley { }

path StH_to_from_BB {area1: SouthHall;area2: Telegraph_Av_2134;distance: 360;

}

Page 21: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Modelos em Brahms

Modelo de agentes Modelo de objetos Modelo de atividades Modelo de comunicação Modelo de relações Modelo de conhecimento Modelo geográfico

Page 22: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Exemplo de cenário

Modelo da rotina de um dia típico de um aluno da UFRN Os alunos passam a maior parte do dia estudando,

parando apenas quando está com fome. Quando isso ocorre, eles vão à cantina mais próxima. Se um aluno não tem grana suficiente, ele passa primeiro num caixa eletrônico de um banco.No caixa, o aluno insere seu cartão e tem 3 tentativas para digitar sua senha correta. Em cada tentativa, o caixa se comunica com o banco para validá-la.Os alunos precisam ter dinheiro na conta para poder retirar.

Page 23: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Grupos/Agentes e Classes/Objetos

Grupo Aluno: João e Maria Classe Banco: BB e CEF Classe Caixa: Caixa do BB, Caixa do CEF Classe Cantina: Campeão, Cant. Setor I,... Classe Local de estudo: LCC, Biblioteca,

Setor III Classe Relógio: Relógio

Page 24: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Personal Agent

Conjunto de ferramentas para auxiliar o desenvolvimento de simulações usando Brahms

Composto de:ComposerCompilerVirtual Machine (Motor de simulação)Agent Viewer

Page 25: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Composer IDE para desenvolvimento, auxilia a gerenciar o

desenvolvimento dos modelos

Page 26: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Compiler

Converte os modelos descritos na linguagem Brahms em XML

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE MODEL SYSTEM "DTD\model.dtd"> <!-- Generated at Sat Dec 13 12:01:40 BRST 2003 -->

<MODEL name="NewModel"><AGENTREF ref="brahms.base.ANY-AGENT" /><OBJECTREF ref="brahms.base.Clock" /><OBJECTREF ref="brahms.base.Date" /><AREAREF ref="brahms.base.NoLocation" />

</MODEL>

Page 27: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Virtual Machine(Motor de simulação) A simulação é executada na Brahms Virtual Machine que consiste

de um motor de simulação A VM une todos os elementos do modelo e gera uma simulação resultado da simulação é um arquivo de texto simples com todos os

eventos que ocorreram durante a simulação

workframe|WFR30|wf_moveToLocationForCash|VAR89,VAR91,VAR88, wf-variable|VAR52|forone(projects.atm.BankCard) bkc4|FOR-ONE|true|CLS9precondition|PRE159|knownval(current.waitAtmAsksAmount = true)precondition|PRE160|knownval(current hasBankCard bkc4)precondition|PRE161|knownval(at4 contains bkc4)consequence|CON118|conclude((current.waitAtmAsksAmount = false));consequence|CON119|conclude((at4.RepliedVerification = false));

Page 28: Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente.

Agent Viewer interface gráfica que interpreta a simulação gerando um gráfico

com os dados da simulação organizados em uma linha de tempo