Sistemas Multiagentes Uma Viso geral n n n

  • Slides: 61
Download presentation
Sistemas Multiagentes Uma Visão geral n n n n Motivação IA Distribuída - por

Sistemas Multiagentes Uma Visão geral n n n n 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 n Ubiqüidade: Do latim “ubiquu” n n Ubiqüidade Computacional n n

Motivação : Ubiqüidade n Ubiqüidade: Do latim “ubiquu” n n Ubiqüidade Computacional n n n O que está em todo lugar a toda hora Os serviços computacionais poderão ser usados em toda parte e a qualquer hora “Jetsons”, “Matrix”, “Minority Report”. Cenário n n Se. Di = Secretário Digital Júlia é Engenheira de Tráfego

Motivação : Agentes n Reflexão n n n Como implementar? n n Cenário dinâmico

Motivação : Agentes n Reflexão n n n Como implementar? n n Cenário dinâmico Integração de diversas mídias e dispositivos Sugestão: usar Agentes Inteligentes Agentes n n Ideal para aplicações autônomas, móveis e inseridas em uma sociedade Naturalmente capazes de: n n 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,

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

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. . . n n Mundo onde informações e conhecimentos crescem (e mudam)

De fato. . . n n Mundo onde informações e conhecimentos crescem (e mudam) rápido demais! O crescimento da Internet trás desafios constantes que incluem: n n n 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 Inteligência

Motivação : Agentes n Iteração n n Solução compartilhada de problemas Requisito básico n

Motivação : Agentes n Iteração n n Solução compartilhada de problemas Requisito básico n Mecanismo de Comunicação n n n Linguagem comum Infra-estrutura Mas como implementar?

Conceitos Básicos

Conceitos Básicos

IA e Agentes n n IA cresceu muito nos anos 70 modelando a inteligência

IA e Agentes n n 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. . . n Vários problemas não podem ser tratados centralizadamente. . .

No Entanto. . . n Vários problemas não podem ser tratados centralizadamente. . . n n Controle de linha de metrô Monitoramento de Redes de Computador Diagnóstico Médico Compra e Venda Como Resolvê-los?

A IA Distribuída n Grupo de Entidades que podem Interagir n n n Organização

A IA Distribuída n Grupo de Entidades que podem Interagir n n n Organização Ação e Interação Metáfora de inteligência é o Comportamento Social.

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

Várias noções de Distribuição. . . n Resolução Distribuída de Problemas (RDP) envolve: n n Solução de Problemas Distribuídos envolve: n n Um grupo de especialistas Habilidades Complementares Organização Fixa Sistemas onde é difícil obter uma visão global. Sistemas Multiagentes (SMA). . . n n Agentes podem preexistir Organização varia em tempo de execução

Um Sistema Multiagente Interação Organização Agentes Recurso Esfera de Influência Ambiente

Um Sistema Multiagente Interação Organização Agentes Recurso Esfera de Influência Ambiente

RDP X SMA n RDP é um subconjunto de SMA n n SMA é

RDP X SMA n RDP é um subconjunto de SMA n n SMA é base para RDP n n Agentes benevolentes, concebidos em conjunto Implementação descentralizada de várias propriedades RDP e SMA são complementares

Relembrando. . . n Algumas Características-chave de agentes. . . n n Autonomia de

Relembrando. . . n Algumas Características-chave de agentes. . . n n Autonomia de Decisão Autonomia de Execução Competência para Decidir Agenda Própria

Relembrando. . . II n Outras características que podemos encontrar são: n n n

Relembrando. . . II n Outras características que podemos encontrar são: n n n n Reatividade Adaptabilidade Mobilidade Personalidade Interatividade Ambiente de Atuação Comunicabilidade

Definindo SMA n Um SMA é um sistema que possui os seguintes elementos: n

Definindo SMA n Um SMA é um sistema que possui os seguintes elementos: n n n Um ambiente, E Um conjunto de objetos O Um conjunto de Agentes, A (A O) 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? n n n Porque o problema é

Então. . . Por que mesmo distribuir? n n n 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. . . n n n Precisamos manter a autonomia das

