A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Modelos Baseados em Agentes Prof. André Campos 01/12/2004 PlataformasMulti-Agente."— Transcrição da apresentação:

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

2 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 )www.agentlink.orgwww.multiagent.org Problema = qual utilizar?

3 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)

4 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

5 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

6 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

7 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!!!!

8 E Linguagens? Paradigma de programação diferente da abordagem objeto Poucas linguagens robustas Existem linguagens OA direcionadas a aplicações específicas Ex: Brahms Simulação Multi-Agent

9 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.

10 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)

11 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.

12 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

13 Exemplos de Classes e Objetos class 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) and knownval(current.readyToTransmit = true)) do { processReplyAtm(); replyAtm(at3,bka); conclude((current. accountCode = at3.currentAccountCode), bc:100, fc:100); }

14 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 agentes Ex: Grupo de alunos. Grupo de professores. Grupo está para Classe, assim como Objeto está para Agente

15 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 agentes Representa um estado do mundo

16 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

17 Exemplo de Workframe workframe 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); }

18 Atividades Realiza uma ação, que pode ser do tipo: Comunicação: communication, broadcast Locomoção: move Criacional: create agent, object Composta: composite Externas: java

19 Quadro de pensamento Define o raciocínio (dedução) dos agentes Regras 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

20 Áreas Geográficas Modelo definido através de áreas e de caminhos entra áreas area areadef path 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; }

21 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

22 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.

23 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

24 Personal Agent Conjunto de ferramentas para auxiliar o desenvolvimento de simulações usando Brahms Composto de: Composer Compiler Virtual Machine (Motor de simulação) Agent Viewer

25 Composer IDE para desenvolvimento, auxilia a gerenciar o desenvolvimento dos modelos

26 Compiler Converte os modelos descritos na linguagem Brahms em XML

27 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|CLS9 precondition|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));

28 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


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

Apresentações semelhantes


Anúncios Google