comunica o entre agentes inteligentes l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Comunicação entre Agentes Inteligentes PowerPoint Presentation
Download Presentation
Comunicação entre Agentes Inteligentes

Loading in 2 Seconds...

play fullscreen
1 / 45

Comunicação entre Agentes Inteligentes - PowerPoint PPT Presentation


  • 110 Views
  • Uploaded on

Comunicação entre Agentes Inteligentes. Ryan Leite Albuquerque < ryan@cesar.org.br >. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Comunicação entre Agentes Inteligentes' - redford


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
comunica o entre agentes inteligentes

Comunicação entre Agentes Inteligentes

Ryan Leite Albuquerque < ryan@cesar.org.br >

motiva o ubiq idade
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”, “Sexto Dia”, “Matrix”. Algo familiar ?
  • Cenário
    • SeDi = Secretário Digital
    • Júlia é Engenheira de Tráfego
motiva o cen rio de um sedi
Motivação : Cenário de um SeDi
  • Chegada ao Aeroporto
    • Visto de entrada
    • Caminho até o ponto de ônibus (óculos)
  • A Caminho do Hotel
    • Deficiente visual ajudado pelo SeDi e o SeDi do ônibus
    • Compras
      • Localização e comparação das lojas que vendem o produto
  • Conferência
    • Nível de ansiedade (monitoramento)
      • Reprodução do CD da Enia
    • Demonstrações online
      • Animações holográficas
      • Conexão com as câmeras online nas avenidas
motiva o cen rio de um sedi4
Motivação : Cenário de um SeDi
  • Comemoração
    • Ninguém tem que combinar nada
      • Os SeDis decidem onde ir baseados nos perfis
    • Pagamento
      • Automático. Sem estresse. Da melhor forma para Júlia.
  • Voltando pra casa...
    • Putz! E as compras?
      • O presente já está sendo entregue
    • Chegando em casa
      • Suprimentos
      • Curriculum
motiva o agentes
Motivação : Agentes
  • Reflexão
    • Cenário altamente dinâmico
    • Integração de diversas mídias e dispositivos
  • Como implemnetar?
    • Sugestão: usar Agentes Inteligentes
  • Agentes
    • Conjunto de metáforas, técnicas e ferramentas
    • 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
motiva o agentes6
Motivação : Agentes
  • Iteração
    • Solução compartilhada de problemas
    • Requisito básico
      • Mecanismo de Comunicação
        • Linguagem comum
        • Infra-estrutura
  • Mas como implementar?
roteiro
Roteiro
  • Conceitos Básicos
    • Tipos de Comunicação
    • Atos da Fala
    • Linguagens de Comunicação
    • Linguagens de Conteúdo
    • Ontologias
  • KQML
  • FIPA ACL
  • Exemplo
  • Ferramentas
tipos de comunica o
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
atos da fala
Atos da Fala
  • Categorização das expressões humanas qto a
    • Intenção do locutor
    • Impacto ou reação do ato comunicativo causado no estado mental do receptor
  • Existem aproximadamente 4600 atos de fala!
    • Não é esse o objetivo de uma ACL
  • Ajuda a decidir as primitivas das ACLs
    • Todo primitiva de uma ACL é um ato de fala
atos da fala11
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)
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.”

Atos da Fala : Categorias
atos da fala13
Atos da Fala
  • Ato Locucionário
    • Emissão da mensagem
  • Efeito Ilocucionário
    • O que o locutor entende por algo
  • Efeito Perlocucionário
    • O real efeito do ato comunicativo no receptor
  • Ideal
    • Efeito perlocucionário previsível
    • Para um dado Ato Locucionário,
      • Efeito Ilocucionário = Efeito Perlocucionário.
    • Em miúdos, prever a reação do receptor!
linguagens de comunica o
Linguagens de Comunicação
  • Baseadas na Teoria dos Atos da Fala
  • 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
ontologias
Ontologias
  • Definição
    • É um vocabulário cujos termos são relacionados a um certo domínio e precisamente definidos por textos como entradas de dicionário ou de enciclopédias
    • 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
linguagem interna li

Ato Comunicativo

Conteúdo

Mensagem

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
linguagem externa le
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
slide18

KQML

Knowledge Query and Manipulation Language

slide19
KQML
  • Objetivo
    • Interoperabilidade entre agentes de software em aplicações distribuídas e/ou heterogênea
  • Pioneira ( KSE – 1994 )
  • Aplicações
    • eCommerce (negociação)
    • Jogos
    • BDs distribuídos e/ou heterogêneos
    • Integração de tecnologias
    • ...
kqml caracter sticas
KQML : Características
  • Principais características da linguagem:
    • Independente de Linguagem Interna
    • Independente de Ontologia
    • Independente de Protocolos deTransporte de Rede
    • Comunicação baseada nos atos da fala
      • Performativas
    • Sugere o uso de Agentes Facilitadores
    • Camadas:
      • Comunicação, Conteúdo e Mensagem
kqml sintaxe
KQML : Sintaxe

( performativa

:sender <word>

:receiver <word>

:reply-with <word>

:in-reply-to <word>

:language <word>

:ontology <word>

:content <expression>

)

Camada de Comunicação

Camada de Mensagem

