Implementação de Agentes BDI - Wiki LES PUC-Rio

Propaganda
Ingrid Oliveira de Nunes
Modelo e da Arquitetura BDI
[email protected]
Sumário
 Motivação
 Objetivos
 Introdução
 Modelo e Arquitetura BDI
 Implementação de Agentes BDI
 Conclusão
 Referências
[email protected]
Motivação
 Sistemas Multi-Agentes (SMA)
 Importante nova direção da Engenharia de
Software
 Alguns SMAs requerem agentes com raciocínio
 Uso de técnicas de Inteligência Artificial
 Modelo BDI
 Considerado a melhor forma de modelagem de
agentes com raciocínio
 Implementação de Agentes BDI
 Existência de várias linguagens e plataformas
[email protected]
Objetivo
 Estudo comparativo entre formas de
implementação de agentes com
raciocínio (agentes cognitivos)
[email protected]
Introdução
 Sistemas Multi-Agentes (SMA)
 Por que agentes e SMA?
 Metáfora Natural
 Objetos passivos + Agentes interativos, ativos e com
objetivos
 Distribuição do Controle de Dados
 Sistemas Legados
 Sistemas Abertos
[email protected]
Introdução
 Sistemas Multi-Agentes (SMA)
 Características dos Agentes
 Autonomia: agentes encapsulam estado
 Reatividade: agentes estão situados em algum
ambiente. São capazes de percebê-lo e
responder a alterações que nele ocorrem
 Pró-atividade: agentes são capazes de exibir
comportamento orientado a objetivos
 Habilidade Social: agentes podem ser
comunicar com outros agentes
[email protected]
Introdução
 Sistemas Multi-Agentes (SMA)
 Outras Características dos Agentes
 Adaptação: agente altera comportamento de
acordo com um novo contexto
 Aprendizado: agente altera comportamento
com base na experiência
 Racionalidade: agentes são capazes de
selecionar ações de acordo com objetivos
 Mobilidade: agentes são capazes de se mover
de um ambiente para outro
[email protected]
Introdução
 Sistemas Multi-Agentes (SMA)
 Outras Características dos Agentes
 Adaptação: agente altera comportamento de
acordo com um novo contexto
 Aprendizado: agente altera comportamento
com base na experiência
 Racionalidade: agentes são capazes de
selecionar ações de acordo com objetivos
 Mobilidade: agentes são capazes de se mover
de um ambiente para outro
[email protected]
Introdução
[email protected]
Introdução
 Agentes com Raciocínio
 Agentes Cognitivos
 Melhor forma de modelagem conhecida
 Modelo belief-desire-intention (BDI)
 Modelo BDI (Bratman)
 Explica comportamento do raciocínio humano
 Arquitetura BDI (Rao and Georgeff)
 Teoria formal
 Interpretador Abstrato
[email protected]
Modelo e Arquitetura BDI
 Muitas abordagens propõem diferentes

atitudes mentais e seus relacionamentos
Modelo BDI
 Considerado o melhor modelo conhecido
 Proposto por Bratman
 Intention, Plans, and Practical Reason (1987)
 Teoria filosófica que explica o comportamento
humano com três atitudes mentais
 Beliefs
 Desires
 Intentions
[email protected]
Modelo e Arquitetura BDI
 Modelo BDI
 Beliefs
 Características do ambiente
 Atualizadas após a percepção de cada ação
 Componente informativo do sistema
 Desires
 Informação sobre os objetivos a serem atingidos
 Representação do estado motivacional do sistema
 Intentions
 Atual plano de ação escolhido
 Componente deliberativo do sistema
[email protected]
Modelo e Arquitetura BDI
 Arquitetura BDI
 Proposta por Rao and Georgeff
 BDI-agents: from theory to practice (1995)
 Adotou o modelo BDI para agentes de software
 Introduziu
 Teoria Formal
 Interpretador BDI abstrato
 Base para sistemas BDI históricos e atuais
 Procedural Reasoning Systems (PRS)
 Primeiro sistema implementado com sucesso
[email protected]
Modelo e Arquitetura BDI
 Beliefs
 Informações do agente sobre seu ambiente
 Belief Revision Function
 Determina novo conjunto de crenças a partir da
percepção da entrada e das crenças atuais
 Option Generation Function
 Determina as opções disponíveis ao agentes
