sistemas multiagentes uma visão geral motivação ia distribuída - por que? justificativas e...

61
Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA ACL Cenas dos próximos capítulos

Upload: igor-rijo-anjos

Post on 07-Apr-2016

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Sistemas Multiagentes Uma Visão geral

Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA ACL Cenas dos próximos capítulos

Page 2: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Motivação : Ubiqüidade Ubiqüidade: Do latim “ubiquu”

O que está em todo lugar a toda hora Ubiqüidade Computacional

Os serviços computacionais poderão ser usados em toda parte e a qualquer hora

“Jetsons”, “Matrix”, “Minority Report”. Cenário

SeDi = Secretário Digital Júlia é Engenheira de Tráfego

Page 3: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Motivação : Agentes Reflexão

Cenário dinâmico Integração de diversas mídias e dispositivos

Como implementar? Sugestão: usar Agentes Inteligentes

Agentes Ideal para aplicações autônomas, móveis e inseridas em

uma sociedade Naturalmente capazes de:

Reagir de forma autônoma e reativa Raciocinar de forma pró-ativa Adaptar-se ao ambiente onde estão inseridos Iteragir com outras entidades

Page 4: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Um Cenário...O sistema de tráfego aéreo da Ruritania entrou

em pane, devido a condições atmosféricas adversas. Felizmente, os sistemas de tráfego aéreo computadorizados dos países vizinhos negociam entre si para controlar os vôos afetados. A situação potencialmente desastrosa se passa sem nenhum incidente mais grave.

[Wooldridge e Jennings 95]

Page 5: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

E Mais Um...Imagine que você tem a tarefa de

encontrar um alvo móvel em uma determinada área (lembra de Minority Report?). Seus agentes então negociam entre si uma estratégia para percorrer todo o espaço no menor tempo possível.

Page 6: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

De fato... Mundo onde informações e conhecimentos

crescem (e mudam) rápido demais! O crescimento da Internet trás desafios

constantes que incluem: Acesso a informações relevantes Identificação de oportunidades Ação no momento preciso Manipulação de grandes volumes de informação

Ubiqüidade, Gerenciamento e Ubiqüidade, Gerenciamento e InteligênciaInteligência

Page 7: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Motivação : Agentes Iteração

Solução compartilhada de problemas Requisito básico

Mecanismo de Comunicação Linguagem comum Infra-estrutura

Mas como implementar?

Page 8: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Conceitos Básicos

Page 9: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

IA e Agentes IA cresceu muito nos anos 70 modelando a

inteligência individual. Advento das redes de computadores

modificou as necessidades! Inteligência como a integração dos

processos de raciocinar, decidir, aprender e planejar.

O Modelo de Agente aparece então como catalisador...

Page 10: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

No Entanto... Vários problemas não podem ser tratados

centralizadamente... Controle de linha de metrô Monitoramento de Redes de Computador Diagnóstico Médico Compra e Venda

Como Resolvê-los?Como Resolvê-los?

Page 11: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

A IA Distribuída Grupo de Entidades

que podem Interagir Organização Ação e Interação

Metáfora de inteligência é o Comportamento Comportamento Social.Social.

Page 12: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Várias noções de Distribuição... Resolução Distribuída de Problemas (RDP)

envolve: Um grupo de especialistas Habilidades Complementares Organização Fixa

Solução de Problemas Distribuídos envolve: Sistemas onde é difícil obter uma visão global.

Sistemas Multiagentes (SMA)... Agentes podem preexistir Organização varia em tempo de execução

Page 13: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Um Sistema Multiagente

Ambiente

Esfera de Influência

Organização

Agentes

Interação

Recurso

Page 14: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

RDP X SMA RDP é um subconjunto de SMA

Agentes benevolentes, concebidos em conjunto

SMA é base para RDP Implementação descentralizada de

várias propriedades RDP e SMA são complementares

Page 15: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Relembrando... Algumas Características-chave de

agentes... AutonomiaAutonomia de Decisão AutonomiaAutonomia de Execução CompetênciaCompetência para Decidir AgendaAgenda Própria

Page 16: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Relembrando... II Outras características que podemos

encontrar são: Reatividade Adaptabilidade Mobilidade Personalidade Interatividade Ambiente de Atuação Comunicabilidade

Page 17: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Definindo SMA Um SMA é um sistema que possui os

seguintes elementos: Um ambiente, E Um conjunto de objetos O Um conjunto de Agentes, A (AO) Um conjunto de relações R, que liga objetos Um conjunto de operações Op Operadores que representam os resultados das

