agml uma linguagem para descrição de sistemas multiagentes júlio de l. do r. monteiro 8/12/2000...

21
AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML

Uma Linguagem Para Descrição de Sistemas Multiagentes

Júlio de L. do R. Monteiro

8/12/2000

PCS-5924 Teoria de Linguagens

Page 2: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

Introdução

Sistema Multiagente é um conjunto de agentes que pode cooperar, competir ou simplesmente coexistir.

Agente: elemento de um sistema que age com certo grau de autonomia.

Objetivo: desenvolver uma linguagem para descrever e simular SMAs.

Page 3: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

Sistemas Multiagentes

Agentes Reativos:– Reagem em resposta a

sinais do meio.– Não tem consciência do

estado dos outros.– Somente se comunicam

de forma indireta, por sinais no meio.

– Pouca autonomia.

Agentes Cognitivos:– Possuem estado mental, que

compreende objetivos, crenças e intenções.

– Aprendem sobre o estado dos outros agentes.

– Capazes de comunicação complexa, através de mensagens como pedir ajuda ou influenciar o outro.

– Planejam suas ações.– Grande autonomia.

Page 4: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

Sistemas Multiagentes

Os agentes não são necessariamente benevolentes com relação aos outros. Eles normalmente seguem seus objetivos individuais.

Os agentes utilizam planos para cumprir estes objetivos. Estes planos podem incluir o trabalho de outros agentes na sociedade.

Certos agentes estarão dependentes de outros agentes para cumprir seus objetivos. Gerando relações de dependência e interesse.

Page 5: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

O Conceito de Emergência

É o surgimento de um estado ou situação somente pela interação dos agentes na sociedade, de forma não pré-programada diretamente.

Surge na transição do nível micro (comportamento dos agentes) para o macro(comportamento social).

Page 6: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

Simulação em SMA

Criação de mundos artificiais, ou sociedades, habitados por agentes em interação.

Programa-se o comportamento individual e se observa o comportamento social.

Adequada para situações complexas, ou sistemas com muitas partes diversas com comportamento concorrente.

Objetivos: testar hipóteses sobre comportamentos emergentes, elaborar teorias e entender comportamentos sociais, etológicos e fenômenos coletivos.

Page 7: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

Simulação em SMA

<agentes, objetos, ambiente, comunicação>. agentes é o conjunto de indivíduos simulados. objetos são entidades passivas que não tem um

comportamento autônomo. ambiente representa o espaço topológico onde se os

agentes e objetos se situam e é o meio por onde se propagam os sinais e a comunicação.

comunicação compreende todas as formas de troca de informação entre os agentes, podendo utilizar protocolos.

Page 8: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

Dificuldades Inerentes

Alto grau de concorrência: há a necessidade de primitivas de sincronização e acesso a recursos compartilhados. Cada agente é considerado um processo independente.

Ambiente distribuídos: A simulação não é necessariamente local, pode estar distribuída através de redes de computadores.

Consistência do estado mental: Como gerenciar informações conflitantes? Em quais agentes pode-se confiar mais?

Comunicação entre agentes: preservação do conteúdo e clareza. Poder expressivo.

Page 9: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML (AGent Modeling Language)

Paradigma derivado do orientado a objetos: orientado a agentes.

Pré-compilada e interpretada, como o Java™.

O runtime é um ambiente de simulação SMA.

Runtime

AGML

Resultado da

simulação

agentes objetos

protocolosambiente

Page 10: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML - Conceitos

Permite descrever agentes reativos e cognitivos.

Recursos opcionais embutidos para descrição de agentes cognitivos:– Planejador automático que busca atingir os

objetivos do agente em ordem de prioridade.– Gerenciador de estado mental baseado em lógica.– Linguagem de comunicação entre agentes.

Page 11: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML – Multissintaxe

Para a descrição geral usa-se tags, como no XML, sendo possível redefinir ou criar novos tags.

Para os comportamentos e ações se utiliza uma sintaxe procedimental, definindo-se funções e métodos da forma convencional (como o C++/Java™).

Para o estado mental pode-se usar uma descrição lógica, usando cálculo de predicados (como Prolog).

Para as mensagens trocadas pelos agentes através dos protocolos, usa-se uma variante do KQML(Knowledge Query and Manipulation Language).