(desejos), com base nas crenças sobre o
ambiente e nas suas intenções
 Desires
 Possíveis planos de ações disponíveis ao agente
[email protected]
Modelo e Arquitetura BDI
 Filter
 Processo de deliberação do agente
 Determina intenções do agente com base nas
suas crenças, desejos e intenções atuais
 Intentions
 Foco atual do agente
 Estados que o agente está determinado a
alcançar
 Action Selection Function
 Determina ação a ser executada com base nas
intenções atuais
[email protected]
Modelo e Arquitetura BDI
Sensor
Input
Belief Revision
Function
Beliefs
Option Generation
Function
Desires
Action
Filter
Intentions
[email protected]
Action Selection
Function
Output
Implementação de Agentes BDI
 Variedade de Linguagens e Plataformas
para Implementação de Agentes BDI
 Plataformas estudadas




JACKTM Intelligent Agents
Jadex
JAM
Jason
[email protected]
TM
JACK Intelligent Agents
 Framework para o desenvolvimento de
sistemas multi-agentes
 Desenvolvido pela Agent Oriented
Software Pty. Ltd. (AOS)
 Melbourne, Austrália
 Linguagem
 JACK Agent Language
[email protected]
JACK
 Características




Leve, requer poucos recursos de sistema
Comunicação transparente entre agentes
Ferramentas de Desenvolvimento
Aplicações Comerciais
 UVAs (Unmanned Aerial Vehicles)
 Gerenciamento de tráfego aéreo
 Real-time scheduling
[email protected]
JACK
 JACK Agent Language
 Linguagem de programação orientada a
agentes
 Extensões à linguagem Java
 Novas classes, interfaces e métodos
 Extensões à sintaxe de Java
 Compilador: JACK AL para Java
 Extensões semânticas
 Suporte ao modelo de execução requerido por um
sistema orientado a agente
[email protected]
JACK
JACK Development
Environment
[email protected]
JAM
 Arquitetura de agentes inteligentes
 Desenvolvido pela Intelligent
Reasoning Systems (I.R.S.)
 Oceanside, California
 Linguagem
 JAM
[email protected]
JAM
 Características
 Alguns bugs / limitações reportados
 Nenhuma aplicação comercial conhecida
 Nenhuma ferramenta de desenvolvimento
[email protected]
JAM
[email protected]
Jason
 Interpretador para uma
versão estendida da
linguagem AgentSpeak(L)
 Desenvolvido por
 Jomi F. Hübner (Blumenau, BR)
 Rafael H. Bordini (Durham, UK)
 Linguagem
 Agent Speak (L)
[email protected]
Jason
 Características
 Agent Speak (L) possui semântica formal
 Possibilita verificação formal
 Ferramentas de Desenvolvimento
 Nenhuma aplicação comercial conhecida
[email protected]
Jason
 Agent Speak (L)
 Linguagem de programação orientada a
agentes
 Baseada na lógica de primeira ordem
 Inspirada na
 Arquitetura BDI
 Lógica BDI
[email protected]
Jason
Jason IDE
[email protected]
Jason
Jason’s Mind
Inspector
[email protected]
Jadex
[email protected]
Jadex
 Mecanismo de raciocínio BDI para
agentes inteligentes
 Projeto conduzido pelo Distributed
Systems and Information Systems
Group
 University of Hamburg, Alemanha
 Linguagem
 Java e XML
[email protected]
Jadex
 Características
 Não introduz nova linguagem
 FIPA Compliant
 Uso do JADE como plataforma SMA
 Integração com ferramenta de projeto de
Ontologias
 Protégé
 Ferramentas de Desenvolvimento
 Aplicações Comerciais
 MedPAge
 Dynatech
 Bookstore
[email protected]
Jadex
 Principais Componentes
 Belief




Conhecimento do agente sobre ambiente e si mesmo
Podem ser qualquer objeto Java
Armazenadas em uma base de crenças
Permite consulta através de OQL-like query language
 Goal
 Orientam ações do agente
 Desejos concretos e momentâneos do agente
 Agente executa ações apropriadas até que o objetivo
seja considerado
 Atingido
 Inatingível
 Não mais desejado
[email protected]
Jadex
 Principais Componentes
 Plan
 Forma como o agente atuará em seu ambiente
 Dependendo da situação corrente
 Planos selecionados como resposta à ocorrência de