operações em Op e as reações do ambiente a eles.

Page 18: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Então... Por que mesmo distribuir?

Porque o problema é fisicamente distribuído.

Porque o problema é heterogêneo. Porque as redes nos obrigam a distribuir. Porque o problema só pode ser resolvido

pela integração de pontos de vista locais. Porque precisamos de adaptação a

mudanças estruturais...

Page 19: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

É boa idéia quando... Precisamos manter a autonomia

das sub-partes; As interações são complexas Não é possível descrever o

Problema a priori.

Page 20: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

As vantagens... Maior rapidez na solução dos

problemas Diminuição do overhead de

comunicação Maior flexibilidade Aumento da Segurança

Page 21: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Resumindo... Um Sistema Multiagentes ...

Consiste de uma coleção de componentes autônomos, com objetivos particulares

Que se interrelacionam De acordo com uma Organização Interagindo para resolver tarefas

Page 22: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Organização Conjunto de Compromisso Globais,

Crenças e intenções comuns aos agentes que querem atingir um objetivo comum.

Definem... Um conjunto de diretrizes... Uma política de interação.

Muitos exemplos! O CIn Sua Família

Page 23: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Coordenação Fundamental para o trabalho conjunto. Um SMA pressupõe coordenação entre seus

agentes! Porque... Há dependências entre as ações Nenhum indivíduo pode resolver o problema

sozinho Deve-se respeitar as restrições globais Deve-se garantir a harmonia na execução

conjunta de tarefas!

Page 24: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Coordenação... III Para coordenar com sucesso é preciso...

Uma estrutura... Flexibilidade nas interações

Comunicação! Negociação!

Conhecimento e raciocínio Para reconhecer interações potenciais entre

planos de ação!

Page 25: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Comunicação Habilita os agentes a intercambiar

informações. Percepção Ação

Modelada sobre a comunicação humana Atos de Fala Blackboard

Tem esforços de padronização!

Page 26: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Negociação Esforço para solução de conflitos e

cooperação Grupo de agentes “self-interested”

que consegue chegar a uma decisão conjunta.

Envolve.. Linguagem Protocolo – ex. Contract Net Processo de Decisão

Page 27: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Então... O fundamental é... Interagir!!!

Com quem? Quando? Qual o conteúdo? Como? Que processos e recursos? Por que? Como estabelecer a compreensão

mútua?

Page 28: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Design de SMA Quando partir para SMA?

Quando o ambiente é aberto; Quando os agentes são a metáfora

natural. Quando há distribuição de dados, controle

ou expertise. Quando estamos lidando com sistemas

legados.

Page 29: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Considerações em SMA Ação

Como coordenar ações? O indivíduo e sua relação com o mundo

Estados mentais Interação

Comunicação Negociação/Argumentação

Implementação

Page 30: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Comunicação...Relação dinâmica mediada por sinais, Relação dinâmica mediada por sinais,

que quando interpretados, afetam os que quando interpretados, afetam os agentes envolvidos.agentes envolvidos.

Possibilita... Possibilita... Cooperação e CoordenaçãoCooperação e Coordenação

Em outra palavras... Comunicação é: Uma forma de ação Utilizada pelo agente para tornar realidade um

estado do mundo

Page 31: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Tipos de comunicação Telepatia

Acesso direto à uma Knowledge Base (KB) Lendo a mente... Cada um com sua KB KB compartilhada

Problemas Podem usar o mesmo símbolo para denotar coisas

diferentes Podem usar símbolos diferentes para denotar a mesma

coisa Linguagem de Comunicação de Agentes (LCA)

Comum

Page 32: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Atos da Fala Categorização das expressões humanas qto

a Intenção do locutor Impacto do ato comunicativo no receptor

Existem aproximadamente 4600 atos de fala! Não é esse o objetivo de uma LCA

Ajuda a decidir as primitivas das LCAs Todo primitiva de uma LCA é um ato de fala

Page 33: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Para dar certo... Searle Condições normais de Entrada/Saída Condições Preparatórias

Receptor capaz de realizar ação Emissor acredita nisto Receptor não deve fazer isto de qq

maneira

Page 34: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Atos da Fala Linguagem Humana

Atos comunicativos são interpretados a partir da mensagem e do contexto

Nem sempre esta interpretação é óbvia Dificuldades

