Agentes - Software Livre por Hugo Barros

Transcrição

Agentes - Software Livre por Hugo Barros
1
Agentes Inteligentes
O que é um agente

Agente é qualquer entidade que:
− 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, ...)
Mapeamento: seqüência de percepções => ação
ambiente
sensores
Raciocinador
atuadores
Agente
modelo do
ambiente
Medida de Desempenho (MD)

Critério que define o grau de sucesso de um agente na
realização de uma dada tarefa
−
Esta medida deve ser imposta do exterior
−
Má escolha da MD pode acarretar comportamento
indesejado
−
Compromissos entre objetivos múltiplos conflitantes
−
Resta o problema de saber quando avaliar o
desempenho
−
Exs. aspirador de pó, provador de teoremas, filtragem
de e-mails, policial de trânsito, avaliador de clima...
3
Agente Racional (McCarthy & Hayes 69,
Newell 81)



Agente Racional: fazer a melhor coisa possível
− segue o princípio da racionalidade: dada uma seqüência de
percepções, o agente escolhe, segundo seus
conhecimentos, as ações que satisfazem melhor seu
objetivo.
Problema
− estado inicial + ações => estado final (objetivo)
Racionalidade ≠ Onisciência, limitações de:
− sensores
−
atuadores
−
raciocinador (conhecimento, tempo, etc.)
−
Agir para obter mais dados perceptivos é racional
4
Autonomia e Utilidade


Autonomia
−
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
Para construir um sistema inteligente, utilizamos
− linguagem
−
inferência
−
conhecimento
5
A metáfora de agente decompõe
1) Problema em:
− percepções, ações, objetivos, e ambiente (e outros agentes)
2) 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
3) Arquitetura e método de resolução de problema
6
Agente de Policia
Agente
raciocínio
Conhecimento:
- leis
- comportamento
dos indivíduos,...
percepção
Ambiente
Objetivo:
- fazer com que as leis
sejam respeitadas
execução
Ações:
- multar
- apitar
- parar, ...
Agente
Exemplos de Agentes
Diagnóstico
médico
Dados
perceptivos
Ações
Sintomas,
Perguntar,
paciente, exames prescrever exames,
respostas, ...
testar
Objetivos
Ambiente
Saúde do paciente,
minimizar custos
Paciente,
gabinete, ...
Análise de
imagens de
satélite
Pixels
imprimir uma
categorização
categorizar
corretamente
Imagens de
satélite
Tutorial de
português
Palavras
digitadas
Imprimir exercícios,
sugestões,
correções, ...
Melhorar o
desempenho do
estudante
Conjunto de
estudantes
Filtrador de
mails
mensagens
Aceitar ou rejeitar
mensagens
Aliviar a carga de
leitura do usuário
Mensagens,
usuários
Motorista de
taxi
Imagens,
velocímetro,
sons
brecar, acelerar,
dobrar, falar com
passageiro, ...
Músico de jazz
Sons seus e de
outros músicos,
grades de
acordes
Escolher e tocar
notas no andamento
Segurança,
Ruas, pedestres,
rapidez, economia,
carros, ...
conforto,...
Tocar bem, se
divertir, agradar
Musicos,
publico, grades
de acordes
Ambiente


Classes de ambientes
− Físico: robôs
−
Software: softbots
−
Realidade virtual (simulação do ambiente físico): softbots e avatares
Propriedades de um ambiente
− acessível (completamente observável) x inacessível (parcialmente
observável)
−
estático x dinâmico
−
determinista x não-determinista
−
discreto x contínuo
−
episódico x não-episódico (seqüêncial)
−
tamanho: número de percepções, ações, objetivos,...
9
Ambientes: propriedades (1/2)



Acessível: quando os sensores do agente conseguem perceber o
estado completo do ambiente.
Determinístico: o próximo estado do ambiente pode ser
completamente determinado pelo estado atual e as ações
selecionadas pelo agente.
Episódico: a experiência do agente é dividida em episódios. Cada
episódio consiste em o agente perceber e então agir. Cada
episódio não depende das ações que ocorreram em episódios
prévios.
10
Ambientes: propriedades (2/2)



