Agentes Inteligentes Prof. Frederico Brito Fernandes [email protected] (1) Definição • Agentes Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 2/38 (1) Definição: algumas definições • IBM: Intelligent agents are software entities that carry out some set of operations on behalf of an user, and in doing so employ some knowledge representation of the user’s goals or desires • KidSim: Agent is a persistent software entity (agents have their own ideas about how to accomplish tasks) dedicated to a specific purpose (smaller than multifunctions applications) • SodaBot: Software agents are programs that engage in dialogs to negotiate and coordinate transfer of information Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 3/38 (1) Definição: o que é um agente? • Agente é qualquer entidade que: – percebe seu ambiente através de sensores (ex. câmeras, microfone, teclado, finger, ...) – age sobre ele através de efetuadores (ex. vídeo, autofalante, impressora, braços, ftp, ...) • Mapeamento: seqüência perceptiva => ação Sensores Raciocinador ? Atuadores Disciplina: Inteligência Artificial Percepções Ambiente Agente Ações Professor: Frederico Brito Fernandes 4/38 (1) Definição: agente humano Sensores Percepções Ambiente Ações Atuadores Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 5/38 (1) Definição: agente policial Agente raciocínio }-{ Conhecimento: - leis - comportamento dos indivíduos,... percepção Ações: Objetivo: - fazer com que as leis sejam respeitadas - multar - apitar - parar, ... execução Ambiente Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 6/38 (1) Definição: terminologia • Percepção: entradas perceptivas do agente em qualquer momento • Seqüência de percepções: história completa de tudo o que o agente já percebeu • A escolha de uma ação de um agente em qualquer instante pode depender da seqüência inteira de percepção até o momento • Uma função agente é o mapeamento de toda seqüência possível de percepções para uma ação – Tabela muito grande. Na verdade infinita. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 7/38 (1) Definição: mundo do aspirador de pó • Percepção: local e conteúdo, por exemplo, [A, sujo] • Ações: Direita, Esquerda, Sugar, NoOp Tabela Parcial de uma função agente Seqüência de Percepções [A, limpo] [A, sujo] [B, limpo] [B, sujo] [A, limpo] [A, limpo] [A, limpo] [A, sujo] ... [A, limpo] [A, limpo] [A, limpo] [A, limpo] [A, limpo] [A, sujo] ... Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes Ação Direita Aspirar Esquerda Aspirar Direita Aspirar Direita Aspirar 8/38 (1) Definição: propriedades de agentes • Autonomia (IA) – raciocínio, comportamento guiado por objetivos – reatividade • Adaptabilidade & aprendizagem (IA) • Comunicação & Cooperação (IA) • Personalidade (IA) • Continuidade temporal • Mobilidade Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 9/38 (1) Definição: aprendizagem • O agente pode ter algum conhecimento anterior • Ele também pode ganhar experiência e modificar e ampliar este conhecimento • Se o ambiente é previamente conhecido: – O agente não precisa aprender ou perceber – Somente agir de forma correta – Mas este tipo de agente se torna muito frágil – Ex: aspirador de pó começando a limpar no final de um corredor de vento Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 10/38 (1) Definição: autonomia • Autonomia sem racionalidade = burrice – Ex. do agente que atravessa a rua sem olhar – não racional • A ação correta seria olhar porque maximiza o desempenho • Coleta de informações: – A realização de ações com a finalidade de modificar percepções futuras é uma parte importante da racionalidade – Ex: relógio que acerta as horas automaticamente quando o dono viaja para diferentes fusos horários Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 11/38 (1) Definição: autonomia funcional • Não possui aprendizagem • O agente sempre tem conhecimento “embutido” especificado pelo projetista, que lhe é inato e permite iniciar seu funcionamento. Assim como os animais... • Se, além deste conhecimento, o agente consegue aprender por experiência e alterar seu comportamento, ele pode ter autonomia funcional, ou seja, fugir do funcionamento que lhe foi imposto pela “natureza” • Agentes não autônomos só funcionam se as premissas do seu projeto não mudarem – Exemplo.: programa tradicional, qualquer alteração nas condições do contexto implica numa alteração do conhecimento colocado no projeto do sistema. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 12/38 (1) Definição: autonomia adaptativa • Adapta-se por meio de aprendizagem – Exemplo: agente de reconhecimento de fala, tem um conjunto pré-definido de padrões, mas pode aprender o sotaque de um novo usuário. • Um agente inteligente verdadeiramente autônomo deveria ser capaz de operar com sucesso em um grande variedade de ambientes, dado um tempo suficiente para se adaptar. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 13/38 (2) Agente Racional: (McCarthy & Hayes 69, Newell 81) • Agente Racional: fazer a melhor coisa possível – segue o princípio da racionalidade: dada uma seqüência perceptiva, o agente escolhe, segundo seus conhecimentos, as ações que satisfazem melhor seu objetivo. • Racionalidade x Onisciência são diferentes! – Onisciência poder saber os resultados de suas ações antecipadamente e com precisão – Impossível de se atingir onisciência na realidade – Racionalidade diferente de perfeição Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 14/38 (2) Agente Racional: porém... • Racionalidade Onisciência, limitações de: – – – – sensores efetuadores raciocinador (conhecimento, tempo, etc.) Agir para obter mais dados perceptivos é racional • Exemplo: – Ao atravessar uma rua deve-se observar se não vem carro nas duas direções, então posso atravessar. Mas... • Não podemos condenar um agente que falha por não levar em conta algo que ele não pode perceber ou por uma ação que ele não é capaz de tomar Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 15/38 (2) Agente Racional: Fatores • 4 fatores do que é racional: – A medida de desempenho • Critério que define o grau de sucesso de um agente na realização de uma dada tarefa – Exs. MD1: quantidade de lixo retiradas X horas de trabalho MD2: quantidade de lixo retiradas X horas de trabalho descontadas a energia gasta e o nível de ruído produzido – Esta medida deve ser imposta do exterior – Má escolha da MD pode acarretar comportamento indesejado – Compromissos entre objetivos múltiplos conflitantes – Resta o problema de saber quando avaliar o desempenho – O conhecimento anterior do ambiente – As ações que o agente pode executar – A seqüência de percepções até o momento Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 16/38 (2) Agente Racional: Exemplo • Uma agente racional para o mundo do aspirador de pó: – MD: 1 pt para cada quadrado limpo em uma unidade de tempo – Conhece a “geografia” do ambiente, mas não sabe onde tem sujeira e nem a posição inicial. • Quadrados limpos permanecem limpos e aspirar limpa o quadrado atual • As ações Esquerda e Direita movem o agente nesta direções; exceto quando isto leva o agente para fora do ambiente (fica parado) – Ações disponíveis: Esquerda, Direita, Apirar, NoOP (não faz nada) – O agente percebe: a sua posição e se nessa posição existe sujeira Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 17/38 (3) Modelagem usando agentes: Passos • 1º Passo: – Especificar o ambiente de tarefa de forma tão completa quanto possível – Ambientes de tarefas: • • • • Medida de desempenho Ambiente Atuadores Sensores • 2º Passo: – Especificar a arquitetura e o método de resolução do problema • • • • • • Agente tabela Agente reativo Agente reativo com estado interno (autômato) Agente cognitivo (baseado em objetivos) Agente otimizador (baseado em utilidade) Agente adaptativo Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 18/38 (3) Modelagem usando agentes: Táxi • Agente Motorista de Táxi – Desempenho – – – – – – – chegar no lugar certo minimizar o consumo de combustível e desgaste minimizar o tempo de percurso, custo da viagem minimizar as infrações de leis de trânsito minimizar os distúrbios aos outros motoristas maximizar a segurança e conforto do passageiro Obs.: alguns destes objetivos são conflitantes... – Ambiente – estradas locais ou freeways, tipo de tráfego, neve, Inglaterra, Brasil, ... – o ambiente irá determinar a dificuldade da implementação – Atuadores – Frear, acelerar, virar, falar com o passageiro, se comunicar com outros motoristas – Sensores – – – – Disciplina: Inteligência Artificial Sensores de velocidade, aceleração, estado (mecânico) do veículo GPS (Golbal Positioning System) para saber onde esta num mapa Sensores infra-vermelhos para detectar a distância dos outros carros Microfone ou teclado para o passageiro informar o destino Professor: Frederico Brito Fernandes 19/38 (3) Modelagem usando agentes: Exemplos • Outros exemplos: Agente Dados perceptivos Ações Objetivos Ambiente Diagnóstico médico Sintomas, paciente, exames respostas, ... Perguntar, prescrever exames, testar Saúde do paciente, minimizar custos Paciente, gabinete, ... Análise de imagens de satélite Pixels imprimir uma categorização categorizar corretamente Imagens de satélite Tutorial de português Palavras digitadas Imprimir exercícios, sugestões, correções, ... Melhorar o desempenho do estudante Conjunto de estudantes Filtrador de mails mensagens Aceitar ou rejeitar mensagens Aliviar a carga de leitura do usuário Mensagens, usuários Motorista de taxi Imagens, velocímetro, sons brecar, acelerar, dobrar, falar com passageiro, ... Músico de jazz Sons seus e de outros músicos, grades de acordes Escolher e tocar notas no andamento Disciplina: Inteligência Artificial Segurança, Ruas, pedestres, rapidez, economia, carros, ... conforto,... Tocar bem, se divertir, agradar Professor: Frederico Brito Fernandes Musicos, publico, grades de acordes 20/38 (3.a) Ambientes • Classes de ambientes – Físico: robôs – Software: softbots – Realidade virtual (simulação do ambiente físico): softbots e avatares • Propriedades de um ambiente – – – – – – acessível x inacessível estático x dinâmico determinista x não-determinista discreto x contínuo episódico x não-episódico tamanho: número de percepções, ações, objetivos,... Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 21/38 (3.a) Ambientes: Propriedades • Acessível x Parcialmente Acessível: – quando os sensores do agente conseguem perceber o estado completo do ambiente. • Determinístico x Estocástico: – o próximo estado do ambiente pode ser completamente determinado pelo estado atual e as ações selecionadas pelo agente. • Episódico x Seqüencial: – a experiência do agente é dividida em episódios. Cada episódio consiste em o agente perceber e então agir. Cada episódio não depende das ações que ocorreram em episódios prévios. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 22/38 (3.a) Ambientes: Propriedades • Estático x Dinâmico: – o ambiente não muda enquanto o agente está escolhendo a ação a realizar. – Semi-estático: o ambiente não muda enquanto o agente delibera, mas o "score" do agente muda. • Discreto x Contínuo: – quando existe um número distinto e claramente definido de percepções e ações em cada turno. • Agente Único X Múltiplos Agentes – – – – Palavras cruzadas – agente único Xadrez – agentes múltiplos -> ambiente competitivo Dirigir táxi – agentes múltiplos ->ambiente cooperativo Comunicação é necessário em multi-agentes Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 23/38 (3.a) Ambientes: Exemplos • Complete o quadro abaixo Palavras Cruzadas Acessível SIM Determinístico SIM Episódico NÃO Estático SIM Discreto SIM Agente único SIM Disciplina: Inteligência Artificial Xadrez com tempo Diagnótico médico Professor: Frederico Brito Fernandes Direção de Táxi 24/38 (3.a) Ambientes: Exemplos Palavras Cruzadas Xadrez com tempo Diagnótico médico Direção de Táxi Acessível SIM SIM NÃO NÃO Determinístico SIM SIM NÃO NÃO Episódico NÃO NÃO NÃO NÃO Estático SIM SEMI NÃO NÃO Discreto SIM SIM NÃO NÃO Agente único SIM NÃO SIM NÃO Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 25/38 (3.b) Arquiteturas • função agenteSimples (percept) retorna ação memória := atualizaMemória (memória, percept) ação := escolheMelhorAção(memória) memória := atualizaMemória (memória, ação) retorna ação • Arquiteturas – – – – – – Agente tabela Agente reativo Agente reativo com estado interno (autômato) Agente cognitivo (baseado em objetivos) Agente otimizador autonomia complexidade Agente adaptativo Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 26/38 (3.b) Arquiteturas: agente tabela • Dada uma percepção, procurar na tabela a ação correspondente sensores ambiente Tabela percepções . . Agente ações . . efetuadores • Limitações – Mesmo Problemas simples -> tabelas muito grandes • ex. xadrez 30100 – Nem sempre é possível, por ignorância ou questão de tempo, construir a tabela – Não há autonomia nem flexibilidade • Ambientes – acessível, determinista, episódico, estático, discreto e minúsculo! Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 27/38 (3.b) Arquiteturas: agente tabela • Ex: Agente aspirador de pó Tabela Percepção Ação [A,limpo] Direita [A,sujo] Aspirar [B,limpo] Esquerda [B,sujo] Aspirar Função AGENTE-ASPIRADOR-TABELA ([posição, estado]): ação { ação = procura(Tabela, [posição,estado] retorna ação Problema: } Construir a tabela é muito trabalhoso! Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 28/38 (3.b) Arquiteturas: agente reativo • A decisão do agente só depende da percepção atual • Agente motorista de táxi: – Usa regras de condição ação ambiente • se carro_da_frente_estiver_freando então inicie_a_freagem sensores Como está o mundo agora? Que ação devo escolher agora? Regras “condição-ação” efetuadores Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 29/38 (3.b) Arquiteturas: agente reativo • Vantagens e desvantagens – Regras condição-ação: representação inteligível, modular e eficiente • ex. Se velocidade > 60 então multar – Não pode armazenar uma seqüência perceptiva, pouca autonomia • Ambientes: – Reflexo imprescindível em ambientes dinâmicos – Acessível, episódico, pequeno • Ex: Agente aspirador de pó: Função AGENTE-ASPIRADOR-REATIVO ([posição, estado]): ação { se estado = sujo então retorna aspirar se posição = A então retorna direita senão se posição = B então retorna esquerda } Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes Problema: Mesmo estando a sala limpa, quando o aspirador irá parar? 30/38 (3.b) Arquiteturas: agente reativo (com estado interno) • O estado atual é dado em função do estado anterior (histórico) e do que foi percebido no ambiente. • O agente tem um estado interno com as informações coletadas do ambiente. Agente sensores ambiente estado: como o mundo era antes Como está o mundo agora? como o mundo evolui impacto de minhas ações Que devo fazer agora? Regras “condição-ação” efetuadores Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 31/38 (3.b) Arquiteturas: agente reativo (com estado interno) • Desvantagem: pouca autonomia – não tem objetivo, não encadeia regras • Ambientes: determinista e pequeno. Ex. Tamagotchi • Agente aspirador de pó: Função AGENTE-ASPIRADOR-REATIVO ([posição, estado]): ação { EstadoAnterior = [posição_anterior,estado_anterior] se estado = sujo então retorna aspirar Problemas: se (posição = A e posição_anterior B) (1) E para uma sala com mais de duas posições? então retorna direita se (posição = B e posição_anterior A) (2) Táxi chega a um cruzamento com três caminhos, e agora? então retorna esquerda -> simplesmente reagir não dá, existem três reações possíveis e retorna noop saber do passado do ambiente também não ajuda a decidir qual o caminho } Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 32/38 (3.b) Arquiteturas: agente cognitivo (baseado em objetivo) • O agente precisa de algum tipo de informação sobre o seu objetivo – Objetivos descrevem situações desejáveis. Ex: estar no destino • Combinando informações sobre: – O objetivo do agente – Os resultados de suas ações • O agente pode escolher ações que alcancem o objetivo • 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 seqüências de ações para atingir o objetivo Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 33/38 (3.b) Arquiteturas: agente cognitivo (baseado em objetivo) • Para encontrar seqüências de ações que alcançam os objetivos – algoritmos de Busca e Planejamento • A tomada de decisão envolve a consideração do futuro – “o que acontecerá se eu fizer isso ou aquilo?” – “o quanto isso melhorará o meu desempenho?” • Exemplos: – Objetivo: não bater no carro da frente • se o carro da frente pára, pela forma de funcionamento do mundo, a única ação que atinge o objetivo de não bater é também parar. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 34/38 (3.b) Arquiteturas: agente cognitivo (baseado em objetivo) Agente ambiente sensores estado: como o mundo era antes Como está o mundo agora? como o mundo evolui Como ele ficará se faço isto? impacto de minhas ações Que devo fazer agora? Objetivos efetuadores • Vantagens e desvantagens: – Mais complicado e ineficiente, porém mais flexível, autônomo – Não trata objetivos conflitantes • Ambientes: determinista – ex.: xeque-mate no xadrez Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 35/38 (3.b) Arquiteturas: agente otimizador (baseado em utilidade) • 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. • Nos casos onde existem objetivos conflitantes (velocidade x segurança) a utilidade pode determinar o peso adequado a cada objetivo. • Qualquer agente racional deve se comportar como se possuísse uma função de utilidade cujo o valor esperado ele tenta maximizar. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 36/38 (3.b) Arquiteturas: agente otimizador (baseado em utilidade) Agente estado: como o mundo era antes sensores Como está o mundo agora? ambiente como o mundo evolui Como ele ficará se faço isto? Este novo mundo é melhor? Que ação devo escolher agora? qual é o impacto de minhas ações Função de Utilidade efetuadores • Ambiente: sem restrição • Desvantagem: não tem adaptabilidade Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 37/38 (3.b) Arquiteturas: agente que aprende ambiente sensores Agente t+1 crítico avaliação t trocas elemento de execução (agente) elemento de conhecimento aprendizagem objetivos de aprendizagem t efetuadores Gerador de problemas • Ambiente: sem restrição • Vantagem: tem adaptabilidade (aprende) • Ex. motorista sem o mapa da cidade Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 38/38