Agentes
Patricia Tedesco
1
O que é um Agente?
Qualquer entidade (humana ou artificial) que:




está imersa ou situada em um ambiente (físico,
virtual/simulado)
percebe seu ambiente através de sensores (ex.
câmeras, microfone, teclado, finger, ...)
age sobre ele através de atuadores (ex. vídeo,
auto-falante, impressora, braços, ftp, ...)
possui objetivos próprios
 explícitos ou implícitos

escolhe suas ações em função das suas percepções
para atingir seus objetivos
2
Agentes Inteligentes x
Sistemas de IA Clássica
Sistema
Inteligente
Não Situado
Agente Situado
Sensores
Interpretação
das percepções
IA
Ambiente
Raciocínio
Objetivos
Atuadores
Dados de
Entrada
Objetivos
Escolha
das ações
IA
Dados de
Saída
IA
O que é um Agente Racional
Agente Racional


faz a melhor coisa possível
segue o princípio da racionalidade:
 dada uma seqüência perceptiva, o agente escolhe,
segundo seus conhecimentos, as ações que melhor
satisfazem seu objetivo
Racionalidade  Onisciência
Limitações de:



sensores
atuadores
raciocinador (conhecimento, tempo, etc.)
4
Outras propriedades freqüentemente
associadas aos Agentes
Autonomia (IA)


raciocínio, comportamento guiado por objetivos
reatividade
Adaptabilidade & aprendizagem (IA)
Comunicação & Cooperação (IA)
Personalidade (IA)
Continuidade temporal
Mobilidade
5
Outras propriedades freqüentemente
associadas aos Agentes
Autonomia de raciocínio (IA):


Requer máquina de inferência e base de
conhecimento
Essencial em sistemas especialistas, controle,
robótica, jogos, agentes na internet ...
Adaptabilidade (IA):


Capacidade de adaptação a situações novas, para
as quais não foi fornecido todo o conhecimento
necessário com antecedência
Duas implementações
 aprendizagem e/ou programação declarativa

Essencial em agentes na internet, interfaces
amigáveis ...
6
Outras propriedades freqüentemente
associadas aos Agentes
Comunicação & Cooperação (Sociabilidade):

IA + técnicas avançadas de sistemas distribuídos:
 Protocolos padrões de comunicação, cooperação,
negociação
 Raciocínio autônomo sobre crenças e confiabilidade
 Arquiteturas de interação social entre agentes

Essencial em sistemas multi-agente, comércio
eletrônico, ...
Personalidade:


IA + modelagem de atitudes e emoções
Essencial em entretenimento digital, realidade
virtual, interfaces amigáveis ...
7
Outras propriedades freqüentemente
associadas aos Agentes
Continuidade temporal e persistência:


Requer interface com sistema operacional e banco
de dados
Essencial em filtragem, monitoramento, controle,
...
Mobilidade:

Requer:
 Interface com rede
 Protocolos de segurança
 Suporte a código móvel

Essencial em agentes de exploração da internet,
...
8
Como descrever um Agente?
Pode ser descrito em termos de seu
PAGE:





P – percepções
A – ações
G – (goals) objetivos
E – (environment) ambiente
e outros agentes – nos sistemas multiagentes
9
Exemplo: Agente de Polícia
raciocínio
Agente
Conhecimento:
- leis
comportament
o dos
indivíduos,...
percepção
Ambiente
Objetivo:
- fazer com que as leis
sejam respeitadas
execução
Ações:
- multar
- apitar
- parar, ...
Agentes
Algoritmo Básico e Arquiteturas
11
Agentes: Algoritmo básico
função agenteSimples (percepção) retorna
ação
memória := atualizaMemória (memória, percepção)
ação := escolheMelhorAção(memória)
memória := atualizaMemória (memória, ação)
retorna ação
12
Agentes: Arquiteturas
Agente
Agente
Agente
Agente
Agente
Agente
tabela
reativo
reativo com estado interno
cognitivo (baseado em objetivos)
otimizador
adaptativo
autonomia
complexidade
13
Agentes: Arquiteturas
De forma bem simplificada, um agente
pode ser visto como um mapeamento:
seqüência perceptiva => ação
ambiente