Estático: o ambiente não muda enquanto o agente está escolhendo a
ação a realizar.
− Semi-dinâmico: o ambiente não muda enquanto o agente delibera,
mas o "score" do agente muda.
Discreto: quando existe um número distinto e claramente definido de
percepções e ações em cada turno.
Contínuo: percepções e ações mudam em um espectro contínuo de
valores.
11
Exemplos de
Ambientes
Agente
acessível
determinista episódico
estático
discreto
xadrez sem relógio
Sim
Sim
Não
Sim
Sim
xadrez com relógio
Sim
Sim
Não
Semi
sim
gamão
sim
não
não
sim
sim
motorista de taxi
Não
Não
Não
Não
Não
médico
Não
Não
Não
Não
Não
tutor
Não
Não
Não
Não
Sim
Analisador de imagem
Sim
Sim
Sim
Semi
Não
Busca na web
Não
Não
Sim
Não
Sim
Filtrador de mail
Sim
Não
Sim
Não
Sim
Músico
Sim
Não
Não
Não
Não
+ O Tamanho do ambiente é dado por:
número de percepções, ações e objetivos possíveis
13
Algoritmo Básico

função agenteSimples (percept) retorna ação
memória := atualizaMemória (memória, percept)
ação := escolheMelhorAção(memória)
memória := atualizaMemória (memória, ação)
retorna ação

Arquiteturas
− Agente tabela
−
Agente reativo simples
−
Agente reativo baseado em modelos
−
Agente baseado em objetivos
−
Agente baseado em utilidade
−
Agente com aprendizagem
autonomia
complexidade
Agente Tabela
sensores
Agente
Tabela
percepções
ações
.
.
.
.
ambiente
atuadores

Limitações
− Mesmo Problemas simples -> 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
−
Este agente só tem fins didáticos!!! Não vale nem a pena pensar nele
Ambientes
− acessível, determinístico, episódico, estático, discreto e minúsculo!
Agente Reativo Simples

Selecionam ações com base somente na
percepção atual
−
Exemplo: agente aspirador de pó
Função AGENTE-ASPIRADOR-REATIVO ([posição, estado])
retorna uma ação
se estado = sujo
então retorna aspirar
senão se posição = A
então retorna direita
senão se posição = B
então retorna esquerda
15
Agente Reativo Simples: Aspirador de pó





Programa muito pequeno em relação a tabela que representa a
função agente
Porque descartamos o histórico de percepções
− Diminuem as possibilidades
Porque se o quadro está sujo, não precisamos verificar a posição
A entrada pode ser processada para estabelecer uma condição
− Exemplo: Processar a imagem do agente motorista de táxi e
verificar que “o carro da frente está freando”
Ao invés de ter uma tabela com cada mudança que ocorre na
imagem, “interpretamos” a condição da imagem
16
Agente Reativo Simples: Aspirador de pó

Então podemos fazer conexões entre as condições de entrada e as
ações correspondentes
Se carro_da_frente_está_freando
então começar_a_frear


Estas regras são chamadas de regras de condição-ação
Conexões nos seres humanos:
− Aprendidas: dirigir
−
Reflexos inatos: tirar a mão do fogo, ou piscar qdo algo se aproxima
do olho

Projeto do agente:

Construir um interpretador de uso geral para regras de condição-ação

Criar um conjuntos de regras para cada ambiente de tarefa
17
Agente Reativo Simples
sensores
Agente
ambiente
Qual a aparência atual do mundo?
Que ação devo executar 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 de percepções, pouca autonomia
Ambientes:
− Reflexo imprescindível em ambientes dinâmicos
−
Acessível, episódico, pequeno
Funcionamento


INTERPRETA-ENTRADA -> Gera uma descrição abstrata do
estado a partir do que foi percebido
CASAMENTO-REGRA -> Retorna a primeira regra que "casou“
com a descrição do estado
19
20
Limitações


São simples, porém limitados
Funcionará somente se a decisão correta puder ser tomada com
base apenas na percepção atual
−


Ambiente completamente observável
Exemplos de alguns problemas:
Talvez somente uma imagem não é suficiente para determinar se
o carro da frente esta dando sinal de mudança de direção, alerta
ou freio
Agente Reativo Baseado em Modelos
Agente
sensores
ambiente
Qual é a aparência atual
mundo?
estado: como o mundo era antes
como o mundo evolui
impacto de minhas ações
Que ação devo executar
agora?
Regras
“condição-ação”
atuadores

Desvantagem: pouca autonomia
−

não tem objetivo, não encadeia regras
Ambientes: determinístico e pequeno
−
Ex. Tamagotchi
Agente Reativo Baseado em Modelos



Como lidar com a possibilidade de observação parcial
− O agente deve controlar as partes do mundo que ele não pode ver agora
O agente deve manter um estado interno que dependa do histórico de percepções
e reflita os aspectos não observados no estado atual
Dois tipos de conhecimento são necessários para atualizar o estado interno do
agente (modelo do mundo):
− Como o ambiente evoluí independente do agente