Page 12: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML – Sintaxe Básica

Usada para definir agentes, objetos, protocolos, eventos e o ambiente.

Utiliza-se de um arquivo de templates para nova definição ou modificação de tags.

Tipagem forte. Identação Obrigatória. Contextos Dinâmicos.

Page 13: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML – Sintaxe Básica

<agent> Descreve um tipo de agente

<object> Usado para definir um tipo de objeto

<environment> Declara um tipo de ambiente

<protocol> Usa-se para definir protocolos de comunicacao entre agentes

<event> Usa-se para definir um novo tipo de evento.

<sense> Indica que o agente estará escutando por um determinado evento.

<behavior> Descreve o comportamento autonomo do agente.

<action> Define uma das ações possíveis de um agente.

<goal> Define um dos objetivos do agente.

<plan> Define um dos planos possíveis que o agente conhece.

<step> Usado para definir cada um dos passos de um plano

<pre> Usado para definir precondicoes para um passo ou objetivo.

Alguns Tags Básicos

Page 14: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML – Sintaxe Procedural

Usada para definir as ações possíveis de cada agente. Utiliza funções e procedimentos. Facilidades para lidar com strings e listas, de forma

dinâmica. Novas classes podem ser definidas pelo usuário. Identação Obrigatória. Terminadores de linha desnecessários.

Page 15: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML – Sintaxe Lógica

Permite descrever o estado mental do agente, através de crenças, objetivos, conhecimentos e intenções.

Pode ser usada para definir cláusulas de Horn. Suporta inferências dedutivas por refutação,

como em Prolog. Conteúdo lógico acessível via sintaxe

procedimental e vice-versa.

Page 16: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML – Sintaxe de Mensagens

As mensagens de comunicação entre agentes são definidas através de protocolos.

Protocolos utilizam uma implementação da linguagem KQML [Finn 93] para descrever a comunicação entre dois ou mais agentes.

Através dos protocolos é possível informar, perguntar, pedir ajuda, negar, etc.

Protocolos pré-definidos permitem comunicações complexas entre agentes. Além da possibilidade de definição de protocolos do usuário.

Comunicação sobre um ambiente distribuído se torna possível.

Page 17: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML - Semântica

O ambiente de simulação utiliza um modelo de tempo, em turnos, onde em cada turno, cada agente realiza as ações ditadas pelo seu comportamento e então o ambiente realiza a resposta do meio.

No começo de cada “turno”, cada agente faz uma reavaliação do seu estado interno e decide qual vai ser seu comportamento. É nesse momento que o estado interno de cada agente podem ser modificado, incluindo novos objetivos, crenças, conhecimentos, intenções, ações e planos.

Page 18: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

AGML - Semântica

Cada agente deve estar definido com pelo menos um <behavior>.

Um <behavior> representa um tipo de comportamento que pode ser assumido em uma determinada situação. Dentro deste tag, todas as ações de serão executadas ao mesmo tempo em ordens distintas, contanto que não sejam de classes iguais.

Se houverem planos definidos no agente, o planejador embutido irá escolher o melhor dos planos e executar o seu behavior durante a duração especificada em turnos.

Page 19: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

SGML - Sincronismo

As ações, tanto dos agentes como dos objetos, podem ser sincronizadas, ou seja, somente um agente acessa aquela ação por vez.

Além disso, o mecanismo de classes de ações impede que duas ações conflitantes sejam executadas ao mesmo tempo.

Outro mecanismo de sincronização são os protocolos, que podem ser utilizados para coordenar um grupo de agentes.

Page 20: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

Conclusões

A linguagem AGML permite expressar agentes reativos e cognitivos com alto grau de detalhe, permitindo desenvolver aplicações complexas modeladas no paradigma orientado a agentes.

Aliada com a implementação e um simulador de agentes visual, se torna uma poderosa ferramenta para simulação em SMA.

Permite a implementação de mecanismos de rede de maneira transparente ao usuário.

Page 21: AGML Uma Linguagem Para Descrição de Sistemas Multiagentes Júlio de L. do R. Monteiro 8/12/2000 PCS-5924 Teoria de Linguagens

Bibliografia

[Finn 93] 1993, Specification of The KQML Agent-Communication Language, Tim Finn et al., University of Maryland, The DARPA Knowledge Sharing Initiative.