agentes inteligentes
DESCRIPTION
Exercícios sobre agentes inteligentes em IA.TRANSCRIPT
Roteiro
• Conceito de Agente
• Exemplo: mundo do aspirador de pó
• Características dos Agentes
• Propriedades dos Ambientes
• Tipos de Agentes
• Exercícios
• Bibliografia
Conceito de Agente
• Um agente é qualquer coisa que pode perceber seu ambiente através de sensores e agir nesse ambiente por meio de atuadores.
Atuadores
Sensores
? Ambiente
Percepções
Ações
Agente
Conceito de Agente
• Exemplos de Agentes: – Agente Humano: tem olhos, orelhas e outros órgãos
como sensores, e mãos, pernas, boca e outras partes do corpo como atuadores.
– Agente Robô: tem câmeras e localizadores infravermelho como sensores e vários motores como atuadores.
– Agente de Software: recebe entradas do teclado, conteúdo de arquivos e pacotes de rede como sensores de entrada e age no ambiente mostrando resultados na tela, gravando em arquivos e enviando pacotes pela rede.
Conceito de Agente
• Agentes são diferentes de algoritmos convencionais, pois operam sob controle autônomo, percebem seu ambiente, adaptam-se a mudanças e são capazes de assumir metas.
• O comportamento de um agente é dado abstratamente pela função do agente: – f = P → A – Onde:
• P é uma sequência de percepções • A é uma ação.
• Sequência de percepções: é o histórico completo de tudo que o agente percebeu.
Exemplo: mundo do aspirador de pó
• Ambiente: apenas dois locais, quadrado A e quadrado B.
• Percepção: há sujeira ou não.
• Ações: mover para direita ou esquerda, aspirar a sujeira ou não fazer nada.
Exemplo: mundo do aspirador de pó
• Função agente: se o quadrado atual está sujo, aspire a sujeira, senão, vá para o outro quadrado.
Sequência de Percepções Ação
[A, Limpo] Direita
[A, Sujo] Aspirar
[B, Limpo] Esquerda
[B, Sujo] Aspirar
[A, Limpo], [A, Limpo] Direita
[A, Limpo], [A, Sujo] Aspirar
... …
[A, Limpo], [A, Limpo], [A, Limpo] Direita
[A, Limpo], [A, Limpo], [A, Sujo] Aspirar
... …
Características dos Agentes
• Medida de performance: incorpora o critério de sucesso do comportamento de um agente.
– Exemplos: quantidade de sujeira aspirada, gasto de energia, gasto de tempo, quantidade de barulho gerado.
• A medida de performance deve refletir o resultado realmente desejado em um período de tempo determinado.
Características dos Agentes
• Racionalidade: bom comportamento. • Racionalidade X Onisciência (impossível na
prática). • O que é racional em um dado intervalo depende
de 4 coisas: – A medida de performance que define os critérios de
sucesso; – O conhecimento prévio do agente sobre o ambiente; – As ações que o agente pode realizar; – A sequência de percepções do agente até o momento
atual.
Características dos Agentes
• Os agentes podem executar ações para coleta de informações. – Um tipo importante de coleta de informação é a
exploração de um ambiente desconhecido.
• Os agentes também podem aprender, ou seja, modificar seu comportamento dependendo do que ele percebe ao longo do tempo. – Nesse caso o agente é chamado de autônomo.
– Um agente que aprende pode ter sucesso em uma ampla variedade de ambientes.
Características dos Agentes
• O processo de modelagem de um agente envolve a definição de:
– Medida de Performance
– Ambiente (environment)
– Atuadores (actuators)
– Sensores (sensors)
• PEAS (Performance, Environment, Actuators, Sensors)
Características dos Agentes
Tipo de Agente
Medidas de Performance
Ambiente Atuadores Sensores
Sistema de diagnóstico médico
Saúde do paciente, minimizar custos, causas
Paciente, hospital, equipe médica
Mostrar questões, testes, diagnósticos, tratamentos, orientação
Entrada dos sintomas por teclado, respostas do paciente, pesquisa
Sistema de análise de imagem de satélite
Categorização correta da imagem
Downlink a partir do satélite em órbita
Mostrar categorização da cena
Arrays de pixels de cores
Robô coletor de partes
Percentual de partes na caixa correta
Esteira rolante com partes caixas
Braço articulado e mão
Câmera, sensores de ângulo articulado
Controlador de refinaria
Maximizar pureza, produção, segurança
Refinaria, operadores
Válvulas, bombas de água, aquecedores, telas
Temperatura, pressão, sensores químicos
Tutor de inglês interativo
Maximizar a pontuação de estudantes em testes
Conjunto de estudantes, agência de testes
Mostrar exercícios, sugestões, correções
Entrada pelo teclado
Propriedades dos Ambientes
• Totalmente observável x parcialmente observável (acessível x inacessível): – se o sensor do agente tem acesso completo ao estado do
ambiente o tempo todo, conseguindo observar todos os aspectos relevantes para escolher uma ação a executar, assim, o ambiente é completamente observável, sendo que relevância depende das medidas de performance.
– Um ambiente pode ser parcialmente observável devido a ruído ou sensores não acurados ou parte do estado do ambiente que estejam faltando - por exemplo, o agente aspirador de pó com apenas um sensor de sujeira local não pode dizer se há sujeira em outros quadrados, e um táxi automatizado não pode saber o que outros motoristas estão pensando.
Propriedades dos Ambientes
• Determinístico x estocástico (determinístico x não determinístico): – Se o próximo estado do ambiente é completamente determinado pelo
estado atual e ações executadas pelo agente, então podemos dizer que o ambiente é determinístico, ou seja, previsível; senão, é estocástico.
– Em princípio, um agente não precisa se preocupar sobre incertezas em um ambiente determinístico e completamente observável. Se o ambiente é parcialmente observável, todavia, ele pode parecer ser estocástico.
– Motorista de táxi é claramente estocástico, porque ele não pode predizer o comportamento do tráfego, além do mais, um pneu pode estourar. O mundo do aspirador de pó, como descrevemos, é determinístico, mas variações podem incluir elementos estocásticos como aparecimento randômico de sujeira e um mecanismo de sucção não confiável. Se o ambiente é determinístico, exceto pelas ações de outros agentes, dizemos que o ambiente é estratégico.
Propriedades dos Ambientes
• Episódico x sequencial (episódico x não episódico): – Em um ambiente episódico, a experiência do agente é dividida em
episódios atômicos. Cada episódio consiste da percepção do agente e realização de uma única ação. Crucialmente, o próximo episódio não depende de ações realizadas em episódios anteriores.
– Em um ambiente episódico, a escolha de uma ação depende somente do próprio episódio. Um agente para apontar peças defeituosas em uma linha de montagem baseia cada decisão somente na peça atual, sem se preocupar com decisões anteriores, e a decisão atual não afeta decisões futuras.
– Em ambientes sequenciais, a decisão atual pode afetar todas as decisões futuras. Xadrez e um motorista de táxi são sequenciais: em ambos os casos, ações de curto prazo podem ter consequências de longo prazo.
– Ambientes episódicos são mais simples porque o agente não tem que pensar a frente, ou seja, não tem que pensar nas consequências futuras de suas ações, apenas nas consequências da ação atual.
Propriedades dos Ambientes
• Estático x dinâmico: – Se o ambiente pode mudar enquanto o agente está deliberando,
podemos dizer que ele é dinâmico, senão, é estático. – Ambientes estáticos são mais fáceis de lidar pois o agente não precisa
ficar observando o mundo enquanto está decidindo uma ação a executar, nem precisa se preocupar com a passagem do tempo.
– Ambientes dinâmicos, por outro lado, estão continuamente perguntando ao agente o que ele quer fazer; se ele não decidiu ainda, isto conta como se tivesse decidido por fazer nada. Se o ambiente não muda com a passagem do tempo mas a performance do agente sim, então dizemos que ele é semi-dinâmico.
– Dirigir um táxi é claramente dinâmico. Xadrez, quando jogado com um relógio, é semi-dinâmico. Jogos de palavras cruzadas são estáticos.
Propriedades dos Ambientes
• Discreto x continuo:
– Um ambiente discreto, como o jogo de xadrez, tem um conjunto finito de estados, além de um discreto(finito) conjunto de percepções e ações.
– Dirigir um táxi é um problema de estados, ações e tempo contínuos.
Propriedades dos Ambientes
• Agente único x multi agente:
– Um jogo de palavras cruzadas é claramente de apenas um agente, já o xadrez é um ambiente de 2 agentes. Xadrez é um ambiente multi agente competitivo.
– No ambiente do táxi, evitar colisões maximiza a performance de todos os agentes, logo ele é um ambiente multi agente parcialmente cooperativo, além de parcialmente competitivo, por exemplo, competindo por vagas de estacionamento e passageiros.
Tipos de Agentes
• Agentes reflexivos simples:
– São o tipo mais simples de agente, que selecionam ações com base na percepção atual, ignorando o resto do histórico de percepções.
– Por exemplo, o agente aspirador de pó, pois suas decisões são baseadas somente na localização atual e se lá há sujeira ou não.
Tipos de Agentes
• Agentes reflexivos simples: exemplo aspirador de pó.
Função AGENTE-ASPIRADOR ([posição, estado])
retorna ação
Inicio
se estado = sujo então
retorna aspirar
senão se posição = A então
retorna direita
senão se posição = B então
retorna esquerda
Fim
Tipos de Agentes
• De forma genérica, um agente reflexivo simples pode ser definido pelo seguinte algoritmo:
function SIMPLE-REFLEX-AGENT(percept) returns action
static:rules, a set of condition action rules
state ← INTERPRET-INPUT(percept)
rule ← RULE-MATCH(state, rules)
action ← RULE-ACTION(rule)
return action
Tipos de Agentes
• O funcionamento do agente reflexivo simples é baseado em regras de condição-ação: – if condição then ação.
• São simples, porém limitados: – Funcionará somente se a decisão correta puder ser
tomada com base apenas na percepção atual.
– A tabela de regras condição-ação pode se tornar muito grande em problemas complexos.
– O ambiente deve ser completamente observável.
Tipos de Agentes
• Agentes reflexivos baseados em modelo: – Um agente reflexico baseado em modelo pode lidar
com ambientes parcialmente observáveis. O agente deve controlar as partes do mundo que ele não pode ver.
– O agente deve manter um estado interno que dependa do histórico de percepções e reflita os aspectos não observados no estado atual.
– Agente baseado em modelo é um agente que usa um modelo de mundo. • Como o ambiente evoluí independente do agente? • Como as ações do próprio agente afetam o mundo?
Tipos de Agentes
• De uma forma mais genérica, podemos definir o comportamento de um agente reflexivo baseado em modelo da seguinte forma:
function REFLEX-AGENT-WITH-STATE(percept) returns an action
static: state, a description of the current world state
action, the most recent action, initially none
rules, a set of condition-action rules
state ← UPDATE_INPUT(state, action, percept)
rule ← RULE_MATCH(state, rules)
action ← RULE_ACTION(rule)
return action
Tipos de Agentes
• Conhecer um modelo do mundo nem sempre é suficiente para tomar uma boa decisão.
• Exemplo: – Um agente Motorista de Táxi chega a um cruzamento com
três caminhos, qual direção tomar?
– Simplesmente reagir? mas existem três reações possíveis.
– Examinar o modelo de mundo? não ajuda a decidir qual o caminho.
– A decisão depende de onde o táxi está tentando chegar (objetivo).
Tipos de Agentes
• Agentes baseados em objetivos: – Expandem as capacidades dos agentes baseados
em modelos através de um “objetivo”.
– O objetivos descreve situações desejáveis. • Exemplo: estar no destino
– A seleção da ação baseada em objetivo pode ser: • Direta: quando o resultado de uma única ação atinge o
objetivo.
• Mais complexa: quando será necessário longas sequências de ações para atingir o objetivo.
Tipos de Agentes
• Para encontrar sequências de ações que alcançam os objetivos são utilizados algoritmos de Busca e Planejamento.
• A tomada de decisão envolve a consideração do futuro, o que não acontece com o uso de regras de condição-ação. – “O que acontecerá se eu fizer isso ou aquilo?” – “O quanto isso me ajudará a atingir o objetivo?”
• O agente que funciona orientado a objetivos é mais flexível do que um agente reflexivo. – Entretanto, o objetivo não garante o melhor comportamento
para o agente, apenas a distinção entre estados objetivos e não objetivos.
Tipos de Agentes
• Agentes baseados na utilidade: – buscam definir um grau de satisfação com os
estados. O quanto “bom” é para o agente um determinado estado.
– Se um estado do mundo é mais desejável que outro, então ele terá maior utilidade para o agente.
– Utilidade é uma função que mapeia um estado para um número real que representa o grau de satisfação com este estado.
Tipos de Agentes
• Agentes com aprendizado:
– podem atuar em ambientes totalmente desconhecidos e se tornar mais eficientes do que o seu conhecimento inicial poderia permitir.
– Em agentes sem aprendizagem, tudo o que o agente sabe foi colocado nele pelo projetista.
33
Exercícios
• 1. Defina uma medida de desempenho, o ambiente, os atuadores e os sensores para os seguintes casos: – Robô jogador de futebol.
– Agente para uma livraria online.
– Assistente matemático para prova de teoremas.
• 2. Ambas as funções de medida de desempenho e utilidade em agentes baseados na utilidade servem para mensurar o quão bem o agente está atuando. Qual a diferença entre essas duas funções?