Agentes Inteligentes, PEAS,
Ambientes e Tarefas
Prof. Alexandre Monteiro
Recife
‹#›
Contatos

Prof. Guilherme Alexandre Monteiro Reinaldo

Apelido: Alexandre Cordel

E-mail/gtalk: alexandrecordel@gmail.com
greinaldo@fbv.edu.br

Site: http://www.alexandrecordel.com.br/fbv

Celular: (81) 9801-1878
Roteiro

O que é um Agente Racional (Inteligente)?

Qual sua utilidade em IA?

Ambientes e arquiteturas

Aplicações

Estado atual do conceito de agente
Agente Racional
Um programa de IA pode ser visto
como um Agente Racional.
Agente Racional é aquele que faz
tudo certo, ou seja, tudo certo
visando o objetivo.
4
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, autofalante, impressora, braços, ftp, ...)
Mapeamento: seqüência de percepções => ação
ambiente

Agente
sensores
?
Raciocinador
atuadores
modelo do
ambiente
6
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
• Ex. aspirador de pó, provador de teoremas,
filtragem de e-mails, policial de trânsito, avaliador
de clima...
7
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
Racionalidade vs. Onisciência

Racionalidade: maximiza o desempenho esperado.
• Medida do desempenho que define o critério de sucesso
• Conhecimento anterior que o agente tem do ambiente.
• As ações que o agente pode executar
• A sequência de percepções do agente até o momento

Onisciência: maximiza o desempenho real.
• O agente sabe o resultado real de suas ações e pode agir de
acordo com ele.

Ex: Avião de Eduardo Campos, improvável noticiar que ele foi
idiota por pegar aquele avião.
9
Exploração e Aprendizagem

Exploração
•Tem a finalidade de modificar percepções
futuras, chamada de coleta de informações
•Conhecer mais sobre o ambiente

Apredizagem
•A partir da coleta de informações se pode
aprender
•Conhecimento a priori, não exige percepção
nem aprendizagem
10
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
• Independência de conhecimento anterior

Para construir um sistema inteligente, utilizamos
• linguagem
• inferência
• conhecimento
11
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
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, ...
Exemplos de Agentes
Agente
Diagnóstico
médico
Dados
perceptivos
Ações
MD - Objetivos
Ambiente
Sintomas,
Perguntar,
Saúde do paciente,
paciente, exames prescrever exames, minimizar custos
respostas, ...
testar
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, ...
Segurança,
Ruas, pedestres,
rapidez, economia,
carros, ...
conforto,...
Músico de jazz
Sons seus e de
Escolher e tocar
outros músicos, notas no andamento
grades de
acordes
Tocar bem, se
divertir, agradar
Musicos,
publico, grades
de acordes
Ambiente de Tarefa


PEAS (Performance, Environment, Actuators, Sensors) –
desempenho, ambiente, atuadores e sensores.
Ex: Táxi automatizado
Tipo de
Agente
Medida
Desempenho
Ambiente
Atuadores
Sensores
Motorista de
Táxi
Viagem Segura,
rápida, dentro
da lei,
confortável,
maximizar
lucros
Estradas,
outros tipos de
tráfego,
pedestres,
clientes
Direção,
acelerador,
freio, sinal,
buzina, visor
Câmeras,
sonar,
velocímetro,
GPS,
hodômetro,
sensores do
motor, teclado
15
Propriedades de Ambientes de Tarefas

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 (não muda) x dinâmico (muda) – semidinâmico (ações)
• Determinista (conhece próximo estado) x estocástico (ñ-determinista)
• Discreto x contínuo
• Episódico (só depende das ações anteriores) x não-episódico (seqüêncial)
• tamanho: número de percepções, ações, objetivos,...
• Discreto (xadrez) x contínuo (dirigir táxi)
• Agente único x multiagente
16
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.
17
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.
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
19
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 (chave-valor)
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!
ambiente
Agente Reativo Simples
(percepção atual)
sensores
Agente
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
Agente Reativo Baseado em Modelos
Agente
ambiente
sensores
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
Controla o estado atual e depois
Agente Reativo Simples
Agente Baseado em Objetivo
ambiente
sensores
Qual a aparência atual do
mundo?
Qual será a aparência se for
executada a ação A?
Que ação devo executar
agora?
Agente
estado: como o mundo era antes
como o mundo evolui
impacto de minhas ações
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
Agente Baseado em Utilidade
Agente
sensores
Qual a aparência atual do
mundo?
ambiente
estado: como o mundo era antes
como o mundo evolui
Qual será a aparência se for
executada a ação A?
qual é o impacto de
minhas ações
Este novo mundo é melhor?
Que ação devo executar agora?
Função de Utilidade
atuadores

