porquê sociedades?

51
Agentes Inteligentes e Sistemas Agentes Inteligentes e Sistemas Multi-agente Multi-agente (UD5 e UD 8) Construção de (UD5 e UD 8) Construção de Sociedades de Agentes Sociedades de Agentes IST- 2003/2004 IST- 2003/2004

Upload: lucian

Post on 19-Mar-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Agentes Inteligentes e Sistemas Multi-agente (UD5 e UD 8) Construção de Sociedades de Agentes IST- 2003/2004. Porquê sociedades?. A criação de sociedades de agentes em deterimento da criação de um simples agente surge por diversas razões, de entre as quais: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Porquê sociedades?

Agentes Inteligentes e Sistemas Multi-Agentes Inteligentes e Sistemas Multi-agenteagente

(UD5 e UD 8) Construção de Sociedades (UD5 e UD 8) Construção de Sociedades de Agentesde Agentes

IST- 2003/2004IST- 2003/2004

Page 2: Porquê sociedades?

Porquê sociedades?Porquê sociedades?

A criação de sociedades de agentes em deterimento da criação de um simples agente surge por diversas razões, de entre as quais:

Da necessidade de adoptar uma solução distribuída para a resolução de problemas complexos;

Da necessidade de criar modelos de sociedades para explicar determinados factores de emergência de comportamento social; e

Da necessidade de simular sociedades reais para fins educacionais ou mesmo de entretenimento.

Page 3: Porquê sociedades?

Problemas a resolver (1/2)Problemas a resolver (1/2)1) Problema dos comportamentos sociais e individuais

• Como especificar os comportamentos sociais dos agentes?• Como é que os comportamentos dos outros e da sociedade

influenciam o comportamento individual?

2) Problema da estrutura da organização• Como organizar uma sociedade de agentes para que no global,

esta execute a tarefa desejada?• Qual o tipo de estrutura mais adequada para a tarefa em causa? • Como definir os aspectos do comportamento individual para que

sejam integrados na sociedade levando a um comportamento global desejado?

•  Que tipos de mecanismos há que levem ao surgimento e desaparecimento de sociedades? 

Page 4: Porquê sociedades?

Problemas a resolver (2/2)Problemas a resolver (2/2)3) Problema da comunicação entre agentes

• Que tipo de comunicação entre agentes é a mais adequada à estrutura escolhida? 

• Que linguagens de comunicação existem e podem ser usadas para a comunicação entre agentes numa sociedade de agentes? 

• Que conceitos (ontologias) são necessários ser partilhados para que os elementos da sociedade consigam interpretar as mensagens recebidas? 

4) Cooperação, colaboração e negociação• Que mecanismos de cooperação são necessários para que

os agentes executem cooperativamente uma dada tarefa? • Que estruturas de organização são as mais adequadas para

determinados tipos de cooperação? • Que linguagens existem que podem ser usadas para permitir

a cooperação e negociação entre agentes numa sociedade? 

Page 5: Porquê sociedades?

Problema 1: Dos comportamentos Problema 1: Dos comportamentos individuais aos comportamentos sociaisindividuais aos comportamentos sociais

Como especificar os comportamentos sociais dos agentes?

Como é que os comportamentos dos outros e da sociedade influenciam o comportamento individual?

Exemplo: O loading Dock

Page 6: Porquê sociedades?

Agentes simples: BOIDS,Agentes simples: BOIDS, Reinolds, 1987Reinolds, 1987

Simulações de bandos de pássaros (baseados em modelos de simulação de sistemas de partículas: em que cada partícula é um pássaro) e em que o comportamento final do sistema é na realidade resultante do comportamento distribuído pelos diversos componentes elementares (pássaros simulados).

Cada pássaro é simulado através de um agente independente que navega de acordo com a sua percepção local de um ambiente dinâmico, bem como das leis físicas que regulam o movimento.

Cada agente tem um conjunto de comportamentos individuais relativamente simples e identificáveis.