eventos ou de objetivos
 Seleção de planos feita automaticamente pelo sistema
 Capability
 Crenças, planos e objetivos podem ser colocados em
um módulo de agente
 Podem conter subcapacidades formando uma hierarquia
 Possibilidade de reuso
[email protected]
Jadex
 Principais Componentes
 Event
 Importante propriedade dos agentes
 Capacidade de reagir a diferentes tipos de eventos
 Jadex suporta dois tipos de eventos a nível de aplicação
 Eventos internos
• Usados para denotar uma ocorrência dentro de um
agente
 Eventos mensagem
• Comunicação entre dois agente ou mais
 Normalmente tratados por planos
[email protected]
Jadex
[email protected]
[email protected]
JADEX
Agent Definition File
[email protected]
Jadex
Exemplo de Código
[email protected]
Jadex
[email protected]
Jadex
[email protected]
Jadex
[email protected]
Jadex
[email protected]
Jadex
[email protected]
Jadex
Ferramentas
[email protected]
Jadex
Jadex Control
Center
[email protected]
Jadex
Jadex
Starter
[email protected]
Jadex
DF Browser
[email protected]
Jadex
Conversation
Center
[email protected]
Jadex
Introspector
[email protected]
Jadex
BDI Tracer
[email protected]
Jadex
Test Center
[email protected]
Jadex
Jadexdoc
Tool
[email protected]
Jadex
Beanynizer
[email protected]
Comparação
Linguagem
JACK
JACK (extensão de Java)
Jadex
Java e XML
JAM
JAM (extensão de Java)
Jason Agent Speak (L)
[email protected]
Comparação
Ferramentas de Desenvolvimento
JACK
IDE e Debug
Jadex
Ferramentas para execução, debug e
documentação
JAM
-
Jason IDE e Mind Inspector
[email protected]
Comparação
Aplicações Comerciais
JACK
UVAs, Tráfego Aéreo e Real-time
Scheduling
Jadex
MedPAge, Dynatech e Bookstore
JAM
-
Jason [email protected]
Comparação
Outras Características
JACK
Jadex
JAM
Não é livre, Leve, Preocupação com
Indústria
FIPA-Compliant, Facilidade de
Integração com Ontologias
-
Jason Semântica Formal
[email protected]
Comparação
 Todos os SMAs são escritos em Java
ou uma extensão da linguagem
 Herança das vantagens
 Portabilidade
 Variedade de
 Ambientes de Desenvolvimento
 Outras Ferramentas
 Bibliotecas já existentes
[email protected]
Referências
Rafael H. Bordini, Michael Wooldridge, and Jomi Fred Häubner.
Programming Multi-Agent Systems in AgentSpeak using Jason
(Wiley Series in Agent Technology). John Wiley & Sons, 2007.
Michael E. Bratman. Intention, Plans, and Practical Reason.
Cambridge, MA, 1987.
Nick Howden, Ralph Rönnquista, Andrew Hodgson, and Andrew
Lucas. Jack intelligent agentsTM: Summary of an agent
infrastructure. In The Fifth International Conference on
Autonomous Agents, Montreal, Canada, 2001.
Marcus J. Huber. Jam: a bdi-theoretic mobile agent architecture. In
AGENTS '99: Proceedings of the third annual conference on
Autonomous Agents, pages 236-243, New York, NY, USA, 1999.
ACM.
[email protected]
Referências
I. Nunes: Implementação do Modelo e da Arquitetura BDI.
Technical report, PUC-Rio, Computer Science Department, LES
(December 2007)
A. Pokahr, L. Braubach, and W. Lamersdorf. Jadex: Implementing
a BDI-Infrastructure for JADE Agents. EXP - in search of
innovation, 3(3):76-85, 2003.
A. S. Rao and M. P. Georgeff. BDI-agents: from theory to practice.
In Proceedings of the First Intl. Conference on Multiagent
Systems, San Francisco, 1995.
Mike Wooldridge and P. Ciancarini. Agent-Oriented Software
Engineering: The State of the Art. In P. Ciancarini and M.
Wooldridge, editors, First Int. Workshop on Agent-Oriented
Software Engineering, volume 1957, pages 1-28. SpringerVerlag, Berlin, 2000.
[email protected]
Download