Agentes Inteligentes Alex F. V. Machado 1 Definição Um agente é tudo aquilo que pode ser visto como percebendo um ambiente e agindo sobre ele em busca de um conjunto de objetivos. Um programa de IA pode ser visto como um Agente Racional Plano da aula O que é um Agente Racional (inteligente)? Qual sua utilidade em IA? Ambientes e arquiteturas Aplicações Estado atual do conceito de agente 3 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 atuadores (ex. vídeo, auto-falante, impressora, braços, ftp, ...) Mapeamento: seqüência de percepções => ação ambiente sensores Raciocinador atuadores Agente modelo do ambiente Características Cognitivas (1/2) Básicas: Autonomia – capacidade de agir sem intervenção de outros agentes. Reatividade – habilidade de reagir a estímulos do ambiente. Proatividade – propriedade de agir guiado por objetivos, a partir de iniciativa própria. Características Cognitivas (2/2) Adicionais: Sociabilidade – potencialidade de se comunicar com outros agentes do ambiente. Adaptatividade – capacidade de se adaptar ao ambiente (aprendizado). Mobilidade – habilidade de se mover entre ambientes. Veracidade – propriedade de dizer sempre a verdade. Benevolência – característica de realizar tudo aquilo que lhe é solicitado. Racionalidade – capacidade de agir sempre em busca dos próprios objetivos. Medida de Desempenho (MD) Critério que define o grau de sucesso de um agente na realização de uma dada tarefa Esta medida deve ser imposta do exterior Exs. aspirador de pó, provador de teoremas, filtragem de e-mails, policial de trânsito, avaliador de clima... 7 Agente Racional (McCarthy & Hayes 69, Newell 81) Agente Racional: fazer a melhor coisa possível Problema segue o princípio da racionalidade: dada uma seqüência de percepções, o agente escolhe, segundo seus conhecimentos, as ações que satisfazem melhor seu objetivo. estado inicial + ações => estado final (objetivo) Racionalidade Onisciência, limitações de: sensores atuadores raciocinador (conhecimento, tempo, etc.) Agir para obter mais dados perceptivos é racional 8 A metáfora de agente decompõe 1) Problema em: percepções, ações, objetivos, e ambiente (e outros agentes) 2) Tipo de conhecimento em: Quais são as propriedades relevantes do mundo Como o mundo evolui Como identificar os estados desejáveis do mundo Como interpretar suas percepções Quais as conseqüências de suas ações no mundo Como medir o sucesso de suas ações Como avaliar seus próprios conhecimentos 3) Arquitetura e método de resolução de problema 9 Agente de Polícia de Trânsito raciocínio Agente Conhecimento: - leis - comportamento dos indivíduos,... percepção Ambiente Objetivo: - fazer com que as leis sejam respeitadas execução Ações: - multar - apitar - parar, ... Exemplos de Agentes Agente Diagnóstico médico Dados perceptivos Ações Sintomas, Perguntar, paciente, exames prescrever exames, respostas, ... testar Objetivos Ambiente 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 Segurança, Ruas, pedestres, rapidez, economia, carros, ... conforto,... Tocar bem, se divertir, agradar Musicos, publico, grades de acordes Ambiente 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 (completamente observável) x inacessível (parcialmente observável) determinista x não-determinista episódico x não-episódico (seqüêncial) estático x dinâmico discreto x contínuo Outras propriedades Número de percepções, ações, objetivos,... 12 Ambientes: propriedades Acessível: quando os sensores do agente conseguem perceber o estado completo do ambiente. Episódico: 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. Determinístico: o próximo estado do ambiente pode ser completamente determinado pelo estado atual e as ações selecionadas pelo agente. 13 Ambiente Determinístico Próximo estado = estado atual + ações dos agentes. Devemos dizer se um ambiente é ou não determinístico do ponto de vista de um agente. Ex.: xadrez – determinístico robô que seleciona peças – não-determinístico Ambientes: propriedades Estático: o ambiente não muda enquanto o agente está escolhendo a ação a realizar. Semi-dinâmico: o ambiente não muda enquanto o agente delibera, mas o "score" do agente muda. Discreto: quando existe um número distinto e claramente definido de percepções e ações em cada turno. Contínuo: percepções e ações mudam em um espectro contínuo de valores. 15 Exemplos de Ambientes Agente xadrez sem relógio acessível determinista episódico Sim Sim Não estático Sim discreto Sim xadrez com relógio Sim Sim Não Semi sim motorista de taxi Não Não Não Não Não médico Não Não Não Não Não tutor Não Não Não Não Sim Analisador de imagem Sim Sim Sim Semi Não Busca na web Não Não Sim Não Sim Filtrador de mail Sim Não Sim Não Sim O que é um agente 17 Agentes Inteligentes Arquiteturas Agente tabela Agente reativo simples Agente reativo com estado interno Agente orientado a objetivos Agente baseado em utilidade Agente com aprendizagem autonomia complexidade 18 Agente Tabela sensores ambiente Agente Tabela percepções ações . . . . atuadores Limitações Mesmo Problemas simples -> tabelas muito grandes ex. xadrez 30^100 Nem sempre é possível, por ignorância ou questão de tempo, construir a tabela Não há autonomia nem flexibilidade Este agente só tem fins didáticos!!! Não vale nem a pena pensar nele Ambientes acessível, determinístico, episódico, estático, discreto e minúsculo! Agente Reativo Simples sensores Agente ambiente Qual a aparência atual do mundo? Que ação devo executar agora? Regras “condição-ação” atuadores 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 de percepções, pouca autonomia Ambientes: Reflexo imprescindível em ambientes dinâmicos Acessível, episódico, pequeno Agente Reativo com Estado Interno estado interno Sensors como o mundo evolui regras condição-ação Que ação eu devo tomar Ambiente conseqüências de minhas ações Estado do Mundo Effectors Necessários quando um histórico é necessário, além da informação sensorial. Agente Orientado a Objetivos estado interno como o mundo evolui objetivos Estado do Mundo Como será o mundo se eu tomar ação A Ambiente conseqüências de minhas ações Sensors Que ação eu devo tomar Effectors Ambiente: sem restrição Desvantagem: não tem adaptabilidade Ex. motorista recifence Agente Baseado em Utilidade estado interno como o mundo evolui utility Estado do Mundo Como será o mundo se eu tomar ação A O quão feliz vou ficar nesse estado Ambiente conseqüências de minhas ações Sensors Que ação eu devo tomar Effectors Funciona escolhendo sempre um estado mais útil. Função de utilidade: determina o grau de satisfação do agente em relação a um determinado estado. Ambiente: sem restrição Desvantagem: não tem adaptabilidade Agente com Aprendizado Agente sensores t+1 crítico avaliação t ambiente trocas elemento de elemento de desempenho (agente) conhecimento aprendizagem t atuadores objetivos de aprendizagem Gerador de problemas Ambiente: sem restrição Vantagem: tem adaptabilidade (aprende) Ex. motorista sem o mapa da cidade Simulação do Ambiente Às vezes é mais conveniente simular o ambiente mais simples permite testes prévios evita riscos, etc... O ambiente (programa) recebe os agentes como entrada fornece repetidamente a cada um deles as percepções corretas e recebe as ações atualiza os dados do ambiente em função dessas ações e de outros processos (ex. dia-noite) é definido por um estado inicial e uma função de atualização deve refletir a realidade 25 Simulação de ambiente função simulaAmbiente (estado, funçãoAtualização,agentes,final) repita para cada agente em agentes faça Percept[agente] := pegaPercepção(agente,estado) para cada agente em agentes faça Action[agente] := Programa[agente] (Percept[agente]) estado := funçãoAtualização(ações, agentes, estado) scores := avaliaDesempenho(scores,agente,estado) //opcional até final Observação: não cair em tentação “roubando” do ambiente a descrição do que aconteceu. Usar a memória do agente! 26 Inteligência Coletiva Porque pensar a inteligência/racionalidade como propriedade de um único indivíduo? Não existe inteligência ... Em um time de futebol? Em um formigueiro? Em uma empresa (ex. correios)? Na sociedade? Solução: IA Distribuída Agentes simples que juntos resolvem problemas complexos tendo ou não consciência do objetivo global Proposta por Marvin Minsky e em franca expansão... o próprio ambiente pode ser modelado como um agente 27 IA Distribuída: dois tipos de sistemas Resolução distribuída de problemas consciência do objetivo global e divisão clara de tarefas Exemplos: Robótica clássica, Busca na Web, Gerência de sistemas distribuídos, ... Sistemas Multi-agentes não consciência do objetivo global e nem divisão clara de tarefas Exemplos: n-puzzle, futebol de robôs, balanceamento de carga, robótica, ... 28 Exemplos de Sistemas Multi-Agentes Ant Colony (Colônia de Formigas) Termite Behaviour (Comportamento de Cupins) 29 Termite Behaviour 30 Termite Behaviour Ambiente: Comportamentos dos cupins: - Espaço em preto: área vazia - Se não estiver carregando nada: Anda aleatoriamente até achar uma madeira e a carrega - Pontos amarelos: madeira - Pontos vermelhos: cupins Objetivo: - Criar pilhas de madeira - Se estiver carregando madeira: anda aleatoriamente, no espaço vazio, deixando a madeira em um espaço vazio. 31 Termite Behaviour Aplicação: Sistemas de roteamento de redes de computadores Problemas de Clusterização / Classificação de Dados (Ex. construção de grupos homogêneos de municípios de acordo com alguma variável sócio-econômica) 32 Ant Colony 33 Ant Colony Objetivo: - Achar comida e trazer para a toca no menor caminho Comportamento das formigas: - Andam em caminhos aleatórios e deixam um rastro de feromônio (rastro) por um determinado espaço de tempo. - Tendem a andar em caminhos cujo o rastro de ferômonio seja mais forte. 34 Ant Colony Aplicação: - Sistemas de roteamento de redes de computadores -Transporte urbano e logística - Modelagem de Proteínas (Bioinformática) 35 Propriedades Autonomia raciocínio, comportamento guiado por objetivos reatividade Adaptabilidade & aprendizagem Comunicação & Cooperação Personalidade 36