“Cale-se !” (Comando) “Por favor, você pode se calar ?” (Pedido) “Você vai se calar ou não ?” (Pergunta) “Eu gostaria que você se calasse.” (Informação)

Page 35: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Atos da Fala : Categorias Representativos

Expressam uma Proposta Ex: “Vamos jogar boliche

amanhã?” Diretivos

Expressam um Pedido ou Comando

Ex: “Cale-se!” Comissivos

Expressam Promessa ou Ameaça

Ex: “Eu prometo doar R$1.000,00.”

Expressivos Expressam Desculpas ou

Agradecimentos Ex: “Desculpe pelo

atraso?” Declarativos

Mudam o Estado do Mundo Ex: “Eu os declaro

marido e mulher!” Veredictos

Expressam um Julgamento Ex: “West é criminoso.”

Page 36: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Atos da Fala Ato Locucionário

Emissão da mensagem “Você poderia fazer um café?”

Efeito Ilocucionário O que o locutor entende por algo

“Ele me pediu para fazer café” Efeito Perlocucionário

O real efeito do ato comunicativo no receptor “Ele me fez fazer café”

Ideal Efeito perlocucionário previsível Para um dado Ato Locucionário,

Efeito Ilocucionário = Efeito Perlocucionário. Ou seja, prever a reação do receptor!

Page 37: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Linguagens de Comunicação Baseadas na Teoria dos Atos da Fala (Searle, Austin) Objetiva a troca de informações entre agentes

Transporte de mensagens na rede através de protocolos de baixo nível

SMTP, TCP/IP, IIOP ou HTTP Esse transporte é transparente para o usuário

Para o KSE, uma LCA é dividida em: Ontologia Linguagem interna (lógica)

Codificação do conteúdo Linguagem externa

Ato Locucionário (Performativa) Encapsulamento de infomações para o roteamento

Page 38: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Ontologias Definição

Vocabulário cujos termos são relacionados a um certo domínio e precisamente definidos.

Os relacionamentos entre esses termos também são especificadas usando técnicas de modelagem formal

Uma vez especificada… Pode-se construir uma KB relacionadas ao domínio

coberto pela ontologia Esta KB pode ser compartilhada com outros agentes

interessados em conhecimentos sobre este domínio

Page 39: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Linguagem Interna (LI) O que é?

Linguagem em que deve ser codificado o conhecimento que se deseja compartilhar com o destinatário da mensagem

Exemplos KIF ( Knowledge Interchange Format )

Versão prefixada (“LISP like”) da lógica clássica de primeira ordem

Não está totalmente implementada para uso comercial Produzida pelo KSE

Linguagem natural Prolog, SQL, LISP RDF (Resource Description Framework) XML

Ato Comunicativo

ConteúdoMensagemMensagem

Page 40: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Exemplo de uma Mensagem KIF (=(temperatura m1) (scalar 40

Celsius))

(defrelation solteiro (?x) :=(and (man ?x)

(not(casado ?x))))

Page 41: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Linguagem Externa ( LE ) O que é ?

Linguagem que encapsula: O ato comunicativo = ato locucionário = performativa Informações para o roteamento

Agente receptor Ontologia Linguagem interna Conteúdo …

Exemplos KQML FIPA ACL

Page 42: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

KQML : Problemas Ambigüidade e Termos Vagos

O significado de performativas é pouco claro. Performativas com nomes inadequados

Algumas performativas têm nomes que não correspondem diretamente ao ato comunicativo a ela associado

Ex: “tell” Ausência de performativas

Alguns atos comunicativos não estão representados entre as performativas disponíveis - Comissivas

Page 43: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

FIPA

Foundation for Intelligent Physical Agentswww.fipa.org

Page 44: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

FIPA : Histórico FIPA é uma associação sem fins lucrativos

fundada em 1996 e localizada em Genebra na Suíça

Objetiva promover o sucesso das aplicações, serviços e equipamentos baseados em agentes

Provê especificações para maximizar a interoperabilidade entre aplicações, serviços e equipamentos baseados em agentes

Page 45: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

FIPA FIPA x KQML

Ao contrário do KQML, as especificações FIPA têm uma grande preocupação com a modelagem semântica

Linguagem de Comunicação de Agentes FIPA ACL

Linguagens Internas FIPA Content Language Library (FIPA-CLL) FIPA-SL, FIPA-RDF, FIPA-CCL, FIPA-KIF, … Mas também é independente de LI

Page 46: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

FIPA ACL Sintaxe

Praticamente igual ao KQML Conjunto de performativas menor

