Agentes Inteligentes e Sistemas Multiagente
(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:



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.
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?
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?
Problema 1: Dos comportamentos
individuais 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
Agentes simples: BOIDS,
Reinolds, 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).
BOIDS: 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.
BOIDS: Percepção

Os agentes individuais têm
capacidade de percepção do
ambiente.
 Esta capacidade é limitada dandolhes 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.
A questão está portanto em determinar como é que
o ambiente e a presença dos outros pássaros iria
influenciar o comportamento individual?
BOIDS: Solução
Foi 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).
BOIDS: Realização
Estes 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>>>>
BOIDS: Mais informação

http://www.red3d.com/cwr/steer/
Problema 2: A criação de sociedades e
a 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?
Sistema multi-agente
Como estudar as interações entre
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
Exemplos de Funções de
Transformaçã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)
Problema
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
O Problema da Organização dos
agentes
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.
Estrutura 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
Propriedades das Estruturas de
agentes
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.
Definição de Organização de
Agentes
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.
Tipos de Estruturas de Agentes

Estruturas hierárquicas
 Estruturas de Mercado
Estruturas Hierárquicas (1)

Estrutura hierárquica orientada ao produto
GP
GP
GP
Estruturas Hierárquicas (2)

Estrutura hierárquica Funcional
G
GF
GF
GF
Modelos de Mercado (1)
Modelo de Mercado Descentralizado
GP
GP
GP
Modelos de Mercado (2)
Modelo de Mercado Centralizado
G
GP
G
GP
G
GP
Modelos de Mercado
(Centralizado)
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.
Estruturas em Federação
F
F
F
F
Exemplo 1: Projecto Knowledge
Community
Hierarquia de Agentes
Trafic Agent
Bus Agent
LocalBus Company A
Railway Agent
Local Railway train A
Local Railway Train B
Exemplo 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.
Exemplo 2: RETSINA (2)
Problema 3: 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?
Comunicaçã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"
Comunicaçã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.
Comunicaçã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.
Comunicaçã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.
Tipos de Actos de Fala
1.
2.
3.
4.
5.
Representativos- dá o comprometimento de S de que
uma dada proposição é verdade (ex. Informing)
Directivos – pedido de S para que H faça algo (ex.
Request)
Comissivos – comprometimento de S a uma dada
acção (ex. Promisse)
Expressivo- expressão de um estado psicológico (ex.
Agradecimento)
Declaration- execução de mudanças no estado de
coisas (ex. Declaração de guerra)
Linguagens de Comunicação entre
Agentes
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
Linguagens de Comunicação entre
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).
KQML: Exemplos de performativas
(ask-if
:content ligado(aparador-relva)
:sender
dono-jardim
:receiver jardineiro
:language PROLOG
:ontology jardim)
Argumentos das Performativas em
KQML
: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çãosobre a qual incide a atitude da
performativa.
Exemplo de KQML
ask(X)
Agente A
Agente B
tell(X)
Agentes especiais: Facilitadores
Funçõ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.
Comunicação usando um facilitador
Comunicação entre agentes
FIPA: uma outra aproximação
Humans
Hardware
A
x.3
1.2.c
Information
Processing
1.2.a
Information
Fusion
1.2.b
2.2
Software
Agent Interaction
A
Environment
A
Other
Agents
A
Requisitos





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.
Formato de mensagem em FIPAACL
(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)
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?
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?
Sumário: Problemas a Abordar

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?
Download

Sociedades de Agentes