sensores
Raciocinador
Agente
modelo do
ambiente
atuadores
14
Agente Tabela –
é mesmo um agente racional?
Agente
sensores
Tabela
Percepções ações
.
.
ambiente
.
.
atuadores
Limitações

Mesmo problemas simples requerem tabelas muito grandes
 ex. xadrez 30^100


Nem sempre é possível, por ignorância ou questão de tempo,
construir a tabela
Não há autonomia nem flexibilidade
Ambiente

acessível, determinista, episódico, estático, discreto e
minúsculo!
Agente Reativo
Agente
ambiente
sensores
Como está o mundo agora?
Que ação devo escolher agora?
Regras
“condição-ação”
atuadores
Vantagens e desvantagens

Regras condição-ação: representação inteligível, modular e eficiente
 ex. Se velocidade > 60 então multar

Não pode armazenar uma seqüência perceptiva, pouca autonomia
Ambientes:


Reflexo imprescindível em ambientes dinâmicos
Acessível, episódico, pequeno
Agente reativo com estado interno
Agente
sensores
estado: como o mundo era antes
ambiente
Como está o mundo agora?
como o mundo evolui
impacto de minhas ações
Que devo fazer agora?
atuadores
Desvantagem: pouca autonomia

não tem objetivo, não encadeia regras
Ambientes: determinista e pequeno

Ex. Tamagotchi
Regras
“condição-ação”
Agente cognitivo baseado em objetivo
ambiente
sensores
Agente
estado: como o mundo era antes
Como está o mundo agora?
como o mundo evolui
Como ele ficará se faço isto?
impacto de minhas ações
Que devo fazer agora?
Objetivos
atuadores
Vantagens e desvantagens:


Mais complicado e ineficiente, porém mais flexível, autônomo
Não trata objetivos conflitantes
Ambientes: determinista

ex.: xeque-mate no xadrez
Agente otimizador (utility based)
Agente
sensores
estado: como o mundo era antes
Como está o mundo agora?
ambiente
Como ele ficará se faço isto?
Este novo mundo é melhor?
Que ação devo escolher agora?
atuadores
Ambiente: sem restrição
Desvantagem: não tem adaptabilidade
Ex. motorista recifense

Segurança e velocidade – conflito!
como o mundo evolui
qual é o impacto de
minhas ações
Função de Utilidade
Agente que aprende
sensores
t+1
crítico
avaliação
t
ambiente
Agente
trocas
elemento de
elemento de
execução (agente) conhecimento aprendizagem
objetivos de
aprendizagem
t
atuadores
Gerador de
problemas
Ambiente: sem restrição
Vantagem: tem adaptabilidade (aprende)
Ex. motorista sem o mapa da cidade
Em Resumo...
IA e Agentes
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...
De fato...
Mundo onde informações e conhecimentos
crescem (e mudam) rápido demais!
O crescimento da Internet trás desafios
constantes que incluem:




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
No Entanto...
Vários problemas não podem ser tratados
centralizadamente... Por exemplo...




Controle de linha de metrô
Monitoramento de Redes de Computador
Diagnóstico Médico
Compra e Venda
Como Resolvê-los?
Inteligência Coletiva
IA Distribuída
25
Um Cenário...
Inteligência Coletiva
Porque pensar a inteligência/racionalidade como
propriedade de um único indivíduo?
Não existe inteligência ...




Em um time de futebol?
Em um formigueiro?
Em uma empresa (ex. correios)?
Na sociedade?
Solução: IA Distribuída



Agentes simples que juntos resolvem problemas complexos
tendo ou não consciência do objetivo global
Proposta por Marvin Minsky e em franca expansão...
o próprio ambiente pode ser modelado como um agente
28
A IA Distribuída
Grupo de Entidades que
podem Interagir


Organização
Ação e Interação
Metáfora de inteligência é
o Comportamento
Social.
IA Distribuída:
dois tipos de sistemas
Resolução distribuída de problemas


consciência do objetivo global e divisão clara de tarefas
Exemplos: Robótica clássica, Busca na Web, Gerência de
sistemas distribuídos, ...
Sistemas Multi-agentes


