Agentes
Inteligentes
Prof. Frederico Brito Fernandes
[email protected]
(1) Definição
• Agentes
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
2/38
(1) Definição: algumas definições
• 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
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
3/38
(1) Definição: 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 efetuadores (ex. vídeo, autofalante, impressora, braços, ftp, ...)
• Mapeamento: seqüência perceptiva => ação
Sensores
Raciocinador
?
Atuadores
Disciplina: Inteligência Artificial
Percepções
Ambiente
Agente
Ações
Professor: Frederico Brito Fernandes
4/38
(1) Definição: agente humano
Sensores
Percepções
Ambiente
Ações
Atuadores
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
5/38
(1) Definição: agente policial
Agente
raciocínio
}-{
Conhecimento:
- leis
- comportamento
dos indivíduos,...
percepção
Ações:
Objetivo:
- fazer com que as leis
sejam respeitadas
- multar
- apitar
- parar, ...
execução
Ambiente
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
6/38
(1) Definição: terminologia
• Percepção: entradas perceptivas do agente em qualquer
momento
• Seqüência de percepções: história completa de tudo o que o
agente já percebeu
• A escolha de uma ação de um agente em qualquer instante
pode depender da seqüência inteira de percepção até o
momento
• Uma função agente é o mapeamento de toda seqüência
possível de percepções para uma ação
– Tabela muito grande. Na verdade infinita.
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
7/38
(1) Definição: mundo do aspirador de pó
• Percepção: local e conteúdo, por exemplo, [A, sujo]
• Ações: Direita, Esquerda, Sugar, NoOp
Tabela Parcial de uma
função agente
Seqüência de Percepções
[A, limpo]
[A, sujo]
[B, limpo]
[B, sujo]
[A, limpo] [A, limpo]
[A, limpo] [A, sujo]
...
[A, limpo] [A, limpo] [A, limpo]
[A, limpo] [A, limpo] [A, sujo]
...
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
Ação
Direita
Aspirar
Esquerda
Aspirar
Direita
Aspirar
Direita
Aspirar
8/38
(1) Definição: propriedades de agentes
• Autonomia (IA)
– raciocínio, comportamento guiado por objetivos
– reatividade
• Adaptabilidade & aprendizagem (IA)
• Comunicação & Cooperação (IA)
• Personalidade (IA)
• Continuidade temporal
• Mobilidade
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
9/38
(1) Definição: aprendizagem
• O agente pode ter algum conhecimento anterior
• Ele também pode ganhar experiência e modificar e
ampliar este conhecimento
• Se o ambiente é previamente conhecido:
– O agente não precisa aprender ou perceber
– Somente agir de forma correta
– Mas este tipo de agente se torna muito frágil
– Ex: aspirador de pó começando a limpar no final de um
corredor de vento
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
10/38
(1) Definição: autonomia
• Autonomia sem racionalidade = burrice
– Ex. do agente que atravessa a rua sem olhar – não racional
• A ação correta seria olhar porque maximiza o desempenho
• Coleta de informações:
– A realização de ações com a finalidade de modificar percepções
futuras é uma parte importante da racionalidade
– Ex: relógio que acerta as horas automaticamente quando o dono
viaja para diferentes fusos horários
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
11/38
(1) Definição: autonomia funcional
• Não possui aprendizagem
• O agente sempre tem conhecimento “embutido”
especificado pelo projetista, que lhe é inato e permite iniciar
seu funcionamento. Assim como os animais...
• Se, além deste conhecimento, o agente consegue aprender
por experiência e alterar seu comportamento, ele pode ter
autonomia funcional, ou seja, fugir do funcionamento que
lhe foi imposto pela “natureza”
• Agentes não autônomos só funcionam se as premissas do
seu projeto não mudarem
– Exemplo.: programa tradicional, qualquer alteração nas condições
do contexto implica numa alteração do conhecimento colocado no
projeto do sistema.
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
12/38
(1) Definição: autonomia adaptativa
• Adapta-se por meio de aprendizagem
– Exemplo: agente de reconhecimento de fala, tem um
conjunto pré-definido de padrões, mas pode aprender o
sotaque de um novo usuário.
• Um agente inteligente verdadeiramente autônomo
deveria ser capaz de operar com sucesso em um
grande variedade de ambientes, dado um tempo
suficiente para se adaptar.
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
13/38
(2) 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
perceptiva, o agente escolhe, segundo seus conhecimentos,
as ações que satisfazem melhor seu objetivo.
• Racionalidade x Onisciência são diferentes!
– Onisciência  poder saber os resultados de suas ações
antecipadamente e com precisão
– Impossível de se atingir onisciência na realidade
– Racionalidade diferente de perfeição
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
14/38
(2) Agente Racional: porém...
• Racionalidade Onisciência, limitações de:
–
–
–
–
sensores
efetuadores
raciocinador (conhecimento, tempo, etc.)
Agir para obter mais dados perceptivos é racional
• Exemplo:
– Ao atravessar uma rua deve-se observar se não vem
carro nas duas direções, então posso atravessar. Mas...
• Não podemos condenar um agente que falha por
não levar em conta algo que ele não pode perceber
ou por uma ação que ele não é capaz de tomar
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
15/38
(2) Agente Racional: Fatores
• 4 fatores do que é racional:
– A medida de desempenho
• Critério que define o grau de sucesso de um agente na realização de uma dada
tarefa
– Exs. MD1: quantidade de lixo retiradas X horas de trabalho
MD2: quantidade de lixo retiradas X horas de trabalho descontadas a energia
gasta e o nível de ruído produzido
– 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
– O conhecimento anterior do ambiente
– As ações que o agente pode executar
– A seqüência de percepções até o momento
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
16/38
(2) Agente Racional: Exemplo
• Uma agente racional para o mundo do aspirador de pó:
– MD: 1 pt para cada quadrado limpo em uma unidade de tempo
– Conhece a “geografia” do ambiente, mas não sabe onde tem sujeira e
nem a posição inicial.
• Quadrados limpos permanecem limpos e aspirar limpa o quadrado atual
• As ações Esquerda e Direita movem o agente nesta direções; exceto
quando isto leva o agente para fora do ambiente (fica parado)
– Ações disponíveis: Esquerda, Direita, Apirar, NoOP (não faz nada)
– O agente percebe: a sua posição e se nessa posição existe sujeira
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
17/38
(3) Modelagem usando agentes: Passos
• 1º Passo:
– Especificar o ambiente de tarefa de forma tão completa quanto possível
– Ambientes de tarefas:
•
•
•
•
Medida de desempenho
Ambiente
Atuadores
Sensores
• 2º Passo:
– Especificar a arquitetura e o método de resolução do problema
•
•
•
•
•
•
Agente tabela
Agente reativo
Agente reativo com estado interno (autômato)
Agente cognitivo (baseado em objetivos)
Agente otimizador (baseado em utilidade)
Agente adaptativo
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
18/38
(3) Modelagem usando agentes: Táxi
• Agente Motorista de Táxi
– Desempenho
–
–
–
–
–
–
–
chegar no lugar certo
minimizar o consumo de combustível e desgaste
minimizar o tempo de percurso, custo da viagem
minimizar as infrações de leis de trânsito
minimizar os distúrbios aos outros motoristas
maximizar a segurança e conforto do passageiro
Obs.: alguns destes objetivos são conflitantes...
– Ambiente
– estradas locais ou freeways, tipo de tráfego, neve, Inglaterra, Brasil, ...
– o ambiente irá determinar a dificuldade da implementação
– Atuadores
– Frear, acelerar, virar, falar com o passageiro, se comunicar com outros motoristas
– Sensores
–
–
–
–
Disciplina: Inteligência Artificial
Sensores de velocidade, aceleração, estado (mecânico) do veículo
GPS (Golbal Positioning System) para saber onde esta num mapa
Sensores infra-vermelhos para detectar a distância dos outros carros
Microfone ou teclado para o passageiro informar o destino
Professor: Frederico Brito Fernandes
19/38
(3) Modelagem usando agentes: Exemplos
• Outros exemplos:
Agente
Dados
perceptivos
Ações
Objetivos
Ambiente
Diagnóstico
médico
Sintomas,
paciente, exames
respostas, ...
Perguntar,
prescrever exames,
testar
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
Disciplina: Inteligência Artificial
Segurança,
Ruas, pedestres,
rapidez, economia,
carros, ...
conforto,...
Tocar bem, se
divertir, agradar
Professor: Frederico Brito Fernandes
Musicos,
publico, grades
de acordes
20/38
(3.a) Ambientes
• 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 x inacessível
estático x dinâmico
determinista x não-determinista
discreto x contínuo
episódico x não-episódico
tamanho: número de percepções, ações, objetivos,...
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
21/38
(3.a) Ambientes: Propriedades
• Acessível x Parcialmente Acessível:
– quando os sensores do agente conseguem perceber o estado
completo do ambiente.
• Determinístico x Estocástico:
– o próximo estado do ambiente pode ser completamente
determinado pelo estado atual e as ações selecionadas pelo
agente.
• Episódico x Seqüencial:
– 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.
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
22/38
(3.a) Ambientes: Propriedades
• Estático x Dinâmico:
– o ambiente não muda enquanto o agente está escolhendo a ação a
realizar.
– Semi-estático: o ambiente não muda enquanto o agente delibera,
mas o "score" do agente muda.
• Discreto x Contínuo:
– quando existe um número distinto e claramente definido de
percepções e ações em cada turno.
• Agente Único X Múltiplos Agentes
–
–
–
–
Palavras cruzadas – agente único
Xadrez – agentes múltiplos -> ambiente competitivo
Dirigir táxi – agentes múltiplos ->ambiente cooperativo
Comunicação é necessário em multi-agentes
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
23/38
(3.a) Ambientes: Exemplos
• Complete o quadro abaixo
Palavras
Cruzadas
Acessível
SIM
Determinístico
SIM
Episódico
NÃO
Estático
SIM
Discreto
SIM
Agente único
SIM
Disciplina: Inteligência Artificial
Xadrez
com tempo
Diagnótico
médico
Professor: Frederico Brito Fernandes
Direção de
Táxi
24/38
(3.a) Ambientes: Exemplos
Palavras
Cruzadas
Xadrez
com tempo
Diagnótico
médico
Direção de
Táxi
Acessível
SIM
SIM
NÃO
NÃO
Determinístico
SIM
SIM
NÃO
NÃO
Episódico
NÃO
NÃO
NÃO
NÃO
Estático
SIM
SEMI
NÃO
NÃO
Discreto
SIM
SIM
NÃO
NÃO
Agente único
SIM
NÃO
SIM
NÃO
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
25/38
(3.b) Arquiteturas
• 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
Agente reativo com estado interno (autômato)
Agente cognitivo (baseado em objetivos)
Agente otimizador
autonomia
complexidade
Agente adaptativo
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
26/38
(3.b) Arquiteturas: agente tabela
• Dada uma percepção, procurar na tabela a ação correspondente
sensores
ambiente
Tabela
percepções
.
.
Agente
ações
.
.
efetuadores
• Limitações
– Mesmo Problemas simples -> tabelas muito grandes
• ex. xadrez 30100
– Nem sempre é possível, por ignorância ou questão de tempo, construir a tabela
– Não há autonomia nem flexibilidade
• Ambientes
– acessível, determinista, episódico, estático, discreto e minúsculo!
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
27/38
(3.b) Arquiteturas: agente tabela
• Ex: Agente aspirador de pó
Tabela
Percepção
Ação
[A,limpo]
Direita
[A,sujo]
Aspirar
[B,limpo]
Esquerda
[B,sujo]
Aspirar
Função AGENTE-ASPIRADOR-TABELA ([posição, estado]): ação {
ação = procura(Tabela, [posição,estado]
retorna ação
Problema:
}
Construir a tabela é muito
trabalhoso!
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
28/38
(3.b) Arquiteturas: agente reativo
• A decisão do agente só depende da percepção atual
• Agente motorista de táxi:
– Usa regras de condição  ação
ambiente
• se carro_da_frente_estiver_freando então
inicie_a_freagem
sensores
Como está o mundo agora?
Que ação devo escolher agora?
Regras
“condição-ação”
efetuadores
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
29/38
(3.b) Arquiteturas: agente reativo
• 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
• Ex: Agente aspirador de pó:
Função AGENTE-ASPIRADOR-REATIVO ([posição, estado]): ação
{
se estado = sujo então retorna aspirar
se posição = A então retorna direita
senão se posição = B
então retorna esquerda
}
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
Problema:
Mesmo estando a sala limpa,
quando o aspirador irá parar?
30/38
(3.b) Arquiteturas: agente reativo
(com estado interno)
• O estado atual é dado em função do estado anterior (histórico) e do que foi
percebido no ambiente.
• O agente tem um estado interno com as informações coletadas do ambiente.
Agente
sensores
ambiente
estado: como o mundo era antes
Como está o mundo agora?
como o mundo evolui
impacto de minhas ações
Que devo fazer agora?
Regras
“condição-ação”
efetuadores
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
31/38
(3.b) Arquiteturas: agente reativo
(com estado interno)
• Desvantagem: pouca autonomia
– não tem objetivo, não encadeia regras
• Ambientes: determinista e pequeno. Ex. Tamagotchi
• Agente aspirador de pó:
Função AGENTE-ASPIRADOR-REATIVO ([posição, estado]): ação
{
EstadoAnterior = [posição_anterior,estado_anterior]
se estado = sujo então retorna aspirar
Problemas:
se (posição = A e posição_anterior  B)
(1) E para uma sala com mais de
duas posições?
então retorna direita
se (posição = B e posição_anterior  A) (2) Táxi chega a um cruzamento
com três caminhos, e agora?
então retorna esquerda
-> simplesmente reagir não dá,
existem três reações possíveis e
retorna noop
saber do passado do ambiente
também não ajuda a decidir qual o
caminho
}
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
32/38
(3.b) Arquiteturas: agente cognitivo
(baseado em objetivo)
• 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
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
33/38
(3.b) Arquiteturas: agente cognitivo
(baseado em objetivo)
• 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
– “o que acontecerá se eu fizer isso ou aquilo?”
– “o quanto isso melhorará o meu desempenho?”
• Exemplos:
– Objetivo: não bater no carro da frente
• se o carro da frente pára, pela forma de funcionamento do mundo, a
única ação que atinge o objetivo de não bater é também parar.
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
34/38
(3.b) Arquiteturas: agente cognitivo
(baseado em objetivo)
Agente
ambiente
sensores
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
efetuadores
• 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
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
35/38
(3.b) Arquiteturas: agente otimizador
(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.
• Nos casos onde existem objetivos conflitantes (velocidade
x segurança) a utilidade pode determinar o peso adequado
a cada objetivo.
• Qualquer agente racional deve se comportar como se
possuísse uma função de utilidade cujo o valor esperado
ele tenta maximizar.
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
36/38
(3.b) Arquiteturas: agente otimizador
(baseado em utilidade)
Agente
estado: como o mundo era antes
sensores
Como está o mundo agora?
ambiente
como o mundo evolui
Como ele ficará se faço isto?
Este novo mundo é melhor?
Que ação devo escolher agora?
qual é o impacto de
minhas ações
Função de Utilidade
efetuadores
• Ambiente: sem restrição
• Desvantagem: não tem adaptabilidade
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
37/38
(3.b) Arquiteturas: agente que aprende
ambiente
sensores
Agente
t+1
crítico
avaliação
t
trocas
elemento de
execução (agente)
elemento de
conhecimento aprendizagem
objetivos de
aprendizagem
t
efetuadores
Gerador de
problemas
• Ambiente: sem restrição
• Vantagem: tem adaptabilidade (aprende)
• Ex. motorista sem o mapa da cidade
Disciplina: Inteligência Artificial
Professor: Frederico Brito Fernandes
38/38
Download

Aula 4 - Frederico Brito Fernandes