210 likes | 317 Views
Sistemas Multi-Agentes. Por quê ? Ambientes não são estáticos - partes não-estáticas do ambiente podem ser modelados como outros agentes Riqueza nas possibilidades comportamentais - complexidade no comportamento emergente cooperação - agentes interagem entre si
E N D
Sistemas Multi-Agentes • Por quê ? • Ambientes não são estáticos - partes não-estáticas do ambiente podem ser modelados como outros agentes • Riqueza nas possibilidades comportamentais - complexidade no comportamento emergente • cooperação - agentes interagem entre si • colaboração - agentes agem por um objetivo comum • competição - agentes possuem objetivos conflitantes • Sistemas Hierárquicos Distribuídos • Agentes constituídos por múltiplos sub-agentes • A Natureza parece funcionar desta forma • Sociedades de Agentes • Problemas complexos podem demandar soluções deste tipo
Sistemas Multi-Agentes • Evolução dos Sistemas Multi-Agentes • Percepção de outros agentes no ambiente • Comunicação com outros agentes no ambiente • Colaboração/Competição com outros agentes no ambiente • Tipos de Sistemas Multi-Agentes • Agentes Uniformes • Agentes Uniformes Reconfiguráveis (Especializáveis) • Agentes Especializados • Modelos de Operação • Coordenação Centralizada • Coordenação Distribuída
Sistemas Multi-Agentes • Problema • Agentes precisam se comunicar • Como se dará esta comunicação ? • O que comunicar ? • Como comunicar ? • Agentes Semióticos • ainda não há muito estudo a respeito - Semiótica Computacional • Agentes Comunicativos • Linguagens de Agentes • Linguagens de Comunicação de Agentes (ACL) • Linguagens de Representação de Conhecimento • Ontologias
Ontologias • Conhecimentos • podem estar relacionados a diferentes domínios de atividades e/ou áreas de aplicação • Ontologia (Jargão) • Corpo básico de conhecimento que um agente precisa ter para se referir a um determinado domínio • Estrutura • vocabulário de termos utilizados no domínio • modelagem semântica deste vocabulário • regras para o uso do vocabulário (criação de sentenças) • conjunto de tautologias válidas para o domínio em questão • Normalmente • conjunto de termos e predicados em uma lógica de 1a ordem
Ontologias • Especificação de uma Ontologia • requer a escolha de uma linguagem de especificação (OSL) • mas uma mesma ontologia pode ser utilizada por diversas linguagens • Uma vez especificada uma ontologia • pode-se construir bases de conhecimento relacionadas ao domínio coberto pela ontologia • esta base de conhecimento pode ser compartilhada com outros agentes interessados em conhecimentos sobre este domínio • esta base de conhecimento pode ser armazenada em diferentes linguagens, utilizando a mesma ontologia
Comunicação entre Agentes • Teoria dos Atos Comunicativos • derivada da análise linguística da comunicação humana • com uma linguagem, um falante de uma língua não somente efetua uma declaração, mas realiza uma ação • mensagens são ações, ou atos comunicativos • em outras palavras, quando um agente emite uma mensagem a outro agente, ele realiza um ato comunicativo • este ato comunicativo está relacionado à atitude mental do agente emissor, bem como ao impacto ou reação que se espera que este ato irá causar no estado mental do receptor • Forma Canônica • “I hereby request …” • “I hereby declare …” • “I hereby order …”
Comunicação entre Agentes • Linguagem Humana • atos comunicativos são interpretados a partir da mensagem e do contexto • nem sempre esta interpretação é óbvia • Dificuldades • “Saia da minha frente !” (Comando) • “Por favor, saia da minha frente” (Pedido) • “Você poderia sair da minha frente ?” (Pergunta) • “Eu gostaria que você saísse da minha frente” (Informação) • Linguagem de Agentes • é necessário deixar explícito o ato comunicativo relacionado à mensagem • divisão em dois níveis hierárquicos
Comunicação entre Agentes • Linguagem de Comunicação entre Agentes (ACL) • linguagem em que deve ser codificada parte da mensagem, dando conta do ato comunicativo pretendido pelo agente • Linguagem de Conteúdo (CL) • linguagem em que deve ser codificado o conhecimento que se deseja compartilhar com o destinatário da mensagem Ato Comunicativo Conteúdo Mensagem
KSE - Knowledge Sharing Effort • KSE • Consórcio iniciado em 1994, envolvendo empresas, universidades e centros de pesquisa, com a finalidade de desenvolver convenções facilitando o compartilhamento e reuso de bases de conhecimento e sistemas baseados em conhecimento • Interlíngua • definição de uma linguagem de representação de conhecimento que pudesse servir como uma linguagem intermediária na tradução/conversão entre textos de diferentes linguagens • Compartilhamento de Conhecimento • interação em tempo real entre sistemas baseados em conhecimento para intercâmbio de conteúdo
KSE - Knowledge Sharing Effort • KQML - Knowledge Query and Manipulation Language • Linguagem desenvolvida pelo KSE para servir como uma ACL • é ao mesmo tempo um formato de mensagem e um protocolo de gerenciamento de mensagens • KIF - Knowledge Interchange Format • Linguagem desenvolvida pelo KSE para servir como CL • draft proposed American National Standard (dpANS) NCITS.T2/98-004 • linguagem padrão para o “Projeto Interlíngua”, projetada para o intercâmbio de conhecimento entre diferentes sistemas • não é indicada para a interação com usuários humanos (embora possa ser utilizada para tal) • não é indicada para o armazenamento de conhecimento (embora possa ser utilizada para tal)
KQML • KQML’93 • Norma para a linguagem KQML proposta por Tim Finin e outros junto ao DARPA Knowledge Sharing Effort • KQML’97 • Atualização ao KQML proposta em 1997 • Performative • ato comunicativo representado via KQML • base para uma sentença KQML • Sentenças KQML • ocorrem em uma sequência cujo protocolo depende basicamente do “performative” da sentença que iniciou o diálogo
KQML • Sentença KQML (<performative> :<argumento 1> <valor1> :<argumento 2> <valor 2> … :<argumento n> <valor n> ) • Argumentos Típicos • content - indica o conteúdo da mensagem, escrito em uma linguagem de conteúdo que por default é o KIF • sender, receiver, ontology, language, reply-with, in-reply-to • Valor • string ou sentença entre ( )
KQML • Performatives Típicas • tell: conteúdo está na base de conhecimento de S • ask-one: S quer uma das respostas de R para uma dada questão • subscribe: S quer atualizações de uma resposta de R a uma performative • insert: S pede a R que adicione conteúdo a sua BC • Outras Performatives • achieve, advertise, ask-about, ask-all, ask-if, break, broadcast, broker-all, broker-one, deny, delete, delete-all, delete-one, discard, eos, error, evaluate, forward, generator, monitor, next, pipe, ready, recommend-all, recommend-one, recruit-all, recruit-one, register, reply, rest, sorry, standby, stream-about, stream-all, transport-address, unregister, untell
KQML • Futuro do KQML • Problemas e Dificuldades • Provavelmente será substituído pela FIPA-ACL • Ambiguidade e Termos Vagos • o significado de performatives reservadas e padrões é pouco claro. Normalmente estão associadas à intuição e ao domínio da linguagem natural do intérprete • Performatives com nomes inadequados • algumas performatives tem nomes que não correspondem diretamente ao ato comunicativo a ela associado • Falta de Performatives • alguns atos comunicativos não estão representados entre os performatives disponíveis
KIF • Conceitualização • mundo é constituído por objetos e relações entre estes objetos • universo de discurso é o conjunto de todos os objetos presumíveis ou hipotéticos que possam existir no mundo • objetos podem ser concretos ou abstratos • objetos podem ser primitivos ou compostos • objetos podem ser fictivos • Objetos Necessários • todos os números, reais e complexos, caracteres ASCII, strings de caracteres ASCII, palavras, toda lista finita de objetos em um universo de discurso, bottom (objeto especial que ocorre como valor de uma função parcial, quando esta função é aplicada a argumentos para os quais a função não tem nenhum sentido)
KIF • Sintaxe • semelhante ao LISP • Sentença Padrão • (operador arg1 arg2 … argn) • Word • Elemento primitivo - pode ser variável, operador ou constante • Operadores • operadores de termo, de sentença, de regra, de definição • Expressões • word ou sequência finita de expressões • termos, sentenças, regras e definições
KIF • Termos • variáveis individuais, objetos constantes, funções constantes, relações constantes, termos funcionais, termos de lista, termos de conjunto, quotations, termos lógicos e termos quantificados • Sentenças • equações, inequações, sentenças relacionais, sentenças lógicas, sentenças quantificadas • Regras : diretas e reversas • Definições : de objetos, de funções, de relações • Forma : sentença, regra ou definição • Base de Conhecimento • conjunto finito de formas • não é uma sequência - a ordem das formas não é importante
FIPA • FIPA - Foundation for Intelligent Physical Agents • associação sem fins lucrativos fundada em 1996 e localizada em Genebra na Suíça • promover o sucesso nas aplicações, serviços e equipamentos baseados em agentes • especificações para maximimar a interoperabilidade entre aplicações baseadas em agentes, serviços e equipamentos • reuniões periódicas, sendo que até agora foram realizadas 15 reuniões. • Especificações - 1997 - 1998 - 1999 • divididas em diversos documentos: Architectural Overview, Agent Management, Agent Communication Language, FIPA Developer's Guide, Nomadic Application Support, Agent Message Transport, Agent Naming, Content Languages
FIPA • FIPA x KQML/KIF • ao contrário do KQML/KIF, as especificações FIPA têm uma grande preocupação com a modelagem semântica • Linguagem de Comunicação de Agentes • FIPA-ACL • Linguagens de Conteúdo • FIPA Content Language Library (FIPA-CLL) • FIPA-SL, FIPA-RDF, FIPA-CCL, FIPA-KIF • SL - Semantic Language (SL0,SL1, SL2) • RDF - Resource Description Framework • CCL - Constraint Choice Language
FIPA-ACL • Sintaxe • praticamente igual ao KQML • conjunto de performatives (atos comunicativos) é diferente • Semântica • definida precisamente - linguagem de descrição de semântica • Atos Comunicativos • 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 • Parâmetros • :sender, :receiver, :content, :reply-with, :reply-by, :in-reply-to, :envelope, :language, :ontology, :protocol, :conversation-id
FIPA-ACL • Protocolos • FIPA-request Protocol • FIPA-query Protocol • FIPA-request-when Protocol • FIPA-contract-net Protocol • FIPA-Iterated-Contract-Net Protocol • FIPA-Auction-English Protocol • FIPA-Auction-Dutch Protocol • Futuro do FIPA-ACL • deve vir a substituir o KQML, pois resolve a maioria dos problemas criticados por diferentes autores na concepção do KQML