É boa idéia quando. . . n n n Precisamos manter a autonomia das sub-partes; As interações são complexas Não é possível descrever o Problema a priori.

As vantagens. . . n n Maior rapidez na solução dos problemas Diminuição do

As vantagens. . . n n Maior rapidez na solução dos problemas Diminuição do overhead de comunicação Maior flexibilidade Aumento da Segurança

Resumindo. . . n Um Sistema Multiagentes. . . n n Consiste de uma

Resumindo. . . n Um Sistema Multiagentes. . . n n Consiste de uma coleção de componentes autônomos, com objetivos particulares Que se interrelacionam n n De acordo com uma Organização Interagindo para resolver tarefas

Organização n n Conjunto de Compromisso Globais, Crenças e intenções comuns aos agentes querem

Organização n n Conjunto de Compromisso Globais, Crenças e intenções comuns aos agentes querem atingir um objetivo comum. Definem. . . n n n Um conjunto de diretrizes. . . Uma política de interação. Muitos exemplos! n n O CIn Sua Família

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

Coordenação n n Fundamental para o trabalho conjunto. Um SMA pressupõe coordenação entre seus agentes! Porque. . . n n 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 n Para coordenar com sucesso é preciso. . . n

Coordenação. . . III n Para coordenar com sucesso é preciso. . . n n Uma estrutura. . . Flexibilidade nas interações n n n Comunicação! Negociação! Conhecimento e raciocínio n Para reconhecer interações potenciais entre planos de ação!

Comunicação n Habilita os agentes a intercambiar informações. n n n Modelada sobre a

Comunicação n Habilita os agentes a intercambiar informações. n n n Modelada sobre a comunicação humana n n n Percepção Atos de Fala Blackboard Tem esforços de padronização!

Negociação n Esforço para solução de conflitos e cooperação n n Grupo de agentes

Negociação n Esforço para solução de conflitos e cooperação n n Grupo de agentes “self-interested” que consegue chegar a uma decisão conjunta. Envolve. . n n n Linguagem Protocolo – ex. Contract Net Processo de Decisão

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

Então. . . O fundamental é. . . n Interagir!!! n n n Com quem? Quando? Qual o conteúdo? Como? Que processos e recursos? Por que? Como estabelecer a compreensão mútua?

Design de SMA n Quando partir para SMA? n n Quando o ambiente é

Design de SMA n Quando partir para SMA? n n 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 n Ação n n O indivíduo e sua relação com o

Considerações em SMA n Ação n n O indivíduo e sua relação com o mundo n n Estados mentais Interação n n n Como coordenar ações? Comunicação Negociação/Argumentação Implementação

Comunicação. . . Relação dinâmica mediada por sinais, que quando interpretados, afetam os agentes

Comunicação. . . Relação dinâmica mediada por sinais, que quando interpretados, afetam os agentes envolvidos. Possibilita. . . Cooperação e Coordenação n Em outra palavras. . . Comunicação é: n n Uma forma de ação Utilizada pelo agente para tornar realidade um estado do mundo

Tipos de comunicação n Telepatia n Acesso direto à uma Knowledge Base (KB) n

Tipos de comunicação n Telepatia n Acesso direto à uma Knowledge Base (KB) n n Problemas n n n Lendo a mente. . . Cada um com sua KB KB compartilhada 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) n Comum

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

Atos da Fala n Categorização das expressões humanas qto a n n n Existem aproximadamente 4600 atos de fala! n n Intenção do locutor Impacto do ato comunicativo no receptor Não é esse o objetivo de uma LCA Ajuda a decidir as primitivas das LCAs n Todo primitiva de uma LCA é um ato de fala

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

Para dar certo. . . Searle n n Condições normais de Entrada/Saída Condições Preparatórias n n n Receptor capaz de realizar ação Emissor acredita nisto Receptor não deve fazer isto de qq maneira

Atos da Fala n Linguagem Humana n n n Atos comunicativos são interpretados a

Atos da Fala n Linguagem Humana n n n Atos comunicativos são interpretados a partir da mensagem e do contexto Nem sempre esta interpretação é óbvia Dificuldades n n “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 n Representativos n n n Diretivos n n n