Ambiente: sem restrição

Desvantagem: não tem adaptabilidade

Ex. motorista recifence
Agente com Aprendizado
t+1
sensores
crítico
avaliação
t
ambiente
Agente
trocas
elemento de
desempenho (agente)
conhecimento
elemento de
aprendizagem
objetivos de
aprendizagem
t
atuadores
Gerador de
problemas

Ambiente: sem restrição

Vantagem: tem adaptabilidade (aprende)

Ex. motorista sem o mapa da cidade
26
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
27
Simulação de ambiente

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!
28
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
29
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
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
Mundo WUMPUS


Mundo WUMPUS
O mundo de Wumpus é um problema didático onde o objetivo é encontrar um
monte de ouro em uma de 16 salas possíveis.
Para isso o agente deve evitar as salas que contém poços sem fundo e a sala
onde está o Wumpus. O ambiente do mundo de Wumpus contém:
• Wumpus, que é monstro que devora qualquer guerreiro que entrar em sua sala.
• Malha 4×4 de salas conectadas por passagens.
• Ouro em alguma sala.
• Poços sem fundo nos quais cairá qualquer um que vagar por esta sala, exceto
o Wumpus.
• O agente pode matar o Wumpus, porém possui apenas uma flecha para fazer isso.
• O agente sempre começa no quadrado identificado como [1,1] voltado para a
direita.
• As posições do Wumpus, ouro e poços são escolhidas ao acaso

Mundo WUMPUS
O agente que vasculhará o mundo de Wumpus em busca do ouros possui as
seguintes características:
• Medida de desempenho: +1.000 por pegar ouro, -1.000 se cair em um
poço ou for devorado pelo Wumpus, -1 para cada ação executada, -10
pelo uso da flecha
• Atuadores: O agente pode mover-se para frente, virar à esquerda, virar
à direita, agarrar um objeto e atirar a flecha
• Sensores: fedor (quadrados adjacentes ao Wumpus, exceto diagonal),
brisa (quadrados adjacentes a um poço, exceto diagonal), resplendor
(quadrados onde existe ouro), impacto (ao caminhar para uma parede)
e audição (percebe o grito do Wumpus ao morrer).
• Agente não conhece a configuração do ambiente.

Mundo WUMPUS
Desenvolva um sistema que implemente um agente que explore
autonomamente o Mundo de Wumpus instanciado de acordo com a figura
vista no início desta especificação de trabalho. O sistema deverá ter as
seguintes características:
• Interface gráfica que permita visualizar o mundo de Wumpus e a
movimentação do agente pelo conjunto de 16 salas;
• Quando for encontrado o ouro, o agente deverá ir para a sala que
contém o ouro e assim finalizar a execução do programa;
• Deverá se levar em consideração as medidas de desempenho
apresentadas nesta descrição de trabalho, de modo que o agente
deverá encontrar o ouro escolhendo o caminho com o menor custo
possível;
• Deverá ser apresentado ao usuário do sistema as atualizações que serão
feitas nos sensores do agente de acordo com as respostas fornecidas a
partir de inferências.
35
Evolução da noção de Agente
além das fronteiras da IA....
36
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
Técnicas & Problemas
Antes....
37
Agora
programas
programas
IA
agentes
inteligentes
agentes móveis,
agentes de software,
robôs, ...
38
Propriedades

Autonomia (IA)
• raciocínio, comportamento guiado por objetivos
• reatividade

Adaptabilidade & aprendizagem (IA)

Comunicação & Cooperação (IA)

Personalidade (IA)

Continuidade temporal

Mobilidade
39
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...
40
Conclusões

Agentes em IA
• Metodologia (metáfora) para projeto de sistemas
• Sistemas multi-agentes e robótica

Agentes em computação
• 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 ?
41
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
Referências


T. Mitchell. Machine Learning. McGraw Hill, New York,
1997.
Stuart Russell and Peter Norvig, Artificial Intelligence
- A Modern Approach. Prentice Hall, 1995.
42
Download

Agentes Inteligentes, PEAS, Ambientes de Tarefas