Agentes inteligentes Capítulo 2 Inteligência Artificial Sistemas de Informação
Resumo Agentes e ambientes Racionalidade Desempenho, ambiente, atuadores e sensores Tipos de ambientes Tipos de agentes
Agentes e ambientes Agente: é algo que pode ser visto como percebendo o seu ambiente por meio de sensores e atuando sobre esse ambiente por meio de atuadores.
Agentes e ambientes A função agente f mapeia percepções em ações. f : P A
Agentes e ambientes Exemplos: Humanos Animais Robôs Termostatos Dispositivos controladores
Agentes e ambientes Aspirador de pó Percepções: lugar, sujeira. Ex.: [A, sujo] Ações: Esquerda, Direita, Sugar, NoOp.
Agentes e ambientes Aspirador de pó Sequência de percepções [A, Limpo] [A, Sujo] [B, Limpo] [A, Limpo], [A, Limpo] [A, Limpo], [A, Sujo] Ações Direita Sugar Esquerda Direita Sugar
Agentes e ambientes Function Reflex-Vacuum-Agent( [location, status]) returns action If status = 'Sujo' then return 'Sugar' Else if location = A then return 'Direita' Else if location = B then return 'Esquerda'
Racionalidade Um agente é racional quando ele faz a coisa certa, ou seja, cada resultado da função agente é correto e corresponde a coisa certa a ser feita.
Racionalidade Mas o que significa fazer a coisa certa? Analisar as consequências das ações do agente. Toda ação causa uma mudança de estado do ambiente. Há estados do ambiente que são desejáveis.
Racionalidade Mas o que significa fazer a coisa certa? Se uma sequência de ações causa uma sequência de mudanças de estado do ambiente até ser atingido um estado desejável, então essa é uma coisa certa a ser feita.
Racionalidade O que é um estado desejável? O conceito de desejável é descrito por meio de uma medida de desempenho. A medida de desempenho atribui um valor a cada sequência de estados de um ambiente.
Racionalidade Exemplo do Aspirador de pó. Atribuir um ponto para cada quadrado limpo no ambiente em um instante T. Atribuir um ponto por cada quadrado limpo e menos um ponto por movimento. Penalizar o número de quadrados sujos.
Racionalidade Racionalidade depende de: Medida de desempenho (critério de sucesso). O conhecimento anterior do agente. As ações que um agente pode realizar. A sequência de percepções do agente até o dado momento.
Racionalidade Um agente racional escolhe qualquer ação que maximiza o valor esperado de sua medida de desempenho, dada uma sequência de percepções e seu conhecimento interno.
Racionalidade Cuidado!!. Racional onisciente. Racional clarividente. Racional bem sucedido. Racional exploração, aprendizado e autonomia.
Desempenho, Ambiente, Atuadores e Sensores Ambiente tarefa é composto por: Desempenho Ambiente Atuadores do agente Sensores do agente
Desempenho, Ambiente, Atuadores e Sensores Ex.: Como projetar um táxi automático? Desempenho?? Ambiente?? Atuadores do agente?? Sensores do agente??
Desempenho, Ambiente, Atuadores e Sensores Ex.: Como projetar um táxi automático? Desempenho?? segurança, destino, lucro, conforto, legalidade... Ambiente?? ruas, tráfego, pedestres, tempo. Atuadores do agente?? acelerador, freio, buzina, vidros. Sensores do agente?? vídeo, acelerômetros, sensores de motor, GPS, sensor de proximidade.
Desempenho, Ambiente, Atuadores e Sensores Ex.: Como projetar um agente de compras na internet? Desempenho?? Ambiente?? Atuadores do agente?? Sensores do agente??
Desempenho, Ambiente, Atuadores e Sensores Ex.: Como projetar um agente de compras na internet? Desempenho?? preço, qualidade, eficiência Ambiente?? sites WWW, vendedores, transportadoras Atuadores do agente?? exibir dados a usuário, seguir URL, preenchimento de formulários Sensores do agente?? páginas HTML, texto de teclado.
Desempenho, Ambiente, Atuadores e Sensores Tipo de agente Sistema de diagnóstico médico Sistema de análise de imagens de satélite Robô de seleção de componentes Controlador de refinaria Tutor interativo de Inglês Medida de desempenho Ambiente Atuadores Sensores
Desempenho, Ambiente, Atuadores e Sensores Tipo de agente Medida de desempenho Ambiente Atuadores Sensores Sistema de diagnóstico médico Parecer saudável, minimizar custos Paciente, hospital, equipe Exibir perguntas, testes, diagnósticos Entrada pelo teclado, descobertas, respostas Sistema de análise de imagens de satélite Definição da categoria da imagem Link de transmissão Exibir a categoria Arrays de pixels em cores Robô de seleção de componentes % de peças em bandejas corretas Correia transportadora de peças Braço e mão articulados Câmera, sensores articulados Controlador de refinaria Maximizar pureza, rendimento, segurança Refinaria, operadores Válvulas, bombas, aquecedores,... Sensores de temperatura, pressão,... Tutor interativo de Maximizar nota de aluno Conjunto de alunos, testes Exibir exercícios, correções Entrada de teclado
Tipos de Ambientes Tipos de ambientes: Completamente observável vs parcialmente observável Único agente vs múltiplos agentes Determinístico vs estocástico Episódico vs sequencial Estático vs dinâmico Discreto vs contínuo Conhecido vs desconhecido
Tipos de Ambientes O tipo de ambiente contribui fortemente no projeto de um agente. O mundo real é parcialmente observável, estocástico, sequencial, dinâmico, contínuo e multi-agente.
Tipos de Ambientes Ambiente de tarefa Palavras cruzadas Xadrez com relógio Observável Agentes Determinístico Episódico Estático Discreto Completamente Único Determinístico Sequencial Estático Discreto Completamente Multi Determinístico Sequencial Semi Discreto Pôquer Parcialmente Multi Estocástico Sequencial Estático Discreto Direção de táxi Diagnóstico médico Análise de imagens Robô de seleção de peças Parcialmente Multi Estocástico Sequencial Dinâmico Contínuo Parcialmente Único Estocástico Sequencial Dinâmico Contínuo Completamente Único Determinístico Episódico Semi Contínuo Parcialmente Único Estocástico Episódico Dinâmico Contínuo
Programas de Agentes Agente = Arquitetura + Programa Programas = software Arquitetura = hardware
Programas de Agentes Programa de agente dirigido por tabela. Cada sequência de percepções recebida implica em escolher uma ação. Na maioria dos casos, montar a tabela é impossível!! É melhor buscar por algoritmos e heurísticas.
Tipos de Agentes Há quatro tipos básicos de agentes: Agentes reativos simples Agentes reativos baseados em modelos Agentes baseados em objetivos Agentes baseados em utilidade Eles podem ser convertidos em agentes de aprendizagem.
Agente reativo simples Agente Sensores Regras condição-ação Qual é a aparência atual do mundo? Que ação devo executar agora? Atuadores Ambiente
Agente reativo simples Function AGENTE-REATIVO-SIMPLES(percepção) retorna ação Variáveis estáticas: regras, conjunto de regras de condição-ação estado = INTERPRETAR-ESTADO(percepção) regra = REGRA-CORRESONDENTE(estado) ação = AÇÃO-DA-REGRA(regra) retorna ação
Agente reativo simples Function Reflex-Vacuum-Agent( [location, status]) returns action If status = 'dirty' then return 'Suck' Else if location = A then return 'Right' Else if location = B then return 'Left' (setq joe (make-agent :name 'joe :body (make-agent-body) :program (make-reflex-vacuum-agent-program)) (defun make-reflex-vacuum-agent-program () #'(lambda (percept) (let ((location (first percept)) (status (second percept))) (cond ((eq status 'dirty) 'Suck) ((eq location 'A) 'Right) ((eq location 'B) 'Left)))))
Agente reativo baseados em modelos Agente Estado Como o mundo evolui O que as minhas ações fazem Regras condição-ação Sensores Qual é a aparência atual do mundo? Que ação devo executar agora? Atuadores Ambiente
Agente reativo baseado em modelos Function AGENTE-REATIVO-BASEADO-EM- MODELOS(percepção) retorna ação persistente: estado a percepção do estado atual pelo agente, modelo descrição de como o próximo estado depende do atual regras conjunto de regras de condição-ação, ação a ação mais recente. estado = ATUALIZAR-ESTADO(estado, ação, percepção, modelo) regra = REGRA-CORRESPONDENTE(estado, regras) ação = AÇÃO-DA-REGRA(regra, ação) retorna ação
Agente reativo baseado em modelos Function Reflex-Vacuum-Agent( [location, status]) returns action Static: last_a, last_b, numbers, If status = 'Sujo' then return 'Sugar' Else if location = A then return 'Direita' Else if location = B then return 'Esquerda' (defun make-reflex-vacuum-with-state-agent-program () (let ((last-a infinity) (last-b infinity)) #'(lambda (percept) (let ((location (first percept)) (status (second percept))) (incf last-a) (incf last-b) (cond ((eq status 'dirty) (if (eq location 'A) (setq last-a 0) (setq last-b 0)) 'Suck) ((eq location 'A) (if (> last-b 3) 'Right 'NoOp)) ((eq location 'B) (if (> last-a 3) 'Left 'NoOp)))))))
Agentes baseados em objetivos Agente Estado Como o mundo evolui O que as minhas ações fazem Objetivos 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? Atuadores Ambiente
Agentes baseado em objetivos Function AGENTE-BASEADO-EM-OBJETIVOS(percepção) retorna ação persistente: estado a percepção do estado atual pelo agente, modelo descrição de como o próximo estado depende do atual objetivos conjunto de objetivos, ação a ação mais recente. estado = ATUALIZAR-ESTADO(estado, ação, percepção, modelo) ação = PLANEJAR-AÇÃO(estado, ação, objetivos) retorna ação
Agentes baseados em utilidade Agente Estado Como o mundo evolui O que as minhas ações fazem Utilidade Sensores Qual é a aparência atual do mundo? Qual será a aparência se for executada a ação A? O quanto serei feliz em tal estado? Ambiente Que ação devo executar agora? Atuadores
Agentes baseado em utilidade Function AGENTE-BASEADO-EM-UTILIDADE(percepção) retorna ação persistente: estado a percepção do estado atual pelo agente, modelo descrição de como o próximo estado depende do atual utilidade critério de utilidade, ação a ação mais recente. estado = ATUALIZAR-ESTADO(estado, ação, percepção, modelo) utilidade-esperada = AVALIAR-UTILIDADE(estado, ação, modelo) ação = PLANEJAR-AÇÃO(estado, ação, utilidade-esperada) retorna ação
Agentes com aprendizagem Padrão de desempenho Crítico Sensores Realimentação Mudanças Objetivos de aprendizado Elemento de Aprendizado Conhecimento Elemento de desempenho Ambiente Gerador de Problemas Agente Atuadores
Componentes do programa de agente Representação de estados: Atômica (indivisível e sem estrutura interna) Fatorado (conjunto fixo de atributos) Estruturado (relacionamentos entre conceitos)
Conclusão Agentes inteligentes LEIAM TODO O CAP. 2 DO RUSSELL & NORVIG!!