Agentes
! Um agente tudo o que capaz de captar/ perceber o ambiente onde se encontra atravs de sensores e actua nesse ambiente atravs de actuadores ! Agente humano
! Sensores: olhos, orelhas e outros rgos ! Actuadores: mos, pernas, boca e outras partes do corpo
Agentes Inteligentes
! ! ! ! !
Agentes e ambientes Racionalidade PEAS: caracterizao de um agente Tipos de ambientes Tipos de agentes
Captulo 2
! Agente robtico
! Sensores: cmaras e infravermelhos ! Actuadores: partes motoras
Agentes e ambientes
Mundo do aspirador
Agente aspirador
! A funo agente mapeia uma sequncia de percepes em aces: [f: P* ! A] ! O programa agente executado numa plataforma para produzir f ! agente = plataforma + programa
[A, Limpo] [A, Sujo] [B, Limpo] [B, Sujo] [A, Limpo],[A, Limpo] [A, Limpo],[A, Sujo]
Agente aspirador
! Um agente deve procurar fazer o que est certo", baseado nas suas percepes e nas aces que pode tomar ! A aco certa aquela que d maior expectativa de sucesso ao agente ! Medida de desempenho: critrio 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, rudo gerado, etc.
Agentes racionais
Agentes racionais
! Agente Racional: Por cada sequncia de percepes possvel, um agente racional deve seleccionar uma aco que suposto maximizar a sua medida de desempenho, dada a informao disponibilizada pela sequncia de percepes e eventualmente pelo conhecimento que o agente possui.
Funo AgenteAspirador ([posio, estado]) devolve aco Se estado = Sujo ento devolve Aspirar Seno se posio = A ento devolve Direita Seno se posio = B ento devolve Esquerda
Agentes racionais
Agente autnomo
Caracterizao de um agente
! PEAS
! Performance (desempenho) ! Environment (ambiente) ! Actuators (actuadores) ! Sensors (sensores)
! Racionalidade ! omniscincia
! Racionalidade ! clarividncia
! Um agente autnomo se o seu conhecimento for determinado apenas pela sua experincia (com capacidade de aprender e adaptar-se)
! Agentes podem tomar aces para obter informaes teis (recolha de informao, explorao)
! Desempenho
! Ambiente
! Paciente, hospital, funcionrios ! Ambiente
! Ambiente
! Actuadores
! Actuadores ! Monitor: questes, testes, diagnsticos, tratamentos
! Conjunto de alunos
! Clientes, estradas, trnsito, transeuntes, tempo ! Volante, acelerador, travo, buzina, pisca
! Actuadores
! Sensores
! Teclado: sintomas, respostas ! Sensores
! Sensores
! Teclado
Sumrio
Tipos de Ambientes
Tipos de Ambientes
Xadrez com relgio Completamente Sim observvel? Determinstico? Estratgico Anlise de Imagem Sim Condutor de txi No
! ! ! ! !
Agentes e ambientes Racionalidade PEAS: caracterizao de um agente Tipos de ambientes Tipos de agentes
! Completamente observvel (vs. parcialmente observvel): Os sensores do agente do acesso ao estado completo do ambiente em cada instante de tempo, pelo que no necessrio manter um estado interno sobre o mundo. ! Determinstico (vs. estocstico): O estado seguinte do ambiente determinado somente em funo do estado actual e da aco executada pelo agente no h incerteza para o agente. (Se o ambiente sempre determinstico excepto para as aces de outros agentes, ento o ambiente estratgico)
Sim
No
Tipos de Ambientes
Xadrez com relgio Episdico? No Sim No Anlise de Imagem Condutor de txi
Tipos de Ambientes
Tipos de Ambientes
! Discreto (vs. contnuo): O agente tem um nmero limitado de percepes e aces distintas que esto claramente definidas. ! Agente nico (vs. multi-agente): S existe um agente no ambiente.
! Episdico (vs. sequencial): A experincia do agente est dividida em episdios atmicos (em que cada episdio consiste em percepo +aco do agente) e a escolha de cada aco em cada episdio depende apenas do prprio episdio. ! Esttico (vs. dinmico): o ambiente no alterado enquanto o agente decide que aco vai tomar. (O ambiente semi-dinmico se o ambiente permanece inalterado com a passagem do tempo mas a qualidade do desempenho do agente alterada)
Esttico? Semi Semi No
Tipos de Ambientes
Condutor de txi No
Tipos de Ambientes
! O tipo de ambiente determina o tipo de agente ! O mundo real :
Tipos de Agentes
Anlise de Imagem
Discreto?
Sim
No
Agente nico?
No
Sim
No
! Parcialmente observvel (vs. completamente observvel) ! Estocstico (vs. determinstico) ! Sequencial (vs. episdico) ! Dinmico (vs. esttico) ! Contnuo (vs. discreto) ! Multi-agente (vs. agente nico)
! Agentes de reflexos simples ! Agentes de reflexos baseados em modelos ! Agentes baseados em objectivos ! Agentes baseados em utilidade ! Agentes com aprendizagem
Esttico:
estado (descrio do estado do mundo) regras (conj de regras condio-aco) aco (a aco mais recente)
! Acrescenta a um agente de reflexos simples consideraes sobre o futuro, a fim de alcanar os objectivos
Sumrio
! Exemplos de agentes (exos de exames)
! Reflexos simples ! Reflexos simples baseados em modelos (tambm chamados com estado interno)
Exemplos de Agentes
! Enunciado
! Caracterizao do agente
! Exerccio
! Tipo de agente
! Reflexos simples ! Reflexos simples com estado interno
! Elemento de aprendizagem
! Torna o agente mais eficiente ao longo do tempo ! Usa feedback da crtica que avalia actuao do agente de acordo com o desempenho espectvel
! Elemento de desempenho
! Aces
! QUANTIA_CERTA ! Valor troco ! Valor quantia
! Considere um agente que faz a venda de bilhetes de metro. Por cada percepo, o agente recebe o custo do bilhete pretendido e a quantia introduzida. A aco devolvida poder ser QUANTIA_CERTA ou o valor correspondente ao troco ou quantia introduzida (no caso desta ser insuficiente).
! Agente de reflexos simples
(defun agente (p) (let ((custo (percepcao-custo p)) (quantia (percepcao-quantia p))) (cond ((= custo quantia) QUANTIA_CERTA) ((< custo quantia)(- quantia custo)) (t quantia))))
> (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)
! Aces
! EMPACOTAR ! NAO_FAZ_NADA
> (agente p1) 0.3 > (agente p2) 0.5 > (agente p3) QUANTIA_CERTA
! Considere um agente associado a um sensor numa fbrica de brinquedos. O sensor detecta quando que um brinquedo passou pela passadeira. O agente recebe informao do sensor e quando tiverem passado 10 brinquedos emite a aco de EMPACOTAR.
Agente Termstato
! Considere um agente termstato. Por cada percepo, o agente recebe o valor da temperatura ambiente pretendida. A aco devolvida poder ser AQUECER, ARREFECER ou MANTER em funo da temperatura ambiente actual.
(defun cria-agente () (let ((n-brinquedos 0)) #(lambda (p) (when (percepcao-passa-brinquedo p) (incf n-brinquedos)) (cond ((= n-brinquedos 10) (setf n-brinquedos 0) EMPACOTAR) (t NAO_FAZ_NADA)))))
Agente Termstato
Agente Termstato
! Percepo
! Aces
(defun cria-agente (temp) #(lambda (p) (let ((nova-temp (percepcao-temperatura p))) (cond ((= nova-temp temp) MANTER) ((< nova-temp temp) (setf temp nova-temp) ARREFECER) (t (setf temp nova-temp) AQUECER)))))
! Considere um agente que faz a gesto de um parque de estacionamento. O sensor detecta quando entra um carro e quando sai um carro. A aco devolvida poder ser LEVANTAR_ENTRADA, LEVANTAR_SAIDA, LEVANTAR_ENTRADA_SAIDA (entra um carro e sai outro ao mesmo tempo), ESPERAR (no h lugar) ou NAO_FAZ_NADA.
Agente Elevador
! Percepo
(defstruct percepcao
entra-carro sai-carro)
! Aces
(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)))))
! Considere um agente que faz a gesto de um elevador. O sensor detecta o peso do elevador, se a porta est aberta e qual o piso de destino. A aco devolvida poder ser ARRANCAR_R (peso < 200Kg e distncia >= 2 pisos), ARRANCAR_N (peso < 450Kg), ARRANCAR_L ou NAO_FAZ_NADA (porta aberta ou peso superior a 650Kg).
Agente Elevador
Agente Elevador
! Percepo
(defstruct percepcao
! Aces
(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)))))))