accept-proposal, agree, cancel, cfp, confirm, disconfirm, failure, inform, inform-if, inform-ref, not-understood, propose, query-if, query-ref, refuse, reject-proposal, request, request-when, request-whenever, subscribe

Semântica Definida precisamente Mensagens são mapeadas na FIPA-SL <i, inform(j, ) pre: Bi Bi (Bifj Uifj )

Efeito: Bj

Page 47: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Definindo Performativas... Inform – ato representativo, uma ação

Está sol lá fora. Estou com sono.

Visa.. Modificar as crenças de agentes Não pode ser realizado por acidente São uma tentativa

Page 48: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Request Ato Diretivo Tenta modificar as intenções do

destinatário Dois tipos diferentes

Request-to Request-that

Page 49: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

FIPA ACL x KQML Igualdades

Independência de IL e de ontologias Sintaxe idêntica

Diferenças Visível principalmente na semântica Performativas são diferentes Os agentes de FIPA ACL são proibido de

manipular diretamente a KB de outros agentes

Page 50: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Diferenças (situação fictícia)

Em KQML Mensagem de A para B: achieve goal X Usa todo o vocabulário da LCA (performativa

“achieve”) Em FIPA ACL

Mensagem de A para B: inform ( achieve goal X ) A LCA não entende! A LI sim! Elimina a necessidade da performativa achieve na

LCA

ConteúdoConteúdo

FIPA ACL x KQML

Page 51: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Exemplo A1 envia a seguinte mensagem para A2 ...

( inform:sender A1:receiver A2:reply-with id1:language ... :ontology ...:content ((= available-service A1)

(set(provide Professor(X,Y))))”

Page 52: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Exemplo A2 pergunta então a A1 ...

( query-ref:sender A2:receiver A1:in-reply-toid1:reply-with id2:language Prolog:ontology CIn:content “Professor(X, ‘Agentes’)”)

Page 53: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Exemplo A1 responde ao agente A2 ...

( inform:sender A1:receiver A2:in-reply-to id2:reply-with id3:language Prolog:ontology CIn:content “X = Geber, X = Flávia,

X = Jacques...”)

Page 54: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Exemplo

A simple one...

Page 55: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Agente Somador Linguagens

Java KQML

Ferramentas SACI (Simple Agent Communication

Infrastructure)

Page 56: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

SociedadeSociedade

Agente Somador

Agente Servidor Agente Cliente

Facilitador

(1) Advertise(1) Advertise(2) Get Possible Servers(2) Get Possible Servers(3) Forward(3) Forward

(5) Forward(5) Forward(4) Ask One(4) Ask One

(6) Tell(6) Tell

Page 57: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Plus Serverpublic static void main(String[] args) {

Agent a = new PlusServer();if (a.enterSoc("APlusServer")) { mbox.advertise("ask-one", "algebra", "matematica", "X+Y"); a.run(); // Fica lendo o Mailbox}

}

Page 58: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Plus Server public void run() {

while (running) {Message m = mbox.polling(); if (m.get("performative").equals("forward")) { m = new Message(m.get("content").toString());}if (m.get("performative").equals("ask-one")) {

Message r = new Message("(tell)"); r.put("receiver", m.get("sender")); r.put("in-reply-to", m.get("reply-with")); r.put("content",

calcula( (String)m.get("content") ) ); mbox.forward(r);

} else { System.out.println("ignorando a mensagem"); } }

}

Page 59: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Plus Client public static void main(String[] args) {

PlusClient a = new PlusClient();if (a.enterSoc("AClient")) {

a.run(args[0]);}

}

Page 60: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Plus Client public void run(String exp) { String ag = mbox.consultYP("ask-one", "algebra", "matematica", "X+Y"); Message m = new Message("(ask-one :content \""+ exp + "\")"); m.put("receiver", ag); m.put("reply-with", "rSoma"); mbox.forward(m); Message resposta = mbox.polling(); if (resposta.get("performative").equals("forward")) { resposta = new Message(resposta.get("content").toString()); } if ( ((String)resposta.get("in-reply-to")).equals("rSoma")) { System.out.println("\n\n>>>>>>>>> Resposta de “ + resposta.get("sender") + " foi “ + resposta.get("content")); } mbox.disconnect();}

Page 61: Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA

Cenas dos Próximos Capítulos

Vimos... Motivação para SMA Cuidados em seu projeto Aplicações

Veremos Comunicação entre agentes Organizações Protocolos de Cooperação e Negociação