Agentes Inteligentes. Capítulo 2

Documentos relacionados
Agentes Inteligentes. Capítulo 2

Agentes Inteligentes. Capítulo 2

Agentes Inteligentes. Capítulo 2

Inteligência Artificial: 2. Agentes Inteligentes. Capítulo 2 Russell e Norvig

Agentes Inteligentes Curso de Análise e Desenvolvimento de Sistemas INTELIGÊNCIA ARTIFICIAL PROFESSOR FLÁVIO MURILO

Tópicos Especiais: Inteligência Artificial AGENTES INTELIGENTES

Agentes inteligentes. Capítulo 2 Inteligência Artificial Sistemas de Informação

Inteligência Artificial

Aula 02a Agentes Inteligentes

Inteligência Artificial. Inteligência Artificial Faculdade de Ciencias 4º ano 1

Agentes Inteligentes. CAPÍTULO 2 - Russell

Agentes Inteligentes. Módulo 02 27/02/2013. Inteligência Artificial. Profª Hemilis Joyse

Inteligência Artificial. Agentes computacionais. Aula IV Cap.2 Russell e Norvig (continuação)

Inteligência Artificial - IA. Agentes Inteligentes Cont.

Agentes Inteligentes. Inteligência Artificial

Inteligência Artificial Agentes Inteligentes

Inteligência Artificial Alameda e Taguspark

INTELIGÊNCIA ARTIFICIAL

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial. Agentes computacionais. Aula III Cap.2 Russell e Norvig

O que é um Agente. Agente é qualquer entidade que:

Fundamentos de Inteligência Artificial [5COP099]

Inteligência Artificial - IA. Agentes Inteligentes

INTELIGÊNCIA ARTIFICIAL

Inteligência Artificial

Sistemas Multi-agentes

Inteligência Artificial Taguspark

Inteligência Artificial (SI 214) Aula 2 Agentes Inteligentes

Curso: Inteligência Artificial. Inteligência Artificial. Curso: Inteligência Artificial. Curso: Inteligência Artificial. Introdução 8/16/2010

Agentes Inteligentes

Agentes Inteligentes

INTELIGÊNCIA ARTIFICIAL

Inteligência Artificial

TCC04040 Inteligência Artificial. Inteligência Artificial

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 4 Tipos de Agentes Inteligentes Racionais e Ambientes

INF 1771 Inteligência Artificial

Agentes Inteligentes. Capítulo 2 Russell & Norvig

Exercícios da cadeira de Inteligência Artificial. Helena Sofia Pinto João Cachopo Daniel Gonçalves Carlos Lopes António Inês Lynce Pedro Matos

Introdução à Inteligência Artificial Agentes Inteligentes. Leliane Nunes de Barros

INTELIGÊNCIA ARTIFICIAL

AG V AUTOMATIC GUIDED VEHICLE. Grupo 3 Bruno Ramos Nº Rui Ramos Nº Sérgio Calado Nº 46702

Ementa. Inteligência Artificial. Agentes. Agentes Inteligentes. Exemplos 8/18/2010. Mapeando percepções em ações. Aula 2 Profª Bianca Zadrozny

Inteligência Artificial. Agentes Inteligentes

Inteligência Artificial

INTELIGÊNCIA ARTIFICIAL

AGENTES INTELIGENTES. Isac Aguiar isacaguiar.com.br

Estratégias de Controlo

Aprendizado por Reforço

Common-Lisp (introdutório).

Inteligência Artificial

Nível 4 Nível Operacional. Tema 7 Controlo do Veículo

Inteligência Artificial Busca

3 Aprendizado por reforço

Robótica 2002/2003 Introdução à Robótica. Estrutura da Apresentação

Agentes que resolvem problemas através de busca Capítulo 3 Parte I

Lista 1 Sistemas Inteligentes (INE5633) 2014s2. Cap. 2 - Russel & Norvig - Exercícios selecionados (respostas em azul)

Terminologia: Tipos de Variáveis

Inteligência Artificial PCS3438. Escola Politécnica da USP Engenharia de Computação (PCS)

Inteligência Artificial

Agentes Lógicos. Capítulo 7 (online)

Fases no processamento da informação Esquemas. Social

Chegaram os Robôs: Desafios e Oportunidades

Sumário. Decisões óptimas em jogos (minimax) Cortes α-β Decisões imperfeitas em tempo real

INTELIGÊNCIA ARTIFICIAL

INF 1771 Inteligência Artificial

Transcrição:

Agentes Inteligentes Capítulo 2

Sumário Agentes e ambientes Racionalidade PEAS: caracterização de um agente Tipos de ambientes Tipos de agentes

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

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

Mundo do aspirador Percepções [localização, conteúdo] Localização: A, B Conteúdo: Limpo, Sujo Acções: Esquerda, Direita, Aspirar

Agente aspirador Sequência de Percepções [A, Limpo] [A, Sujo] [B, Limpo] [B, Sujo] [A, Limpo],[B, Limpo] [A, Limpo],[A, Sujo] Acção Direita Aspirar Esquerda Aspirar Esquerda Aspirar

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

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.

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.