Cada agente é animado à custa da definição de comportamentos geométricos (tais como voar, levantar, mudar de rota, pousar).

Page 7: Porquê sociedades?

BOIDS: Voo geométricoBOIDS: Voo geométrico O comportamento geométrico de voar (voo

geométrico) é um movimento ao longo de um percurso que possui transformações incrementais do objecto.

O percurso não é especificado previamente. Para cada agente, o voo geométrico é limitado em

velocidade e factores como a gravidade são tidos em conta para a definição do comportamento de pousar.

Page 8: Porquê sociedades?

BOIDS: PercepçãoBOIDS: Percepção Os agentes individuais têm

capacidade de percepção do ambiente.

Esta capacidade é limitada dando-lhes assim informação similar à recebida pelos animais reais.

Esta característica é obtida através da filtragem da informação disponível sobre o ambiente.

A percepção de um dado agente é definida em relação à exponencial inversa da distância.

Page 9: Porquê sociedades?

A questão está portanto em determinar como é que o ambiente e a presença dos outros pássaros iria influenciar o comportamento individual?

Page 10: Porquê sociedades?

BOIDS: SoluçãoBOIDS: SoluçãoFoi assim observado que existem nos

pássaros comportamentos mais ou menos opostos que se equilibram, sendo estes:

evitar a colisão (os agentes pássaros devem evitar a colisão como outros pássaros do bando);

emparelhar da velocidade (os agentes pássaros devem tentar manter a velocidade a par com a velocidade dos seus companheiros que estão perto);

ou centralizar no bando (os agentes pássaros devem manter-se perto dos seus companheiros).

Page 11: Porquê sociedades?

BOIDS: RealizaçãoBOIDS: RealizaçãoEstes comportamentos foram realizados nos pássaros como

simples regras. Cada um destes comportamentos tem associada uma regra.

Por exemplo, a regra para evitar uma colisão e a regra de emparelhamento da velocidade são complementares, mas colocadas conjuntamente garantem que os membros do bando são por um lado livres de voar em bandos cheios de pássaros e por outro que não choquem uns nos outros.

<<<<VIDEO>>>>

Page 12: Porquê sociedades?

BOIDS: Mais informaçãoBOIDS: Mais informação

http://www.red3d.com/cwr/steer/

Page 13: Porquê sociedades?

Problema 2: A criação de sociedades e Problema 2: A criação de sociedades e a sua estruturaa sua estrutura

Como organizar uma sociedade de agentes para que no global, esta execute a tarefa desejada?

Qual o tipo de estrutura mais adequada para a tarefa em causa? 

Como definir os aspectos do comportamento individual para que sejam integrados na sociedade levando a um comportamento global desejado?

 Que tipos de mecanismos há que levem ao surgimento e desaparecimento de sociedades? 

Page 14: Porquê sociedades?

Sistema multi-agenteSistema multi-agente

Page 15: Porquê sociedades?

Como estudar as interações entre Como estudar as interações entre agentes?agentes?

Noção de “encontro”

Os agentes na sociedade escolhem que acção executar. Como resultado das acções escolhidas, haverá um resultado R No entanto, o resultado final dependerá da combinação das

diversas acções dos diversos agentes Vamos assumir que os agentes têm dois tipos de acção: C

(cooperar) e D (não cooperar) O comportamento do ambiente é dado por uma função de

transformação de estado:

τ : Aci x Acj -> R

Page 16: Porquê sociedades?

Exemplos de Funções de Exemplos de Funções de Transformação dos estadosTransformação dos estados

1. τ(D,D) = ω1 τ(D,C) = ω2 τ(C,D) = ω3 τ(C,C) = ω4(o ambiente reage às acções de ambos os agentes)

2. τ(D,D) = ω1 τ(D,C) = ω1 τ(C,D) = ω1 τ(C,C) = ω1 (o ambiente não reage às acções de nenhum dos agentes)