não consciência do objetivo global e nem divisão clara de
tarefas
Exemplos: n-puzzle, futebol de robôs, balanceamento de
carga, robótica, ...
3
7
4
3
5
7
8
1
4
2
6
5
8
2
1
1
2
3
6
4
5
6
7
8
30
Agentes em IA
Metodologia (metáfora) para projeto de
sistemas
31
Agentes:
Metodologia de desenvolvimento
Decompõe problema em:

percepções, ações, objetivos e ambiente (e outros agentes)
Decompõe tipo de conhecimento em:







Quais são as propriedades relevantes do mundo?
Como o mundo evolui?
Como identificar os estados desejáveis do mundo?
Como interpretar suas percepções?
Quais as conseqüências de suas ações no mundo?
Como medir o sucesso de suas ações?
Como avaliar seus próprios conhecimentos?
O resultado dessa decomposição indica a arquitetura
e o método de resolução de problema (raciocínio)
32
Simulação de Ambientes
Às vezes, é mais conveniente simular o ambiente



mais simples
permite testes prévios
evita riscos, etc...
O ambiente (programa)

recebe os agentes como entrada
fornece repetidamente a cada um deles as percepções
corretas e recebe as ações
atualiza os dados do ambiente em função dessas ações e de
outros processos (ex. dia-noite)
é definido por um estado inicial e uma função de atualização

deve refletir a realidade



33
Simulação de Ambientes
função simulaAmbiente (estado,
funçãoAtualização,agentes,final)
repita
para cada agente em agentes faça
Percept[agente] := pegaPercepção(agente,estado)
para cada agente em agentes faça
Action[agente] := Programa[agente] (Percept[agente])
estado := funçãoAtualização(ações, agentes, estado)
scores := avaliaDesempenho(scores,agente,estado)
//opcional
até final
Cuidado para não cair em tentação e “roubar” do ambiente a
descrição do que aconteceu. Usar a memória do agente!
34
Como desenvolver um
software inteligente
Projeto:



Modelar tarefa em termos de ambiente,
percepções, ações, objetivos e utilidade
Identificar o tipo de ambiente
Identificar a arquitetura de agente adequada ao
ambiente e tarefa
Implementação:



O simulador de ambientes
Componentes do agente
Testar o desempenho com diferentes instâncias do
ambiente
35
Porque usar a metáfora de
agentes?
1. Fornece metodologias de desenvolvimento de
sistemas inteligentes estendendo as de engenharia
de software
2. Fornece visão unificadora das várias sub-áreas da IA
3. Ajuda a embutir a IA em sistemas computacionais
tradicionais
4. Permite tratar melhor a interação com ambiente
5. Permite tratamento natural da IA distribuída
36
Duas noções fundamentais...
Resolução Distribuída de Problemas (RDP)
envolve:



Um grupo de especialistas
Habilidades Complementares
Organização Fixa
Sistemas Multiagentes (SMA)...


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
Definindo SMA
Um SMA é um sistema que possui os seguintes
elementos:






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.
Trocando em miúdos...
Um Sistema Multiagentes ...


Consiste de uma coleção de componentes
autônomos, com objetivos particulares
Que se interrelacionam
 De acordo com uma Organização
 Interagindo, negociando e coordenando esforços
para resolver tarefas
Mas... Por que mesmo
distribuir?
Porque o problema é fisicamente distribuído.
Porque o problema é heterogêneo.
Porque o problema só pode ser resolvido
pela integração de pontos de vista locais.
Porque precisamos de adaptação a
mudanças estruturais...
Em resumo...É boa idéia
quando...
Precisamos manter a autonomia das
sub-partes;
As interações são complexas
Não é possível descrever o Problema a
priori.
As vantagens...
Maior rapidez na solução dos problemas
Diminuição do overhead de comunicação
Maior flexibilidade
Aumento da Segurança
Duas Formas de Projeto
Organização
Emergência de
Propriedades
Interação
Agentes
Restrições
e Objetivos
Considerações no Projeto de
SMA
Três Grandes Grupos...

Aspectos Fundamentais
 Como podemos garantir compatibilidade de ações?

Aspectos Arquiteturais
 Características a serem providas pela arquitetura

Aspectos Ambientais
 Como é o ambiente onde funciona o SMA?
Estrutura
Padrão de Relações entre os agentes e sua
distribuição de habilidades