Um carro que está ultrapassando em geral estará mais perto do que
estava um instante antes
Como as ações do próprio agente afetam o mundo
−
Se o agente virar o volante à direita, o carro
irá virar p/ a direita
22
23
Modelo de mundo

O conhecimento de “como o mundo
funciona”
−

Pode ser implementado em simples
circuitos booleanos ou em teoria científicas
completas
Agente baseado em modelo
−
Um agente que usa o modelo de mundo
24
Funcionamento
25
Limitações


Conhecer os estados do ambiente não é suficiente para tomar uma boa
decisão
Exemplo:
− o agente Motorista de Táxi chega a um cruzamento com três
caminhos, qual direção tomar?



Simplesmente reagir: mas existem três reações possíveis
Examinar o modelo de mundo: não ajuda a decidir qual o
caminho
A decisão depende de onde o táxi está tentando chegar
26
Agente baseado em objetivos


O agente precisa de algum tipo de informação sobre o seu objetivo
− Objetivos descrevem situações desejáveis. Ex: estar no destino
Combinando informações sobre:
− O objetivo do agente
−


Os resultados de suas ações
O agente pode escolher ações que alcancem o objetivo
A seleção da ação baseada em objetivo pode ser:
− Direta: quando o resultado de uma única ação atinge o objetivo
−
Mais complexa: quando será necessário longas seqüências de ações
para atingir o objetivo
27
Agente baseado em objetivos

Para encontrar seqüências de ações que
alcançam os objetivos
−

Algoritmos de Busca e Planejamento
A tomada de decisão envolve a
consideração do futuro -> distinta das
regras de condição-ação
−
“O que acontecerá se eu fizer isso ou
aquilo?”
−
“O quanto isso me ajudará a atingir o
objetivo?”
Agente Baseado em Objetivo
sensores
Agente
estado: como o mundo era antes
ambiente
Qual a aparência atual do
mundo?
como o mundo evolui
Qual será a aparência se for
executada a ação A?
impacto de minhas ações
Que ação devo executar
agora?
Objetivos
atuadores

Vantagens e desvantagens:
− Mais complicado e ineficiente, porém mais flexível, autônomo
−

Não trata objetivos conflitantes
Ambientes: determinístico
− ex.: xeque-mate no xadrez
29
Considerações e limitações

O agente que funciona orientado a objetivos é mais flexível
− Agente reflexo  ações pré-compiladas (condição-ação)
−


Agente p/ objetivo  pode alterar somente o objetivo sem
necessidade de se reescrever as regras de comportamento
Mais flexível – representação do conhecimento permite modificações
− Ex: Se começar a chover todos as informações relevantes podem ser
alteradas para se operar de forma eficiente
O objetivo não garante o melhor comportamento para o agente, apenas a
distinção entre estados objetivos e não objetivos
− Ex: Algumas alternativas de planejamento de ações futuras podem
ser mais rápidas, seguras ou baratas que outras
30
Agente Baseado em Utilidade



Se um estado do mundo é mais desejável que outro, então ele terá maior
utilidade para o agente
Utilidade é uma função que mapeia um estado para um número real que
representa o grau de satisfação com este estado
Especificação completa da função de utilidade – decisões racionais em
dois tipos de casos:
− Quando existem objetivos conflitantes (velocidade x segurança) a
função de utilidade especifica o compromisso apropriado
−
Quando existem vários objetivos que se deseja alcançar e nenhum
deles pode ser atingido com certeza – ponderar a importância dos
objetivos
Agente Baseado em Utilidade
Agente
sensores
ambiente
estado: como o mundo era antes
Qual a aparência atual do
mundo?
Qual será a aparência se for
executada a ação A?
Este novo mundo é melhor?
como o mundo evolui
qual é o impacto de
minhas ações
Que ação devo executar agora?
atuadores
Função de Utilidade

Ambiente: sem restrição

Desvantagem: não tem adaptabilidade

Ex. motorista recifence
32
Agente Baseado em Aprendizado




Em agentes sem aprendizagem tudo o que o agente sabe foi
colocado nele pelo projetista
Turing propõe construir máquinas com aprendizagem e depois
ensina-las
Aprendizagem também permite ao agente atuar em ambientes
totalmente desconhecidos e se tornar mais competente do que o
sue conhecimento inicial poderia permitir
Quatro componentes conceituais de um agente com
aprendizagem:
− Elemento de aprendizado
−
Crítico
−
Elementos de desempenho
−
Gerador de problemas
Agente Baseado em
Aprendizado - Componentes