3. τ(D,D) = ω1 τ(D,C) = ω2 τ(C,D) = ω1 τ(C,C) = ω2(o ambiente reage às acções do agente j sendo controlado por

ele)

Page 17: Porquê sociedades?

Como caracterizar a influência que uns agentes têm nos outros e no ambiente?

- O problema da organização dos agentes- O problema da comunicação entre agentes - O problema das influências e cooperação entre agentes

ProblemaProblema

Page 18: Porquê sociedades?

O Problema da Organização dos O Problema da Organização dos agentesagentes

Propriedades de um grupo de agentes: • tem associado um conjunto contável de identificações

dos agentes; • os agentes têm um estado representado internamente; • os agentes são capazes de estabelecer comunicação

entre si (por exemplo, através de mensagens);• existe um conjunto de regras estabelecidas para a

interacção entre os agentes e que tem impacto nas capacidades internas dos próprios agentes.

Os grupos de agentes que podem estar organizados segundo uma determinada estrutura e com vista a determinados objectivos.

Page 19: Porquê sociedades?

Estrutura de um grupo de AgentesEstrutura de um grupo de Agentes

um padrão de informação e relações de controlo que existem entre os agentes, bem como a distribuição das capacidades de resolução de problemas pelos agentes

Page 20: Porquê sociedades?

Propriedades das Estruturas de Propriedades das Estruturas de agentesagentes

Uma estrutura especifica os papeis e as relações entre agentes, garantindo as seguintes propriedades:

cobertura (cada porção necessária ao problema completo deve estar dentro das capacidades de resolução de problemas de pelo menos um dos agentes);

ligação (os agentes devem interagir de forma a permitir que as actividades cobertas possam ser desenvolvidas e integradas numa solução completa);

competência (a cobertura e a ligação devem ser atingíveis com as limitações quer de comunicação quer de recursos que existe no grupo), ou seja, para garantir a cobertura, a estrutura do grupo de agentes deve reflectir nos papeis dos agentes as suas competências e o seu conhecimento.

Page 21: Porquê sociedades?

Definição de Organização de Definição de Organização de AgentesAgentes

O conceito de organização de agentes (e segundo Gasser) "pode ser visto como um conjunto particular de questões bem ou não estabelecidas sobre crenças e acções através das quais os agentes vêm os outros agentes”.

O conceito de organização é diferente das:- relações estruturais entre os elementos do grupo de agentes (estrutura) ,

- do conjunto de limitações às suas actividades (regras de comportamento),

A noção de organização está associada à de um grupo de agentes com compromissos mútuos, globais, crenças mútuas e intenções partilhadas tal que agem conjuntamente para atingir um dado objectivo, podendo estar organizados de acordo com uma dada estrutura.

Page 22: Porquê sociedades?

Tipos de Estruturas de AgentesTipos de Estruturas de Agentes

Estruturas hierárquicas Estruturas de Mercado

Page 23: Porquê sociedades?

Estruturas Hierárquicas (1)Estruturas Hierárquicas (1) Estrutura hierárquica orientada ao produto

GP GP GP

Page 24: Porquê sociedades?

Estruturas Hierárquicas (2)Estruturas Hierárquicas (2) Estrutura hierárquica Funcional

GF GF GF

G

Page 25: Porquê sociedades?

Modelos de Mercado (1)Modelos de Mercado (1)

GP GP GP

Modelo de Mercado Descentralizado

Page 26: Porquê sociedades?

Modelos de Mercado (2)Modelos de Mercado (2)

GP GP GP

G G G

Modelo de Mercado Centralizado

Page 27: Porquê sociedades?

Neste modelo, são os agentes intermediários que coordenam as tarefas dos agentes de um dado tipo sendo portanto necessário estabelecer as seguintes comunicações:

Os gestores têm que comunicar com os intermediários para pedir para que uma dada tarefa seja executada;

os intermediários têm que comunicar com os vendedores; uma vez contactados os vendedores, os intermediários atribuem

