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

Post on 07-Apr-2016

229 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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]

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.

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

Motivação : Agentes Iteração

Solução compartilhada de problemas Requisito básico

Mecanismo de Comunicação Linguagem comum Infra-estrutura

Mas como implementar?

Conceitos Básicos

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

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?

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.

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

Um Sistema Multiagente

Ambiente

Esfera de Influência

Organização

Agentes

Interação

Recurso

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

Relembrando... Algumas Características-chave de

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

Relembrando... II Outras características que podemos

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

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.

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

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

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

problemas Diminuição do overhead de

comunicação Maior flexibilidade Aumento da Segurança

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

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

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!

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!

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!

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

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?

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.

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

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

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

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

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

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

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

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

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

Celsius))

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

(not(casado ?x))))

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

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

FIPA

Foundation for Intelligent Physical Agentswww.fipa.org

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

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

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

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

Request Ato Diretivo Tenta modificar as intenções do

destinatário Dois tipos diferentes

Request-to Request-that

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

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

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

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’)”)

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...”)

Exemplo

A simple one...

Agente Somador Linguagens

Java KQML

Ferramentas SACI (Simple Agent Communication

Infrastructure)

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

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}

}

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 public static void main(String[] args) {

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

a.run(args[0]);}

}

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();}

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

top related