Atos da Fala : Categorias n Representativos n n n Diretivos n n n Expressam uma Proposta Ex: “Vamos jogar boliche amanhã? ” Expressam um Pedido ou Comando Ex: “Cale-se!” Comissivos n n Expressam Promessa ou Ameaça Ex: “Eu prometo doar R$1. 000, 00. ” n Expressivos n n n Declarativos n n n Expressam Desculpas ou Agradecimentos Ex: “Desculpe pelo atraso? ” Mudam o Estado do Mundo Ex: “Eu os declaro marido e mulher!” Veredictos n n Expressam um Julgamento Ex: “West é criminoso. ”

Atos da Fala n Ato Locucionário n n Efeito Ilocucionário n n O que

Atos da Fala n Ato Locucionário n n Efeito Ilocucionário n n O que o locutor entende por algo n “Ele me pediu para fazer café” Efeito Perlocucionário n n Emissão da mensagem n “Você poderia fazer um café? ” O real efeito do ato comunicativo no receptor n “Ele me fez fazer café” Ideal n n Efeito perlocucionário previsível Para um dado Ato Locucionário, n n Efeito Ilocucionário = Efeito Perlocucionário. Ou seja, prever a reação do receptor!

Linguagens de Comunicação n n Baseadas na Teoria dos Atos da Fala (Searle, Austin)

Linguagens de Comunicação n n Baseadas na Teoria dos Atos da Fala (Searle, Austin) Objetiva a troca de informações entre agentes n Transporte de mensagens na rede através de protocolos de baixo nível n n n SMTP, TCP/IP, IIOP ou HTTP Esse transporte é transparente para o usuário Para o KSE, uma LCA é dividida em: n n Ontologia Linguagem interna (lógica) n n Codificação do conteúdo Linguagem externa n n Ato Locucionário (Performativa) Encapsulamento de infomações para o roteamento

Ontologias n Definição n n n Vocabulário cujos termos são relacionados a um certo

Ontologias n Definição n n n 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… n n 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) n O que é? n n Linguagem em que deve ser

Linguagem Interna (LI) n O que é? n n Linguagem em que deve ser codificado o conhecimento que se deseja compartilhar com o destinatário da mensagem Exemplos n KIF ( Knowledge Interchange Format ) n n n n 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 Ato Comunicativo Prolog, SQL, LISP RDF (Resource Description Framework) Mensagem XML Conteúdo