as tarefas ao melhor vendedor disponível; finalmente os intermediários comunicam o resultado aos

gestores.

Modelos de Mercado Modelos de Mercado (Centralizado)(Centralizado)

Page 28: Porquê sociedades?

Estruturas em FederaçãoEstruturas em Federação

F

F

F

F

Page 29: Porquê sociedades?

Exemplo 1: Projecto Knowledge Exemplo 1: Projecto Knowledge CommunityCommunity

Bus Agent Railway Agent

LocalBus Company A Local Railway Train B Local Railway train A

Trafic Agent

Hierarquia de Agentes

Page 30: Porquê sociedades?

Exemplo 2: RETSINAExemplo 2: RETSINA Agentes de interface- interagem com o utilizador para receber as

especificações e dar-lhe os resultados obtidos. São os responsáveis por obter as especificações das preferências do utilizador guiando o sistema na direcção de apoiar o utilizador.

Agentes de tarefa- ajudam o utilizador a executar as tarefas através da construção de planos de resolução de problemas. Estes agentes necessitam de trocar informação com outros agentes, para a execução dos seus planos. São estes agentes que têm o conhecimento da tarefa podendo resolver conflitos e juntar informação obtida dos agentes de informação.

Agentes de informação- são os responsáveis pelo acesso à informação dado que existem colecções heterogéneas de informação.

Page 31: Porquê sociedades?

Exemplo 2: RETSINA (2)Exemplo 2: RETSINA (2)

Page 32: Porquê sociedades?

Problema 3: Comunicação entre Problema 3: Comunicação entre AgentesAgentes

• Que tipo de comunicação entre agentes é a mais adequada à estrutura escolhida? 

• Que linguagens de comunicação existem e podem ser usadas para a comunicação entre agentes numa sociedade de agentes? 

• Que conceitos (ontologias) são necessários ser partilhados para que os elementos da sociedade consigam interpretar as mensagens recebidas? 

Page 33: Porquê sociedades?

Comunicação entre AgentesComunicação entre Agentes

"uma troca intencional de informação originada pela produção de símbolos e a sua percepção derivada de um sistema convencional de sinais"

Page 34: Porquê sociedades?

Comunicação entre AgentesComunicação entre Agentes Baseada em Speech Acts- tratamento da comunicação como

acção.

Originalmente proposta por Austin (1962) que notou que certas classes de expressões de fala – speech acts (actos de fala)- têm caracteristicas de acção – mudam o estado do mundo de forma semelhante às acções – por exemplo: declarar guerra.

Austin identificou um conjunto de verbos performativos (performative verbs) que correspondem a diversos tipos de speech acts. Exemplos: “request”, “inform”, “promisse”, etc.

Page 35: Porquê sociedades?

Comunicação entre AgentesComunicação entre Agentes Austin identificou 3 aspectos de um acto de fala:

• Locutionary act- o acto de construção da frase - Dizer “Por favor faz um chá”

• Illocutionary act – a acção executada quando é dito algo- “Ele pediu-me para fazer um chá”

• Perlocution- o efeito do acto- “Ele pos-me a fazer um chá”

Identificou as condições necessárias para a que as performatives tenham sucesso – felicity conditions:

• (1) Tem de haver um procedimento para a performativa que explicitamente especifica as circunstancias e agentes/pessoas, (2) o que tem de ser executado completamente e correctamente, (3) o acto tem de ser sincero, e os seus requisitos satisfeitos, etc.

Page 36: Porquê sociedades?

Comunicação entre Agentes: SEARLEComunicação entre Agentes: SEARLE

Trabalhou sobre o trabalho de Austin e apresentou a sua teoria no livro Speech Acts.

Propriedades necessárias para que a comunicação entre um “speaker” e “hearer”:(1) Condições de I/O normais- o hearer consegue ouvir o

acto do speaker (por exemplo um request).(2) Condições preparatórias- condições que têm que ser