Agentes racionais Racionalidade omnisciência Percepções podem não disponibilizar conhecimento que é importante Racionalidade clarividência Resultado de uma acção pode estar de acordo com o esperado Logo, racionalidade sucesso Racionalidade exploração, aprendizagem, autonomia

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)

Caracterização de um agente PEAS Performance (medida de desempenho) Environment (ambiente) Actuators (actuadores) Sensors (sensores)

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

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

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

Sumário Agentes e ambientes Racionalidade PEAS: caracterização de um agente Tipos de ambientes Tipos de agentes

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)

Tipos de Ambientes Xadrez com relógio Análise de Imagem Condutor de táxi Completamente observável Sim Sim Não Determinístico Estratégico Sim Não

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)

Tipos de Ambientes Xadrez com relógio Análise de Imagem Condutor de táxi Episódico Não Sim Não Estático Semi Semi Não

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.

Tipos de Ambientes Xadrez com relógio Análise de Imagem Condutor de táxi Discreto Sim Não Não Agente único Não Sim Não

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

Tipos de Agentes Agentes de reflexos simples Agentes de reflexos com estado interno Agentes guiados por objectivos Agentes baseados em utilidade Agentes com aprendizagem

Agentes de reflexos simples

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

Exemplo de agentes de reflexos Digam lá vocês... simples

Agentes de reflexos com estado interno

Comparação: agentes de reflexos simples vs. Agentes de reflexos com estado interno

Agentes de reflexos com estado interno 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

Exemplo de agentes de reflexos Vá, digam lá vocês... com estado interno

Agentes guiados por objectivos

Comparação: agentes de reflexos com estado interno vs. agentes guiados por objectivos

Agente guiado por objectivos Guiado por objectivo(s). Acrescenta a um agente de reflexos com estado interno considerações sobre o futuro (O que acontece se fizer isto? Será que isso me leva ao meu objectivo?), a fim de alcançar os objectivos

Exemplo de agente guiado por objectivos 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 Agora arranjem vocês outro exemplo

Agentes baseados em utilidade

Comparação: agentes guiados por objectivos vs. agentes guiados por utilidade

Agente baseado em utilidade Tem também uma função de utilidade A função de utilidade permite estabelecer preferências entre sequências de estados que permitem atingir os mesmos objectivos. Não apenas perceber se vai ficar contente por realizar uma acção, mas medir esse contentamento e ordenar as opções com base nessa métrica.

Exemplo de agente baseado em 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,

Agentes com aprendizagem

Agentes com aprendizagem O elemento performance corresponde ao agente, num todo, como considarado até ao momento; O elemento learning usa o feedback relativo à performance para determinar como esta pode evoluir para ser melhor no futuro. O gerador de problemas tem como objectivo experimentar situações novas

Exercícios com Agentes Enunciado Caracterização do agente Exercício Tipo de agente Reflexos simples Reflexos simples com estado interno Percepção Função

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 valor correspondente ao troco ou à quantia introduzida (no caso desta ser insuficiente).

Agente Venda Bilhetes Metro Percepção (defstruct percepcao custo quantia) Acções QUANTIA_CERTA Valor troco Valor quantia Agente de reflexos simples

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))))

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.5)) #S(PERCEPCAO :CUSTO 0.7 :QUANTIA 0.5) > (setf p3 (make-percepcao :custo 0.70 :quantia 0.7)) #S(PERCEPCAO :CUSTO 0.7 :QUANTIA 0.7) > (agente p1) 0.3 > (agente p2) 0.5 > (agente p3) QUANTIA_CERTA

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.

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)

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)))))

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

Agente Termóstato Considere um agente termóstato. 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.

Percepção Agente Termóstato (defstruct percepcao temperatura) Acções AQUECER ARREFECER Agente de reflexos simples com estado interno (temperatura ambiente actual)

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))))) Nota: temp é a temperatura ideal

Agente Termóstato > (setf p1 (make-percepcao :temperatura 24)) #S(PERCEPCAO :TEMPERATURA 24) > (setf termo-agente (agente 20)) #<Closure 1 subfunction of AGENTE> > (funcall termo-agente p1) AQUECER

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.

Agente Parque de Estacionamento Percepção (defstruct percepcao Acções entra-carro sai-carro) LEVANTAR_ENTRADA LEVANTAR_SAIDA LEVANTAR_ENTRADA_SAIDA ESPERAR NAO_FAZ_NADA Agente de reflexos simples com estado interno (nº de lugares livres)

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)))))

Agente Parque de Estacionamento > (setf p1 (make-percepcao :entra-carro t :sai-carro NIL)) #S(PERCEPCAO :ENTRA-CARRO T :SAI-CARRO NIL) > (setf p2 (make-percepcao :entra-carro NIL :sai-carro t)) #S(PERCEPCAO :ENTRA-CARRO NIL :SAI-CARRO T) > (setf a1 (cria-agente 2)) #<Closure 1 subfunction of CRIA-AGENTE> > (funcall a1 p1) LEVANTAR_ENTRADA > (funcall a1 p1) LEVANTAR_ENTRADA > (funcall a1 p1) ESPERAR

Agente Elevador Considere um agente que faz a gestão de um elevador. 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 (peso < 450Kg), ARRANCAR_L ou NAO_FAZ_NADA (porta aberta ou peso superior a 650Kg).

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)

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)))))))