Exemplo de uma Mensagem KIF n n (=(temperatura m 1) (scalar 40 Celsius)) (defrelation

Exemplo de uma Mensagem KIF n n (=(temperatura m 1) (scalar 40 Celsius)) (defrelation solteiro (? x) : = (and (man ? x) (not(casado ? x))))

Linguagem Externa ( LE ) n O que é ? n Linguagem que encapsula:

Linguagem Externa ( LE ) n O que é ? n Linguagem que encapsula: n n O ato comunicativo = ato locucionário = performativa Informações para o roteamento n n n Agente receptor Ontologia Linguagem interna Conteúdo … Exemplos n n KQML FIPA ACL

KQML : Problemas n Ambigüidade e Termos Vagos n n Performativas com nomes inadequados

KQML : Problemas n Ambigüidade e Termos Vagos n n Performativas com nomes inadequados n n n O significado de performativas é pouco claro. Algumas performativas têm nomes que não correspondem diretamente ao ato comunicativo a ela associado Ex: “tell” Ausência de performativas n Alguns atos comunicativos não estão representados entre as performativas disponíveis - Comissivas

FIPA Foundation for Intelligent Physical Agents www. fipa. org

FIPA Foundation for Intelligent Physical Agents www. fipa. org

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

FIPA : Histórico n n n 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 n FIPA x KQML n n Linguagem de Comunicação de Agentes n n

FIPA n FIPA x KQML n n Linguagem de Comunicação de Agentes n n Ao contrário do KQML, as especificações FIPA têm uma grande preocupação com a modelagem semântica FIPA ACL Linguagens Internas n n n FIPA Content Language Library (FIPA-CLL) FIPA-SL, FIPA-RDF, FIPA-CCL, FIPA-KIF, … Mas também é independente de LI

FIPA ACL n Sintaxe n n Praticamente igual ao KQML Conjunto de performativas menor

FIPA ACL n Sintaxe n n Praticamente igual ao KQML Conjunto de performativas menor n n accept-proposal, agree, cancel, cfp, confirm, disconfirm, failure, inform-if, inform-ref, not-understood, propose, query-if, query-ref, refuse, reject-proposal, request-when, request-whenever, subscribe Semântica n n n Definida precisamente Mensagens são mapeadas na FIPA-SL <i, inform(j, ) pre: Bi Bi (Bifj Uifj ) n Efeito: Bj

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

Definindo Performativas. . . n Inform – ato representativo, uma ação n n n Está sol lá fora. Estou com sono. Visa. . n n n Modificar as crenças de agentes Não pode ser realizado por acidente São uma tentativa

Request n n n Ato Diretivo Tenta modificar as intenções do destinatário Dois tipos

Request n n n Ato Diretivo Tenta modificar as intenções do destinatário Dois tipos diferentes n n Request-to Request-that

FIPA ACL x KQML n Igualdades n n n Independência de IL e de

FIPA ACL x KQML n Igualdades n n n Independência de IL e de ontologias Sintaxe idêntica Diferenças n n n 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

FIPA ACL x KQML n Diferenças (situação fictícia) n Em KQML n n n

FIPA ACL x KQML n Diferenças (situação fictícia) n Em KQML n n n Mensagem de A para B: achieve goal X Usa todo o vocabulário da LCA (performativa “achieve”) Conteúdo Em FIPA ACL n n n 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

Exemplo n A 1 envia a seguinte mensagem para A 2. . . (

Exemplo n A 1 envia a seguinte mensagem para A 2. . . ( inform : sender : receiver : reply-with : language : content A 1 A 2 id 1. . . : ontology. . . ((= available-service A 1) (set(provide Professor(X, Y))))”

Exemplo n A 2 pergunta então a A 1. . . ( query-ref :

Exemplo n A 2 pergunta então a A 1. . . ( query-ref : sender : receiver : in-reply-to : reply-with : language : ontology : content ) A 2 A 1 id 2 Prolog CIn “Professor(X, ‘Agentes’)”

Exemplo n A 1 responde ao agente A 2. . . ( inform :

Exemplo n A 1 responde ao agente A 2. . . ( inform : sender : receiver : in-reply-to : reply-with : language : ontology : content ) A 1 A 2 id 3 Prolog CIn “X = Geber, X = Flávia, X = Jacques. . . ”

Exemplo A simple one. . .

Exemplo A simple one. . .

Agente Somador n Linguagens n n n Java KQML Ferramentas n SACI (Simple Agent

Agente Somador n Linguagens n n n Java KQML Ferramentas n SACI (Simple Agent Communication Infrastructure)

Agente Somador (1) Advertise (4) Ask One (5) Forward Facilitador Agente Servidor (2) Get

Agente Somador (1) Advertise (4) Ask One (5) Forward Facilitador Agente Servidor (2) Get Possible Servers (3) Forward (6) Tell Agente Cliente Sociedade

Plus Server public static void main(String[] args) { Agent a = new Plus. Server();

Plus Server public static void main(String[] args) { Agent a = new Plus. Server(); if (a. enter. Soc("APlus. Server")) { 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();

Plus Server public void run() { while (running) { Message m = mbox. polling(); if (m. get("performative"). equals("forward")) { m = new Message(m. get("content"). to. String()); } 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) { Plus. Client a = new Plus.

Plus Client public static void main(String[] args) { Plus. Client a = new Plus. Client(); if (a. enter. Soc("AClient")) { a. run(args[0]); } }

Plus Client public void run(String exp) { String ag = mbox. consult. YP("ask-one", "algebra",

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

Cenas dos Próximos Capítulos n Vimos. . . n n Motivação para SMA Cuidados

Cenas dos Próximos Capítulos n Vimos. . . n n Motivação para SMA Cuidados em seu projeto Aplicações Veremos n n n Comunicação entre agentes Organizações Protocolos de Cooperação e Negociação