verdade no mundo para o speaker escolher um dado speech act. Por exemplo o hearer pode efectuar a acção e o speaker tem de acreditar que ele o consegue efectuar.

(3) Condições de sinceridade- o speaker é sincero na sua informação ou pedido.

Page 37: Porquê sociedades?

Tipos de Actos de FalaTipos de Actos de Fala

1. Representativos- dá o comprometimento de S de que uma dada proposição é verdade (ex. Informing)

2. Directivos – pedido de S para que H faça algo (ex. Request)

3. Comissivos – comprometimento de S a uma dada acção (ex. Promisse)

4. Expressivo- expressão de um estado psicológico (ex. Agradecimento)

5. Declaration- execução de mudanças no estado de coisas (ex. Declaração de guerra)

Page 38: Porquê sociedades?

Linguagens de Comunicação entre Linguagens de Comunicação entre AgentesAgentes

ARPA financiou o programa KSE (Knowledge Sharing Effort-KSE). O KSE foi organizado em quatro grupos de trabalho:

1. Interlingua; - destinava-se a desenvolver uma linguagem comum de comunicação entre agentes que permitisse expressar o conteúdo de uma dada base de conhecimentos. Resultado: KIF (Knowledge Interchange Format) o qual é baseado em lógica de primeira ordem com algumas extensões para o suporte de definições e raciocínio não monótono.

2. KRSS (Knowledge Representation Systems Specification), destinava-se a definir as construções básicas em famílias de linguagens de representação de conhecimento

3. SRKB (Shared, Reusable Knowledge Bases) - destinava-se a facilitar a partilha de conhecimento focando mais o trabalho nos conteúdos.

4. External Interfaces- focou o seu trabalho na definição das interacções "runtime" entre diversas bases de conhecimento (ou agentes) e como resultado desse trabalho surgiu a linguagem KQML

Page 39: Porquê sociedades?

Linguagens de Comunicação entre Linguagens de Comunicação entre Agentes (KQML)Agentes (KQML)

Pode-se dividir uma comunicação em KQML por 3 camadas: 1. a camada conteúdo (pode ser codificado em qualquer

linguagem de representação); 2. mensagem (é a linguagem KQML em si, codifica a

mensagem com todos os seus parâmetros segundo a sintaxe KQML):

3. e comunicação (contém informação como: identificação do emissor e do receptor, ID da comunicação, etc...)

Em termos sintáticos o KQML define uma mensagem da seguinte forma:

Cada mensagem é uma lista de parêntesis; O primeiro elemento é chamado de “performative”; Os restantes elementos são os chamados argumentos que são

representados por pares (“keyword”, valor).

Page 40: Porquê sociedades?

KQML: Exemplos de performativasKQML: Exemplos de performativas(ask-if

:content ligado(aparador-relva) :sender dono-jardim:receiver jardineiro:language PROLOG:ontology jardim)

Page 41: Porquê sociedades?

Argumentos das Performativas em Argumentos das Performativas em KQMLKQML

:sender Quem envia a performativa

:receiver Quem recebe a performativa

:from Quem originou a performativa contida em :content no caso de haver encaminhamento de mensagens

:to O destino final da performativa quando é usado encaminhamento

:in-reply-to A etiqueta esperada de resposta a uma pergunta feita anteriormente

:reply-with A etiqueta esperada para a resposta à mensagem corrente.

:language A linguagem do conteúdo da performativa

:ontology O nome da ontologia necessária para a interpretação do conteúdo da mensagem

:content O conteúdo da mensagem-informação- sobre a qual incide a atitude da performativa.

Page 42: Porquê sociedades?

Exemplo de KQMLExemplo de KQML

Agente A Agente B

tell(X)

ask(X)

Page 43: Porquê sociedades?

Agentes especiais: FacilitadoresAgentes especiais: FacilitadoresFunções Manter um registo com os nomes dos serviços disponíveis; Re-encaminhar mensagens para os fornecedores desses