Camada de Conteúdo

kqml performativas
KQML : Performativas
  • Performativas Típicas
    • tell : informa que o conteúdo da mensagem está na KB do locutor
    • ask-if : o locutorquer saber se o conteúdo de sua mensagem é verdadeiro para o receptor
    • advertise : o locutor quer que o receptor saiba que ele pode processar mensagens no modelo do seu conteúdo
    • insert : o locutor “pede” ao receptor que adicione o conteúdo da mensagem à sua KB
  • Outras Performativas
    • achieve, ask-about, ask-all, ask-one, break, broadcast, broker-all, broker-one, deny, delete, delete-all, delete-one, discard, eos, error, evaluate, forward, generator, monitor, …
exemplo
Exemplo
  • A1 envia a seguinte mensagem para A2 ...

( advertise

:sender A1

:receiver A2

:reply-with id1

:language KQML

:ontology kqml-ontology

:content ( ask-if

:sender A2

:receiver A1

:in-reply-to id1

:language Prolog

:ontology CIn

:content “Professor(X,Y)”))

exemplo24
Exemplo
  • A2 pergunta então a A1 ...

( ask-if

:sender A2

:receiver A1

:in-reply-to id1

:reply-with id2

:language Prolog

:ontology CIn

:content “Professor(X, ‘Agentes’)”

)

exemplo25
Exemplo
  • A1 responde ao agente A2 ...

( tell

:sender A1

:receiver A2

:in-reply-to id2

:reply-with id3

:language Prolog

:ontology CIn

:content “X = Geber, X = Flávia, X = Jacques...”

)

kqml problemas
KQML : Problemas
  • Ambigüidade e Termos Vagos
    • O significado de performativas reservadas é pouco claro. Normalmente estão associadas à intuição e ao domínio da linguagem natural do intérprete
  • 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
slide27

FIPA

Foundation for Intelligent Physical Agents

fipa hist rico
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
slide29
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 Interna
    • FIPA Content Language Library (FIPA-CLL)
    • FIPA-SL, FIPA-RDF, FIPA-CCL, FIPA-KIF, …
    • Mas também é independente de LI
fipa acl
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
      • E só estes!
  • Semântica
    • Definida precisamente
fipa acl x kqml
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
    • Tratamento diferente do gerenciamento dos agentes e das primitivas de administração
      • Em FIPA ACL register, unregister, ..., são tratados por um módulo a parte
fipa acl x kqml32
FIPA ACL x KQML
  • 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: tell ( achieve goal X )
      • A LCA não entende! A LI sim!
      • Elimina a necessidade da performativa achieve na LCA
  • Questão ainda em aberto!

Conteúdo

exemplo33

Exemplo

A simple one...

agente somador
Agente Somador
  • Linguagens
    • Java
    • KQML
  • Ferramentas
    • SACI (Simple Agent Communication Infrastructure)
agente somador35
Agente Somador

Sociedade

Facilitador

(1) Advertise

(2) Get Possible Servers

(4) Ask One

(3) Forward

(5) Forward

(6) Tell

Agente Servidor

Agente Cliente

plus server
Plus Server

public 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

}

}

plus server37
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");}

}

}

plus client
Plus Client

public static void main(String[] args) {

PlusClient a = new PlusClient();

if (a.enterSoc("AClient")) {

a.run(args[0]);

}

}

plus client39
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();

}

crit rios
Critérios
  • Ferramentas escritas em Java
  • Com download disponível
  • Manuais de instalação e configuração
    • O mínimo necessário
  • Divisão
    • Ambientes Completos
    • Bibliotecas de Classes Java (API)
refer ncias
Referências
  • KQML
    • http://www.cs.umbc.edu/kqml/
  • FIPA
    • http://www.fipa.org/
  • SACI
    • http://www.lti.pcs.usp.br/saci/
  • FIPA x KQML
    • http://www.objs.com/agility/tech-reports/9807-comparing-ACLs.html
refer ncias44
Referências
  • Finin, Tim and Labrou, Yannis. A Proposal for a new KQML Specification;
  • Finin, Tim., Labrou, Yannis and Mayfield, James. KQML as na communication language.
  • Finin, Tim and Fritzon, Rich. KQML - A language and Protocol for Knowledge and Information Exchange.
  • Finin, Tim and Labrou, Yannis. Semantics and Conversations for na Agent Communication Language
  • Patil, Ramesh S., Fikes Richard E., Patel-Schneider Peter F. ., Don Mckay, Finnin, Tim., Gruber, Thomas and Neches Robert. The DARPA Knowledge Sharing Effort : Progress Report
refer ncias45
Referências
  • Hübner, Jomi and Sichman, Jaime, "SACI: Uma Ferramenta para Implementação e Monitoração da Comunicação entre Agentes", IBERAMIA'2000, SBIA'2000, Atibaia-SP, novembro de 2000 (http://www.lti.pcs.usp.br/saci/)
  • Andrew C. Huang, Benjamin C. Ling, Shankar Ponnekanti, Armando Fox. “Pervasive Computing: What Is It Good For?. In proceedings of the Workshop on Mobile Data Management (MobiDE) in conjunction with ACM MobiCom '99, Seattle, WA, September 1999 (forthcoming)