Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico...
Transcript of Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico...
![Page 1: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/1.jpg)
Agentes Inteligentes
Capítulo 2
![Page 2: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/2.jpg)
Sumário
• Agentes e ambientes
• Racionalidade
• PEAS: caracterização de um agente
• Tipos de ambientes
• Tipos de agentes
![Page 3: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/3.jpg)
Agentes
• Um agente é tudo o que é capaz de captar/perceber o ambiente onde se encontra através de sensores e actua nesse ambiente através de actuadores
• Agente humano– Sensores: olhos, orelhas e outros órgãos– Actuadores: mãos, pernas, boca e outras partes do
corpo
• Agente robótico– Sensores: câmaras e infravermelhos– Actuadores: partes motoras
![Page 4: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/4.jpg)
Agentes e ambientes
• A função agente mapeia uma sequência de percepções em acções:
[f: P* A]
• O programa agente é executado numa plataforma para produzir f
• agente = plataforma + programa
![Page 5: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/5.jpg)
Mundo do aspirador
• Percepções [localização, conteúdo]– Localização: A, B
– Conteúdo: Limpo, Sujo
• Acções: Esquerda, Direita, Aspirar
![Page 6: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/6.jpg)
Agente aspirador
Direita
Aspirar
Esquerda
Aspirar
Direita
Aspirar
…
[A, Limpo]
[A, Sujo]
[B, Limpo]
[B, Sujo]
[A, Limpo],[A, Limpo]
[A, Limpo],[A, Sujo]
…
AcçãoSequência de Percepções
![Page 7: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/7.jpg)
Agente aspirador
Função AgenteAspirador ([posição, estado])
devolve acção
Se estado = Sujo então devolve Aspirar
Senão se posição = A então devolve Direita
Senão se posição = B então devolve Esquerda
![Page 8: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/8.jpg)
Agentes racionais
• Um agente deve procurar fazer “o que estácerto", baseado nas suas percepções e nas acções que pode tomar
• A acção certa é aquela que dá maior expectativa de sucesso ao agente
• Medida de desempenho: critério objectivo que mede o sucesso do comportamento do agente
• Por exº, medida de desempenho do agente aspirador pode ser a sujidade aspirada, tempo utilizado, electricidade consumida, ruído gerado, etc.
![Page 9: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/9.jpg)
Agentes racionais
• Agente Racional: Por cada sequência de percepções possível, um agente racional deve seleccionar uma acção que ésuposto maximizar a sua medida de desempenho, dada a informação disponibilizada pela sequência de percepções e eventualmente pelo conhecimento que o agente possui.
![Page 10: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/10.jpg)
Agentes racionais
• Racionalidade ≠ omnisciência – Percepções podem não disponibilizar
conhecimento que é importante
• Racionalidade ≠ clarividência– Resultado de uma acção pode não estar de
acordo com o esperado
• Logo, racionalidade ≠ sucesso
• Racionalidade exploração, aprendizagem, autonomia
![Page 11: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/11.jpg)
Agente autónomo
• Um agente é autónomo se o seu conhecimento for determinado apenas pela sua experiência (com capacidade de aprender e adaptar-se)– Agentes podem tomar acções para obter
informações úteis (recolha de informação, exploração)
![Page 12: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/12.jpg)
Caracterização de um agente
• PEAS– Performance (medida de desempenho)
– Environment (ambiente)
– Actuators (actuadores)
– Sensors (sensores)
![Page 13: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/13.jpg)
PEAS: agente prof. de Inglês
• Desempenho– Notas dos alunos no teste
• Ambiente– Conjunto de alunos
• Actuadores– Monitor: exercícios, sugestões, correcções
• Sensores– Teclado: respostas
![Page 14: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/14.jpg)
PEAS: agente médico
• Desempenho– Saúde do paciente, custos
• Ambiente– Paciente, hospital, funcionários
• Actuadores– Monitor: questões, testes, diagnósticos,
tratamentos
• Sensores– Teclado: sintomas, respostas
![Page 15: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/15.jpg)
PEAS: agente taxista
• Desempenho– Segurança, destino, lucros, legalidade, conforto
• Ambiente– Clientes, estradas, trânsito, transeuntes, tempo
• Actuadores– Volante, acelerador, travão, buzina, pisca
• Sensores– GPS, conta km, velocímetro, nível do depósito,
temperatura do óleo
![Page 16: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/16.jpg)
Tipos de Ambientes
• Completamente observável (vs. parcialmente observável): Os sensores do agente dão acesso ao estado completo do ambiente em cada instante de tempo.
• Determinístico (vs. estocástico): O estado seguinte do ambiente é determinado somente em função do estado actual e da acção executada pelo agente. (Se o ambiente ésempre determinístico excepto para as acções de outros agentes, então o ambiente éestratégico)
![Page 17: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/17.jpg)
Tipos de Ambientes
NãoSimEstratégicoDeterminístico
NãoSimSimCompletamente observável
Condutor de táxi
Análise de Imagem
Xadrez com relógio
![Page 18: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/18.jpg)
Tipos de Ambientes
• Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos (em que cada episódio consiste em percepção+acção do agente) e a escolha de cada acção em cada episódio depende apenas do próprio episódio.
• Estático (vs. dinâmico): o ambiente não éalterado enquanto o agente decide que acção vai tomar. (O ambiente é semi-dinâmico se o ambiente permanece inalterado com a passagem do tempo mas o desempenho do agente (pontuação) é alterado)
![Page 19: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/19.jpg)
Tipos de Ambientes
NãoSemiSemiEstático
NãoSimNãoEpisódico
Condutor de táxi
Análise de Imagem
Xadrez com relógio
![Page 20: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/20.jpg)
Tipos de Ambientes
• Discreto (vs. contínuo): O agente tem um número limitado de percepções e acções distintas que estão claramente definidas.
• Agente único (vs. multi-agente): Só existe um agente no ambiente.
![Page 21: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/21.jpg)
Tipos de Ambientes
NãoSimNãoAgente único
NãoNãoSimDiscreto
Condutor de táxi
Análise de Imagem
Xadrez com relógio
![Page 22: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/22.jpg)
Tipos de Ambientes
• O tipo de ambiente determina o tipo de agente
• O mundo real é:– Parcialmente observável
– Estocástico
– Sequencial
– Dinâmico
– Contínuo
– Multi-agente
![Page 23: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/23.jpg)
Tipos de Agentes
• Agentes de reflexos simples
• Agentes de reflexos com estado interno
• Agentes guiados por objectivos
• Agentes baseados em utilidade
• Agentes com aprendizagem
![Page 24: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/24.jpg)
Agentes de reflexos simples
• Motivação: ignorar a história de percepções para tornar as regras condição-acção mais simples
• Representação gráfica– Forma rectangular para estado interno
– Forma oval para informação adicional
![Page 25: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/25.jpg)
Agentes de reflexos simples
![Page 26: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/26.jpg)
Agentes de reflexos simples
Função AgenteReflexosSimples (percepção)
devolve acção
Estático: regras (conjº de regras condição-acção)
estado InterpretaInput(percepção)
regra EmparelhaRegra(estado,regras)
acção RegraAcção[regra]
devolve acção
![Page 27: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/27.jpg)
Agentes de reflexos simples
• Só funciona correctamente se o ambiente for completamente observável– Agente aspirador entraria em ciclo
![Page 28: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/28.jpg)
Agentes de reflexos simplescom estado interno
• Motivação: necessidade de lidar com ambientes parcialmente observáveis
• Solução: manter um estado interno que depende do historial de percepções
• Necessidade de informação adicional– Evolução do mundo independentemente do
agente– Evolução do mundo em função das acções
do agente
![Page 29: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/29.jpg)
Agentes de reflexos com estado interno
![Page 30: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/30.jpg)
Função AgenteReflexosComEstado (percepção)devolve acção
Estático: estado (descrição do estado do mundo)regras (conjº de regras condição-acção)acção (a acção mais recente)
estado ActualizaEstado(estado,acção,percepção)regra EmparelhaRegra(estado,regras)acção RegraAcção[regra]devolve acção
Agentes de reflexos com estado interno
![Page 31: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/31.jpg)
Agente guiado por objectivos
• Para além de ter um conjunto de regras condição-acção, tem também um (ou mais) objectivo(s)
• Por exº, considere-se um agente taxista que cujo objectivo é chegar a um destino– Chegando a um cruzamento, o agente decide
avançar, virar à direita ou virar à esquerda em função do objectivo
• Acrescenta a um agente de reflexos simples considerações sobre o futuro, a fim de alcançar os objectivos
![Page 32: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/32.jpg)
Agentes guiados por objectivos
![Page 33: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/33.jpg)
Agente baseado em utilidade
• Para além de ter um conjunto de regras condição-acção, tem também uma função de utilidade
• Por exº, considere-se um agente taxista que pretende chegar a um destino– A função de utilidade permite distinguir as diferentes
formas de chegar ao destino, em função do tempo, da despesa, da segurança, …
![Page 34: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/34.jpg)
Agentes baseados em utilidade
• A função de utilidade permite estabelecer preferências entre sequências de estados que permitem atingir os mesmos objectivos– Deve ser especificado o que fazer no caso de
existirem objectivos que entram em conflito– Se nenhum dos objectivos puder ser alcançado com
segurança deve ser feita uma “pesagem” em função da importância dos objectivos
![Page 35: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/35.jpg)
Agentes baseados em utilidade
![Page 36: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/36.jpg)
Agentes com aprendizagem
• Motivação: o agente começa por actuar num ambiente desconhecido e vai ficando mais eficiente face à sua actuação anterior
• 4 componentes principais– Aprendizagem– Desempenho– Crítica– Gerador de problemas
![Page 37: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/37.jpg)
Agentes com aprendizagem
• Aprendizagem: usa feedback da crítica sobre actuação do agente e determina modificações ao desempenho para actuar melhor no futuro
• Desempenho: o que anteriormente considerávamos como o agente – recebe percepções e devolve acções
• Crítica: comunica ao elemento de aprendizagem como está a ser a actuação do agente face a uma medida de desempenho
• Gerador de problemas: sugere acções que podem levar a experiências novas e informativas
![Page 38: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/38.jpg)
Agentes com aprendizagem
![Page 39: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/39.jpg)
Exemplos de Agentes
• Enunciado– Caracterização do agente
• Exercício– Tipo de agente
• Reflexos simples
• Reflexos simples com estado interno
– Definir estrutura percepção
– Definir função agente
![Page 40: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/40.jpg)
Agente Venda Bilhetes Metro
• Considere um agente que faz a venda de bilhetes de metro. Por cada percepção, o agente recebe o custo do bilhete pretendido e a quantia introduzida. A acção devolvida poderáser QUANTIA_CERTA ou o valorcorrespondente ao troco ou à quantia introduzida (no caso desta ser insuficiente)
• Não é necessário ter em consideração a existência de troco (assumir que há sempre)
![Page 41: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/41.jpg)
Agente Venda Bilhetes Metro
• Percepção(defstruct percepcao
custo quantia)
• Acções– QUANTIA_CERTA– Valor troco– Valor quantia
• Agente de reflexos simples
![Page 42: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/42.jpg)
Agente Venda Bilhetes Metro
(defun agente (p)
(let ((custo (percepcao-custo p))
(quantia (percepcao-quantia p)))
(cond ((= custo quantia) ‘QUANTIA_CERTA)
((< custo quantia)(- quantia custo))
(t quantia))))
![Page 43: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/43.jpg)
Agente Venda Bilhetes Metro> (setf p1 (make-percepcao :custo 0.70 :quantia 1))#S(PERCEPCAO :CUSTO 0.7 :QUANTIA 1)> (setf p2 (make-percepcao :custo 0.70 :quantia
0.50))#S(PERCEPCAO :CUSTO 0.7 :QUANTIA 0.5)> (setf p3 (make-percepcao :custo 0.70 :quantia
0.70))#S(PERCEPCAO :CUSTO 0.7 :QUANTIA 0.7)
> (agente p1)0.3> (agente p2)0.5> (agente p3)QUANTIA_CERTA
![Page 44: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/44.jpg)
Agente Empacota Brinquedos
• Considere um agente associado a um sensor numa fábrica de brinquedos. O sensor detecta quando é que um brinquedo passou pela passadeira. O agente recebe informação do sensor e quando tiverem passado 10 brinquedos emite a acção de EMPACOTAR.
![Page 45: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/45.jpg)
Agente Empacota Brinquedos
• Percepção
(defstruct percepcao
(passa-brinquedo nil))
• Acções– EMPACOTAR
– NAO_FAZ_NADA
• Agente de reflexos simples com estado interno (nº de brinquedos empacotados)
![Page 46: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/46.jpg)
Agente Empacota Brinquedos
(defun cria-agente ()
(let ((n-bonecos 0))
#’(lambda (p)
(when (percepcao-passa-brinquedo p)
(incf n-bonecos))
(cond ((= n-bonecos 10)
(setf n-bonecos 0) ‘EMPACOTAR)
(t ‘NAO_FAZ_NADA)))))
![Page 47: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/47.jpg)
Agente Empacota Brinquedos> (setf p1 (make-percepcao))#S(PERCEPCAO :PASSA_BRINQUEDO NIL)> (setf p2 (make-percepcao :passa_brinquedo t))#S(PERCEPCAO :PASSA_BRINQUEDO T)
> (setf ag-emp (cria-agente))#(FUNCTION :LAMBDA (p) …)> (funcall ag-emp p1)NAO_FAZ_NADA> (funcall ag-emp p2)NAO_FAZ_NADA…> (funcall ag-emp p2)EMPACOTAR
![Page 48: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/48.jpg)
Agente Termóstato
• Considere um agente termóstato. Inicialmente o agente tem conhecimento da temperatura ambiente actual. Por cada percepção, o agente recebe o valor da temperatura ambiente pretendida. A acção devolvida poderá ser AQUECER ou ARREFECER em função da temperatura ambiente actual.
• Considere que a temperatura é actualizada “automaticamente”
• No caso de o valor da temperatura pretendida ser igual ao da temperatura ambiente qualquer acção é possível
![Page 49: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/49.jpg)
Agente Termóstato
• Percepção(defstruct percepcao
temperatura)
• Acções– AQUECER– ARREFECER
• Agente de reflexos simples com estado interno (temperatura ambiente actual)
![Page 50: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/50.jpg)
Agente Termóstato
(defun agente (temp)
#’(lambda (p)
(let ((nova-temp (percepcao-temperatura p)))
(cond ((< nova-temp temp)
(setf temp nova-temp) ‘ARREFECER)
(t (setf temp nova-temp) ‘AQUECER)))))
![Page 51: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/51.jpg)
Agente Parque de Estacionamento
• Considere um agente que faz a gestão de um parque de estacionamento. O sensor detecta quando entra um carro e quando sai um carro. A acção devolvida poderáser LEVANTAR_ENTRADA, LEVANTAR_SAIDA, LEVANTAR_ENTRADA_SAIDA (entra um carro e sai outro ao mesmo tempo), ESPERAR (não há lugar) ou NAO_FAZ_NADA.
![Page 52: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/52.jpg)
Agente Parque de Estacionamento
• Percepção
(defstruct percepcao
entra-carro sai-carro)
• Acções– LEVANTAR_ENTRADA
– LEVANTAR_SAIDA
– LEVANTAR_ENTRADA_SAIDA
– ESPERAR
– NAO_FAZ_NADA
• Agente de reflexos simples com estado interno (nº de lugares livres)
![Page 53: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/53.jpg)
Agente Parque de Estacionamento
(defun cria-agente (n)#’(lambda (p)(let ((entra (percepcao-entra-carro p))
(sai (percepcao-sai-carro p)))(cond ((and entra sai)
‘LEVANTAR_ENTRADA_SAIDA)(sai (incf n) ’LEVANTAR_SAIDA)(entra (if (zerop n) ‘ESPERAR
(progn (decf n)‘LEVANTAR_ENTRADA)))
(t NAO_FAZ_NADA)))))
![Page 54: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/54.jpg)
Agente Elevador
• Considere um agente que faz a gestão de um elevador. Inicialmente o agente tem conhecimento do piso em que se encontra. O sensor detecta o peso do elevador, se a porta está aberta e qual o piso de destino. A acção devolvida poderá ser ARRANCAR_R (peso <= 200Kg e distância >= 2 pisos), ARRANCAR_N (200Kg < peso <= 450Kg), ARRANCAR_L (450Kg < peso <= 650Kg) ou NAO_FAZ_NADA (porta aberta ou peso superior a 650Kg).
![Page 55: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/55.jpg)
Agente Elevador
• Percepção
(defstruct percepcao
peso aberta piso)
• Acções– ARRANCAR_R
– ARRANCAR_N
– ARRANCAR_L
– NAO_FAZ_NADA
• Agente de reflexos simples com estado interno (piso actual)
![Page 56: Capítulo 2 - fenix.tecnico.ulisboa.pt · Xadrez com relógio. Tipos de Ambientes • Episódico (vs. sequencial): A experiência do agente está dividida em episódios atómicos](https://reader031.fdocumentos.tips/reader031/viewer/2022020415/5be4543709d3f25b628cee7d/html5/thumbnails/56.jpg)
Agente Elevador
(defun cria-agente (piso)#’(lambda (p)(let ((peso (percepcao-peso p))
(aberta (percepcao-aberta p))(p-piso (percepcao-piso p)))
(if (or aberta (> peso 650)) ‘NAO_FAZ_NADA)(let ((dist (abs (- piso p-piso))))
(setf piso p-piso)(cond ((and (<= peso 200)(>= dist 2))
‘ARRANCAR_R((<= peso 450) ‘ARRANCAR_N)(t ‘ARRANCAR_L)))))))