serviços; Providenciar emparelhamento entre fornecedores e

consumidores de informação; Servir como mediadores e tradutores.

Page 44: Porquê sociedades?

Comunicação usando um facilitadorComunicação usando um facilitador

Page 45: Porquê sociedades?

Comunicação entre agentesComunicação entre agentes

Page 46: Porquê sociedades?

FIPA: uma outra aproximaçãoFIPA: uma outra aproximação

AAAOther Agents

1.2.a

1.2.b

Agent Interaction2.2

1.2.cHardware

Software

A

InformationFusion

InformationProcessing

Environment

x.3

Humans

Page 47: Porquê sociedades?

RequisitosRequisitos Requisito 1-Os agentes devem enviar um “not-understand”quando receberem

uma mensagem que nao reconhecem ou quando recebem uma mensagem que sao incapazes de processar o seu conteudo. Por outro lado, os agentes devem estar preparados para receber e tratar mensagens “not-understand” vindas de outros agentes.

Requisito 2- Um agente ACL compliant pode implementar qualquer subconjunto dos typos de mensagens e protologos pre-definidos. A implementacao dessas mensagens deve ser correcta no que diz respeito ‘a definicao semantica dos actos de discurso.

Requisito 3- Uma agente ACL-compliant que use os actos comunicativos cujos nomes sao definidos pela especificacao FIPA’97 Part 2 devem implementar esses actos correctamente relativamente à sua definição.

Requisito 4- Os agentes podem usar os actos comunicativos, não definidos no documento de especificação, e são responsáveis por garatir que o agente receptor compreende os significado do acto. Os agentes não devem no entanto definir actos que ja’ estao definidos nos standard actos.

Requisito 5- Um agente ACL-compliant deve gerar mensagens correctamente e sintaticamente bem formadas na forma que deseja que a mensagem seja enviada. De forma paralela os agentes devem poder interpretar e traduzir as sequencias de caracteres de uma mensagem bem formada.

Page 48: Porquê sociedades?

Formato de mensagem em FIPA-Formato de mensagem em FIPA-ACLACL

(inform:sender jardineiro:receiver toby:content (come osso):reply-with resp:language j1:ontology jardim)

(mais detalhe sobre FIPA-ACL será dado na unidade respeitante às ferramentas)

Page 49: Porquê sociedades?

Sumário: Problemas Revistos (1/2)Sumário: Problemas Revistos (1/2)Problema dos comportamentos sociais e individuais

• Como especificar os comportamentos sociais dos agentes?• Como é que os comportamentos dos outros e da sociedade

influenciam o comportamento individual?Problema da estrutura da organização

• Como organizar uma sociedade de agentes para que no global, esta execute a tarefa desejada?

• Qual o tipo de estrutura mais adequada para a tarefa em causa? 

• Como definir os aspectos do comportamento individual para que sejam integrados na sociedade levando a um comportamento global desejado?

•  Que tipos de mecanismos há que levem ao surgimento e desaparecimento de sociedades? 

Page 50: Porquê sociedades?

Sumário: Problemas Revistos (2/2)Sumário: Problemas Revistos (2/2) Problema da comunicação entre agentes

• Que tipo de comunicação entre agentes é a mais adequada à estrutura escolhida? 

• Que linguagens de comunicação existem e podem ser usadas para a comunicação entre agentes numa sociedade de agentes? 

• Que conceitos (ontologias) são necessários ser partilhados para que os elementos da sociedade consigam interpretar as mensagens recebidas? 

Page 51: Porquê sociedades?

Cooperação, colaboração e negociação• Que mecanismos de cooperação são necessários

para que os agentes executem cooperativamente uma dada tarefa? 

• Que estruturas de organização são as mais adequadas para determinados tipos de cooperação? 

• Que linguagens existem que podem ser usadas para permitir a cooperação e negociação entre agentes numa sociedade? 

Sumário: Problemas a AbordarSumário: Problemas a Abordar