Cobertura: as habilidades necessárias para
resolver problemas devem ser possuídas por
pelo menos um agente;
Conectividade: Agentes devem interagir de
forma que suas habilidades possam ser
integradas
Comunicação
Habilita os agentes a intercambiar
informações.


Percepção
Ação
Modelada sobre a comunicação humana


Atos de Fala
Blackboard
Tem esforços de padronização!
Organização
Conjunto de Compromisso Globais, Crenças e
intenções comuns aos agentes que querem
atingir um objetivo comum.
Definem...


Um conjunto de diretrizes...
Uma política de interação.
Muitos exemplos!


O CIn
Sua Família
Negociação
Esforço para solução de conflitos e
cooperação

Grupo de agentes “self-interested” que
consegue chegar a uma decisão conjunta.
Envolve..



Linguagem
Protocolo – ex. Contract Net
Processo de Decisão
Coordenação
Fundamental para o trabalho conjunto.
Um SMA pressupõe coordenação entre seus
agentes! Porque...




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... II
Então coordenação é...

O processo pelo qual um agente raciocina sobre suas
ações locais e as de outros agentes para garantir que a
comunidade funcione coerentemente.
Visa garantir que...




Todas as partes necessárias existam na sociedade.
Interação que possibilite a execução das atividades.
Que todos atuem consistentemente
Que tudo seja feito com dos recursos disponíveis
Coordenação... III
Para coordenar com sucesso é preciso...


Uma estrutura...
Flexibilidade nas interações
 Comunicação!
 Negociação!

Conhecimento e raciocínio
 Para reconhecer interações potenciais entre planos
de ação!
Então... O fundamental é...
Interagir!!!






Com quem?
Quando?
Qual o conteúdo?
Como? Que processos e recursos?
Por que?
Como estabelecer a compreensão mútua?
Assim...
Quando Encarar os SMA?
Design de SMA
Quando partir para SMA?




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
Ação

Como coordenar ações?
O indivíduo e sua relação com o mundo

Estados mentais
Interação


Comunicação
Negociação/Argumentação
Implementação
Problemas no
Desenvolvimento de Agentes
Superestimativas do potencial dos agentes.
Dogmatismo a respeito dos agentes.
Não está claro porque usar agentes.
Construção de soluções genéricas para
problemas específicos.
Desenvolver SMA é desenvolver Software...
SMA é software “multithreaded”.
E mais Problemas...
Seu projeto não explora concorrência.
Você resolve adotar sua arquitetura.
Seus agentes usam IA demais.
Os agentes estão em todos os lugares.
Não tem agentes suficientes.
A Interação é caótica...
Aplicações de SMA
Agentes para Gerenciamento de Processos

ADEPT (Jennings et al. 1996)
 Cada departamento envolvido virou um agente.
 Construído em cima de CORBA
 Usou um Shell para Sistemas Especialistas
 Construção baseada na Arquitetura GRATE*
Aplicações de SMA II
Sensoriamento Distribuído

O DVMT, de Victor Lesser (1980)
Recuperação e Gerenciamento de
Informação

Agentes Pessoais de informação
 MAXIMS – Pattie Maes

Agentes Web
 Guias
 Indexadores
Aplicações de SMA III
Agentes para E-Commerce

Vários Tipos:
 Agentes de comparação

Têm problemas quando comparam mais de um atributo.
 Leiloeiros (Auction Bots)

Spanish Fishmarket
Objeções a SMA
Não é a mesma coisa que SD?


Sincronização e Coordenação Dinâmicas
Agentes têm interesses próprios!!!
Não é IA?


SMA têm características de CC e de ES!
Em SMA, o aspecto social é fundamental!
Objeções a SMA... II
Não é só teoria dos Jogos?


TJ muitas vezes desconsiderou a computação...
Hipóteses da TJ são questionadas em SMA
O que eu vou fazer com Ciência Social?


Ambas servem como ferramentas uma para
outra.
Mas são bem diferentes!!!!
Conclusões
68
Agentes no mapa da computação
Nem todo agente é inteligente!
Inteligência
Artificial
Engenharia
de Software
Agentes
Sistemas
Distribuídos
69
Download

SMA_Introducao