Page1
DAS-5341: Agentes Inteligentes
Prof. Eduardo Camponogara
Page2
Agenda• Introdução a agentes inteligentes
• Como devemos agir?– Mapeamento de sequências de percepção
para ações– Autonomia
Page3
Agenda• Estrutura de agentes inteligentes
– Programas de agentes– Por que não buscar respostas em tabelas?– Um exemplo– Agentes reflexivos– Agentes baseados em objetivos– Agentes baseados no conceito de utilidade
• Ambientes
Page4
Introdução
AmbienteAgente
percepção
ações
?
Sensores
Atuadores
Como projetar isto?
Page5
Introdução• Definição de Agente:
– Um agente é qualquer coisa que tem capacidade de percepção do ambiente, através de sensores, e de ação através de atuadores
• Um agente humano tem olhos, ouvidos, e outros órgãos como sensores, e mãos, pernas, boca, e outras partes como atuadores
Page6
Introdução• Um agente robótico utiliza câmeras e
dispositivos de infra-vermelho como sensores e vários motores como atuadores
Page7
Introdução• Um objetivo da Inteligência Artificial é projetar
agentes que façam um bom trabalho de atuar em um ambiente
AmbienteAgente
percepção
ações
?
Sensores
Atuadores
Como projetar isto?
Page8
Como agentes agem• Agente racional
– Um agente é dito racional se este faz o que é certo
– Certamente, isto é melhor do que fazer a coisa errada
• O que isto significa?– Como uma primeira aproximação, diremos que
a ação correta é uma que induz sucesso.– Isto deixa em aberto o problema de avaliar
como e quando avaliar o sucesso de um agente
Page9
Como agentes agem• Usaremos o termo medida de performance
para caracterizar a maneira que um agente age--este critério quantifica o grau de sucesso de um agente– Não há uma medida única de sucesso para
todos os agentes– A medida de desempenho deve ser imposta
por uma autoridade– Nós (os projetistas) estabelecemos um
padrão do que significa obter sucesso em um ambiente e usamos este para quantificar a performance do agente
Page10
Um exemplo• Como exemplo de medida de desempenho,
considere um agente aspirador-de-pó que deve limpar uma dada área
Page11
Um exemplo• Como exemplo de medida de desempenho,
considere um agente aspirador-de-pó
encarregado de limpar uma certa área
– uma medida de desempenho plausível é medir a quantidade de poeira coletada em um período de oito horas
– Uma medida mais sofisticada levaria em conta a quantidade de eletricidade consumida e a quantidade de ruído produzido
Page12
Quando medir a performance• O momento de avaliar a performance também
é importante.
– Se medimos após a primeira hora do dia, estaremos recompensando aqueles agentes que trabalham rápido, mesmo que façam pouca coisa mais tarde
– Portanto, desejamos uma medida de performance para um período longo, seja ela de oito horas ou uma vida inteira
Page13
Omnisciência Racionalidade• Um agente omnisciente sabe o resultado de
uma ação antes de tomá-la– Agentes omniscientes não são reais
• Considere o exemplo– Uma pessoa esta caminhando na calçada e
vê seu amigo do outro lado– Não havendo tráfego se aproximando ele
inicia a travessia
Page14
Omnisciência Racionalidade
Page15
Omnisciência Racionalidade• Considere o exemplo
– neste momento um objeto cai de um avião que está sobrevoando a área, a cerca de 30.000 pés, sobre o pedestre
• Foi então racional atravessar a rua?
Page16
Omnisciência Racionalidade• Foi racional atravessar a rua?
– O exemplo mostra que racionalidade está relacionada à expectativa de sucesso dado o que foi percebido
– Atravessar a rua foi racional porque, na maioria das vezes, a travessia teria sido bem-sucedida e não havia maneira de prever a queda do objeto
– Em outras palavras, não podemos culpar o agente por não levar em conta alguma coisa que ele não tinha condições de observar
Page17
Omnisciência Racionalidade• Em suma, o que é racional em um certo
instante de tempo depende de quatro fatoresmedida de desempenho: a medida de
desempenho define o grau de sucessopercepção: tudo que o agente percebeu até o
momento; chamamos esta informação de histórico de percepção completo
ambiente: tudo que o agente sabe sobre o ambiente
ações: as ações que o agente pode executar
Page18
Agente Racional Ideal• Para cada seqüência de percepção possível,
um agente racional ideal deve tomar a ação que maximiza a medida de desempenho, tendo como base as evidências fornecidas através da sequência e qualquer conhecimento embutido– Tomar ações de forma a obter informações
úteis (explorar e aprender) é uma parte importante da racionalidade
• A noção de agente deve ser utilizada como uma ferramenta para analisar um sistema, não como uma caracterização que divide o mundo entre agentes e não-agentes
Page19
Agente Racional Ideal• Considere um relógio
– Este pode ser visto como um agente inanimado ou como um agente simples
– Como agente, a maioria dos relógios fazem a coisa certa
– Relógios são um tipo de agente degenerado, cuja seqüência de percepção é vazia; quaisquer que sejam os eventos externos, o comportamento do relógio não se altera
Page20
Mapeamento ideal de seqüências de percepção em
ações• Uma vez verificado que o comportamento
de um agente depende da seqüência de percepção, podemos descrever qualquer agente particular por meio de uma tabela– Para cada seqüência possível, a tabela tem
uma entrada com ação correspondente– Tal tabela é dita mapeamento de
seqüências em ações– Testando todas as possíveis seqüências
podemos, em princípio, identificar o mapeamento que descreve o comportamento de um agente
Page21
Mapeando seqüências em ações• Se um mapeamento descreve um agente,
então um mapeamento ideal descreve um agente ideal– A especificação da ação correta para cada
seqüência resulta no projeto de um agente ideal
AgenteSequência s Acão a = f(s,t)
Page22
Mapeando seqüências em ações• De qualquer forma, isto não significa que
podemos criar uma tabela que explicitamente defina o comportamento de um agente
• É possível especificar um mapeamento de forma implícita, sem ter que enumerar todas as entradas da tabela?
Page23
Mapeando seqüências em ações• Considere um agente simples: calcular a
função raiz quadradaAção zPercepção x
.......
1.095 445 1151.2
1.048 808 8481.1
1.000 000 0001.0
Page24
Mapeando seqüências em ações• Function Sqrt(x)
z <- 1.0repeat until |z2 - x| < 10-5
z <- z - (z2 -x)/(2z)
Page25
Mapeando seqüências em ações• O exemplo da raiz quadrada ilustra o
relacionamento entre um mapeamento ideal e um agente ideal, para uma tarefa restrita– Enquanto que a tabela é excessivamente
grande, o agente é eficaz e compacto
• Para sorte da IA, é possível projetar agentes compactos que implementam um mapeamento ideal para problemas muito mais gerais
Page26
Autonomia• Há outro conceito relacionado com a definição
de agente ideal: o conhecimento embutido
• Se as ações de um agente são baseadas completamente no conhecimento embutido, de forma que o agente não presta atenção aos valores dos sensores (percepção), então dizemos que falta autonomia ao agente
Page27
Autonomia• Se o fabricante do relógio soubesse que o
dono vai viajar para a Austrália, ele poderia pré-programar o relógio
• A quem pertenceria a inteligência?
Page28
Autonomia
• A inteligência pertenceria ao fabricante, não ao relógio
Page29
Autonomia• Um sistema é autônomo à medida
que seu comportamento é determinado pela sua própria experiência
– Quando um agente tem pouca ou nenhuma experiência, ele teria que agir randomicamente a menos que o projetista forneça alguma assistência
Page30
Autonomia• Portanto, a teoria da
evolução permite que animais tenham reflexos embutidos que são suficientes para eles sobreviverem por um tempo longo, o suficiente, para aprenderem por si próprios
• Assim, seria razoável que a IA introduzisse conhecimentos iniciais e a habilidade de aprender em seus agentes artificiais
Page31
Autonomia• Um agente verdadeiramente autônomo
deve ser capaz de operar com sucesso, em uma variedade de ambientes, dado tempo suficiente para se adaptar
Page32
Estrutura de Agentes Inteligentes• Até este momento, falamos sobre como
descrever o comportamento dos agentes--a ação que é executada após uma seqüência de percepções.
• A tarefa de IA é projetar programas de agentes– uma função que implementa o mapeamento
da percepção em ações– se assume que o programa vai rodar em
algum tipo de dispositivo computacional, que chamamos de arquitetura
Page33
Arquitetura• A arquitetura pode ser
– um simples computador– hardware de propósito específico para
certas tarefas, tais como processamento de imagens e filtragem de áudio
• Em geral, a arquitetura:– apresenta a percepção dos sensores do
agente,– roda o programa do agente, e – alimenta as ações do agente aos atuadores
Page34
Agente
Agente Arquitetura
Programa
= +
Page35
Estrutura de Agentes• Programa:
– uma função que mapeia percepção em ação
• Arquitetura– Dispositivo computacional no qual o
programa é executado
• Agente = Programa + Arquitetura
Page36
Estrutura de Agentes• Para projetar agentes, precisamos de uma
idéia básica sobre:– Possíveis percepções e ações– Objetivos e medida de desempenho– O ambiente no qual o agente atuará
Page37
Exemplos de tipos de agentesAmbienteObjetivosAçõesPercepçãoTipo
Grupos de alunos
Maximizar acertos aluno
Sugestões de exercícios
Palavras digitadas
Tutor de Inglês inteligente
RefinariaSegurança, nível de pureza
Válvulas, ajuste de temp.
Temperatura, pressão
Controlador de refinaria
EsteiraMovimento correto
Partes a serem manipuladas
Pontos de imagem
Robô manipulador
Imagens de satélite
Classificação correta
Classificação da cena
Cor, resoluçãoAnálise de imagens
Paciente, Hospital
Saúde do paciente, minimização de custos
Questões, exames, e tratamentos
Sintomas, descobertas, respostas do paciente.
Diagnóstico médico
Page38
Programa de Agentes - Esqueleto
Função Agente(percepção) retorna açãoEstático: memória, memória do agente
memória <- Atualiza-Memória(memória, percepção)ação <- Escolha-Melhor-Ação(memória)memória <- Atualiza-Memória(memória, ação)retorna ação
Apenas um item de percepção em vez de uma seq.Sem medida de desempenho pois esta será
aplicada externamente
Page39
Programa de Agente: Tabela de Consulta
função Agente-Tabela(percepção) retorna açãoestática:sequência, inicialmente uma sequência vazia
tabela, uma tabela indexada por sequência de percepção, inicialmente vazia
insira percepção final sequência ação <- procura_tabela(sequência, tabela)retorna ação
Page40
Por que a abordagem por tabela falha?
• Número excessivo de entradas– 35100 entradas necessárias para um jogo de
xadrez• Leva muito tempo para construir a tabela• Sem autonomia
– Mudanças no ambiente podem tornar o agente totalmente inútil
• Aprendizagem leva muito tempo– Há tantas possibilidades que aprender o
valor correto de cada sequência vai consumir tempo “infinito”
Page41
Exemplo: motorista de taxi
Ruas, pedestres, clientes, sinais
Segurança, velocidade, conforto, lucro
Mover volante, acelerar, frear, falar
Câmeras, velocímetro, GPS, sonar, microfone
Motorista de taxi
AmbienteObjetivosAçõesPercepçãoTipo agente
• Use a percepção para determinar o estado– Onde nós estamos?– Qual é velocidade atual?– Quais são as condições do veículo?
• Lidar com objetivos conflitantes• Lidar com diferentes ambientes
Page42
Tipos gerais de agentes• Agentes reflexivos simples• Agentes que mantêm histórico do “mundo”• Agentes baseados em metas• Agentes baseados na função utilidade
Page43
1) Agente ReflexivoA
mbietne
Agente Sensores
Qual é a condição do mundo?
Que ação devotomar agora?
Atuadores
Regras condição-ação
• Regras condição-ação sumarizam parte da tabela– Exemplo: Se carro à frente está parando,
inicie frenagem
Page44
1) Agente Reflexivofunção Agente-Reflexivo(percepção) retorna ação
estático: regras, conjuntos de regras condição-ação
estado <- Interpretar-Entrada(percepção)regra <- Casa-Regra(estado, regras)ação <- Regra-ação(regra)retorna ação
• Implementação eficiente possível• Aplicabilidade limitada
Page45
2) Agentes que matêm informações sobre o “mundo”
EstadoA
mbiente
Agente Sensores
Qual é o estadodo mundo?
Que açõesdevo tomar
Atuadores
Regras condição-ação
Como o mundo evolui
Quais são minhas ações
• Matém um estado interno para escolher uma ação– Sensores não dão o estado completo do “mundo”
Page46
2) Agente com estado internofunção Agente-com-Estado(percepção) retorna açãoestático: estado, descrição do estado corrente do mundo regras, um conjunto de regras condição-açãoestado <- Atualiza-Estado(estado, percepção)regra <- Casa-Regra(estado,regras)ação <- Regra-Ação[regra]estado <- Atualiza-Estado(estado,ação)retorna ação
Atualiza-Estado cria um novo estado do mundo
Page47
3) Agentes baseados em metas• Informação sobre metas
Quais situações são desejáveis– Exemplo: o destino do passageiro
• Combine com resultados de ações– Algumas vezes apenas uma ação, outras
vezes uma sequência de ações
• Necessita considerações sobre o futuro– O que irá acontecer– O que me deixará contente
Page48
3) Agentes baseados em metas• Mais flexível do que o sistema baseado em
regras condição-ação– Inferência sobre o resultado de uma
frenagem em conexão com a meta em vez da resposta imediata
– Atualização do conhecimento mais rápida quando o ambiente se altera
– Exemplo: Frenagem em tempo chuvoso
Page49
3) Agentes baseados em metas
Estado
Am
biente
Agente Sensores
Qual é o estadodo mundo?
Que ação devotomar agora?
Atuadores
Metas
Como que o mundo evolui
Quais são minhas ações
Qual será o estadose eu tomar a ação A
Page50
4) Agentes com função utilidade• Metas podem ser atingidas de diferentes
maneiras– Qual é a mais desejável?
• Necessitamos de uma medida da utilidade dos estados– Quão satisfeito estará o agente quando a meta
é atingida?– Mapear o estado a um número real
• Permite tomada de decisões racionais– Metas conflitantes: apenas algumas podem ser
alcançadas– Várias metas: nenhuma pode ser alcançada
com certeza
Page51
4) Agentes com função utilidade
• Porque “satisfação” não é cientificamente aceito, dizemos que um “estado do mundo” é preferível a outro se o primeiro tiver mais “utilidade”
Page52
Agentes com função utilidade
Estado
Am
bientesAgente Sensores
Qual é o estadoatual do mundo?
Que ação devoescolher?
Atuadores
Como que o mundo evolui
Quais são minhas ações?
Qual será o estadoapós a ação A
Quão satisfeitoestarei neste estado?Utilidade
Page53
Referências• Stuart Russel and Peter Norvig, Artificial
Intelligence: A Modern Approach, Prentice Hall, 1995. – Chapter 2: Intelligent Agents
Page54
Fim• Obrigado pela presença!