Elemento de aprendizado:
− Responsável pela execução dos aperfeiçoamentos
−
Utiliza realimentação do crítico sobre como o agente está
funcionando
−
Determina de que maneira o elemento de desempenho deve
ser modificado para funcionar melhor no futuro
Crítico:
− Informa ao elemento de aprendizado como o agente está se
comportando em relação a um padrão fixo de desempenho
−
É necessário porque as percepções não fornecem nenhuma
indicação de sucesso
−
O agente não deverá modificá-lo
33
Agente Baseado em
Aprendizado - Componentes


Elementos de desempenho:
−
Responsável pela seleção de ações
externas (agente completo)
−
Recebe percepções e decide sobre ações
Gerador de problemas:
−
Responsável por sugerir ações que levarão
a experiências novas e informativas
−
Ações não ótimas a curto prazo para
descobrir ações ótimas a longo prazo
34
35
Agente motorista de táxi – com aprendizado



Elemento de desempenho: conhecimento e procedimentos para
dirigir
Crítico: observa o mundo e repassa para o elemento de
aprendizagem a reação dos outros motoristas a uma ação do
agente
Elemento de aprendizagem:
− É capaz de formular uma regra afirmando que a ação foi
boa/ruim
−

Modifica o elemento de desempenho pela instalação da nova
regra
Gerador de problemas:
− Identifica áreas que precisam de melhorias
−
Sugere experimentos: testar os freios em diferentes
superfícies
Agente com Aprendizado
Agente
sensores
t+1
crítico
avaliação
ambiente
t
trocas
elemento de
elemento de
desempenho (agente) conhecimento aprendizagem
t
atuadores
objetivos de
aprendizagem
Gerador de
problemas

Ambiente: sem restrição

Vantagem: tem adaptabilidade (aprende)

Simulação do Ambiente


À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
37
Simulação de ambiente

38
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

Observação:
− não cair em tentação “roubando” do ambiente a descrição do que aconteceu. Usar a
memória do agente!
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
39
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
40
Questões


Questões centrais
− comunicação
−
negociação (ex. compra-venda na Web)
−
estados mentais
−
crença, ...
Tensão (trade-off)
− Quanto mais agentes, mais simples (sub-dividido) fica o problema
−
No entanto, mais complexa fica a comunicação e coordenação entre os agentes
41
42
Evolução da noção de
Agente
além das fronteiras da IA....
Agente: ainda não há uma
definição única



IBM: Intelligent agents are software entities that carry out some set of operations
on behalf of an user, and in doing so employ some knowledge representation of
the user’s goals or desires
KidSim: Agent is a persistent software entity (agents have their own ideas about
how to accomplish tasks) dedicated to a specific purpose (smaller than
multifunctions applications)
SodaBot: Software agents are programs that engage in dialogs to negotiate and
coordinate transfer of information
43
Antes....
44
Técnicas &
Agora
Problemas
programas
programas
IA
agentes
inteligentes
agentes móveis,
agentes de software,
robôs, ...
Propriedades

Autonomia (IA)
− raciocínio, comportamento guiado por objetivos
−
reatividade

Adaptabilidade & aprendizagem (IA)

Comunicação & Cooperação (IA)

Personalidade (IA)

Continuidade temporal

Mobilidade
45
46
Agentes na Internet

Categorias por Tipos de Serviços:
− Agentes de Busca e Recuperação (ex. Altavista)
−
Agentes que Filtram Informações (ex. KOM)
−
Agentes de Entrega Off-line (ex. PointCast)
−
Agentes Notificadores (ex. URL-Minder)
−
Agentes de Suporte ao Comércio (ex. BargainBot)
−
Agente corretor (interoperabilidade - ACL)
−
Outros...
Conclusões

Agentes em IA
− Metodologia (metáfora) para projeto de sistemas
−

Agentes em computação
−

Sistemas multi-agentes e robótica
Adoção de uma nova metáfora (antropomórfica e sociológica). Extrapolação
de OOP

IA: autômato -> mente

Agentes: objetos -> pessoas
−
Integração de técnicas de IA
−
Novas tecnologias próprias à Web (ex. mobilidade)
−
Marketing (moda)
Agentes: técnica ou metodologia ?
47
Desenvolvimento de 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 gerador e o simulador de ambientes
−
componentes do agente (vários tipos de conhecimento)
−
Testar o desempenho com diferentes instâncias do ambiente
48
49
Referências
•Stuart Russell and Peter Norvig, Inteligência Artificial. CampusElsevier, 2004.

Documentos relacionados

Agentes Inteligentes - Edirlei Soares de Lima

Agentes Inteligentes - Edirlei Soares de Lima retorna aspirar senão se posição = A então retorna direita senão se posição = B então retorna esquerda Fim

Leia mais