Agentes - Software Livre por Hugo Barros
Transcrição
Agentes - Software Livre por Hugo Barros
1 Agentes Inteligentes 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 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 − Má escolha da MD pode acarretar comportamento indesejado − Compromissos entre objetivos múltiplos conflitantes − Resta o problema de saber quando avaliar o desempenho − Exs. aspirador de pó, provador de teoremas, filtragem de e-mails, policial de trânsito, avaliador de clima... 3 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 de percepções, o agente escolhe, segundo seus conhecimentos, as ações que satisfazem melhor seu objetivo. Problema − 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 4 Autonomia e Utilidade Autonomia − Capacidade de adaptação a situações novas, para as quais não foi fornecido todo o conhecimento necessário com antecedência − Duas implementações: aprendizagem e/ou programação declarativa Para construir um sistema inteligente, utilizamos − linguagem − inferência − conhecimento 5 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 6 Agente de Policia Agente raciocínio Conhecimento: - leis - comportamento dos indivíduos,... percepção Ambiente Objetivo: - fazer com que as leis sejam respeitadas execução Ações: - multar - apitar - parar, ... Agente Exemplos de Agentes 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) − estático x dinâmico − determinista x não-determinista − discreto x contínuo − episódico x não-episódico (seqüêncial) − tamanho: número de percepções, ações, objetivos,... 9 Ambientes: propriedades (1/2) Acessível: quando os sensores do agente conseguem perceber o estado completo do ambiente. Determinístico: o próximo estado do ambiente pode ser completamente determinado pelo estado atual e as ações selecionadas pelo agente. 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. 10 Ambientes: propriedades (2/2) 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. 11 Exemplos de Ambientes Agente acessível determinista episódico estático discreto xadrez sem relógio Sim Sim Não Sim Sim xadrez com relógio Sim Sim Não Semi sim gamão sim não não sim 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 Músico Sim Não Não Não Não + O Tamanho do ambiente é dado por: número de percepções, ações e objetivos possíveis 13 Algoritmo Básico 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 simples − Agente reativo baseado em modelos − Agente baseado em objetivos − Agente baseado em utilidade − Agente com aprendizagem autonomia complexidade Agente Tabela sensores Agente Tabela percepções ações . . . . ambiente 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 Selecionam ações com base somente na percepção atual − Exemplo: agente aspirador de pó Função AGENTE-ASPIRADOR-REATIVO ([posição, estado]) retorna uma ação 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 15 Agente Reativo Simples: Aspirador de pó Programa muito pequeno em relação a tabela que representa a função agente Porque descartamos o histórico de percepções − Diminuem as possibilidades Porque se o quadro está sujo, não precisamos verificar a posição A entrada pode ser processada para estabelecer uma condição − Exemplo: Processar a imagem do agente motorista de táxi e verificar que “o carro da frente está freando” Ao invés de ter uma tabela com cada mudança que ocorre na imagem, “interpretamos” a condição da imagem 16 Agente Reativo Simples: Aspirador de pó Então podemos fazer conexões entre as condições de entrada e as ações correspondentes Se carro_da_frente_está_freando então começar_a_frear Estas regras são chamadas de regras de condição-ação Conexões nos seres humanos: − Aprendidas: dirigir − Reflexos inatos: tirar a mão do fogo, ou piscar qdo algo se aproxima do olho Projeto do agente: Construir um interpretador de uso geral para regras de condição-ação Criar um conjuntos de regras para cada ambiente de tarefa 17 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 Funcionamento INTERPRETA-ENTRADA -> Gera uma descrição abstrata do estado a partir do que foi percebido CASAMENTO-REGRA -> Retorna a primeira regra que "casou“ com a descrição do estado 19 20 Limitações São simples, porém limitados Funcionará somente se a decisão correta puder ser tomada com base apenas na percepção atual − Ambiente completamente observável Exemplos de alguns problemas: Talvez somente uma imagem não é suficiente para determinar se o carro da frente esta dando sinal de mudança de direção, alerta ou freio Agente Reativo Baseado em Modelos Agente sensores ambiente Qual é a aparência atual mundo? estado: como o mundo era antes como o mundo evolui impacto de minhas ações Que ação devo executar agora? Regras “condição-ação” atuadores Desvantagem: pouca autonomia − não tem objetivo, não encadeia regras Ambientes: determinístico e pequeno − Ex. Tamagotchi Agente Reativo Baseado em Modelos Como lidar com a possibilidade de observação parcial − O agente deve controlar as partes do mundo que ele não pode ver agora 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 Dois tipos de conhecimento são necessários para atualizar o estado interno do agente (modelo do mundo): − Como o ambiente evoluí independente do agente Um carro que está ultrapassando em geral estará mais perto do que estava um instante antes Como as ações do próprio agente afetam o mundo − Se o agente virar o volante à direita, o carro irá virar p/ a direita 22 23 Modelo de mundo O conhecimento de “como o mundo funciona” − Pode ser implementado em simples circuitos booleanos ou em teoria científicas completas Agente baseado em modelo − Um agente que usa o modelo de mundo 24 Funcionamento 25 Limitações Conhecer os estados do ambiente não é suficiente para tomar uma boa decisão Exemplo: − o 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 26 Agente baseado em objetivos 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 27 Agente baseado em objetivos 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 -> distinta das regras de condição-ação − “O que acontecerá se eu fizer isso ou aquilo?” − “O quanto isso me ajudará a atingir o objetivo?” Agente Baseado em Objetivo sensores Agente estado: como o mundo era antes ambiente Qual a aparência atual do mundo? como o mundo evolui Qual será a aparência se for executada a ação A? impacto de minhas ações Que ação devo executar agora? Objetivos atuadores Vantagens e desvantagens: − Mais complicado e ineficiente, porém mais flexível, autônomo − Não trata objetivos conflitantes Ambientes: determinístico − ex.: xeque-mate no xadrez 29 Considerações e limitações O agente que funciona orientado a objetivos é mais flexível − Agente reflexo ações pré-compiladas (condição-ação) − Agente p/ objetivo pode alterar somente o objetivo sem necessidade de se reescrever as regras de comportamento Mais flexível – representação do conhecimento permite modificações − Ex: Se começar a chover todos as informações relevantes podem ser alteradas para se operar de forma eficiente O objetivo não garante o melhor comportamento para o agente, apenas a distinção entre estados objetivos e não objetivos − Ex: Algumas alternativas de planejamento de ações futuras podem ser mais rápidas, seguras ou baratas que outras 30 Agente 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 Especificação completa da função de utilidade – decisões racionais em dois tipos de casos: − Quando existem objetivos conflitantes (velocidade x segurança) a função de utilidade especifica o compromisso apropriado − Quando existem vários objetivos que se deseja alcançar e nenhum deles pode ser atingido com certeza – ponderar a importância dos objetivos Agente Baseado em Utilidade Agente sensores ambiente estado: como o mundo era antes Qual a aparência atual do mundo? Qual será a aparência se for executada a ação A? Este novo mundo é melhor? como o mundo evolui qual é o impacto de minhas ações Que ação devo executar agora? atuadores Função de Utilidade Ambiente: sem restrição Desvantagem: não tem adaptabilidade Ex. motorista recifence 32 Agente Baseado em Aprendizado Em agentes sem aprendizagem tudo o que o agente sabe foi colocado nele pelo projetista Turing propõe construir máquinas com aprendizagem e depois ensina-las Aprendizagem também permite ao agente atuar em ambientes totalmente desconhecidos e se tornar mais competente do que o sue conhecimento inicial poderia permitir Quatro componentes conceituais de um agente com aprendizagem: − Elemento de aprendizado − Crítico − Elementos de desempenho − Gerador de problemas Agente Baseado em Aprendizado - Componentes Elemento de aprendizado: − Responsável pela execução dos aperfeiçoamentos − Utiliza realimentação do crítico sobre como o agente está funcionando − Determina de que maneira o elemento de desempenho deve ser modificado para funcionar melhor no futuro Crítico: − Informa ao elemento de aprendizado como o agente está se comportando em relação a um padrão fixo de desempenho − É necessário porque as percepções não fornecem nenhuma indicação de sucesso − O agente não deverá modificá-lo 33 Agente Baseado em Aprendizado - Componentes Elementos de desempenho: − Responsável pela seleção de ações externas (agente completo) − Recebe percepções e decide sobre ações Gerador de problemas: − Responsável por sugerir ações que levarão a experiências novas e informativas − Ações não ótimas a curto prazo para descobrir ações ótimas a longo prazo 34 35 Agente motorista de táxi – com aprendizado Elemento de desempenho: conhecimento e procedimentos para dirigir Crítico: observa o mundo e repassa para o elemento de aprendizagem a reação dos outros motoristas a uma ação do agente Elemento de aprendizagem: − É capaz de formular uma regra afirmando que a ação foi boa/ruim − Modifica o elemento de desempenho pela instalação da nova regra Gerador de problemas: − Identifica áreas que precisam de melhorias − Sugere experimentos: testar os freios em diferentes superfícies Agente com Aprendizado Agente sensores t+1 crítico avaliação ambiente t 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) 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 37 Simulação de ambiente 38 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! 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 39 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, ... 3 7 4 3 5 7 8 1 4 2 6 5 8 2 1 1 2 3 6 4 5 6 7 8 40 Questões Questões centrais − comunicação − negociação (ex. compra-venda na Web) − estados mentais − crença, ... Tensão (trade-off) − Quanto mais agentes, mais simples (sub-dividido) fica o problema − No entanto, mais complexa fica a comunicação e coordenação entre os agentes 41 42 Evolução da noção de Agente além das fronteiras da IA.... Agente: ainda não há uma definição única 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 43 Antes.... 44 Técnicas & Agora Problemas programas programas IA agentes inteligentes agentes móveis, agentes de software, robôs, ... Propriedades Autonomia (IA) − raciocínio, comportamento guiado por objetivos − reatividade Adaptabilidade & aprendizagem (IA) Comunicação & Cooperação (IA) Personalidade (IA) Continuidade temporal Mobilidade 45 46 Agentes na Internet Categorias por Tipos de Serviços: − Agentes de Busca e Recuperação (ex. Altavista) − Agentes que Filtram Informações (ex. KOM) − Agentes de Entrega Off-line (ex. PointCast) − Agentes Notificadores (ex. URL-Minder) − Agentes de Suporte ao Comércio (ex. BargainBot) − Agente corretor (interoperabilidade - ACL) − Outros... Conclusões Agentes em IA − Metodologia (metáfora) para projeto de sistemas − Agentes em computação − Sistemas multi-agentes e robótica Adoção de uma nova metáfora (antropomórfica e sociológica). Extrapolação de OOP IA: autômato -> mente Agentes: objetos -> pessoas − Integração de técnicas de IA − Novas tecnologias próprias à Web (ex. mobilidade) − Marketing (moda) Agentes: técnica ou metodologia ? 47 Desenvolvimento de software inteligente Projeto: − Modelar tarefa em termos de ambiente, percepções, ações, objetivos e utilidade − Identificar o tipo de ambiente − Identificar a arquitetura de agente adequada ao ambiente e tarefa Implementação − o gerador e o simulador de ambientes − componentes do agente (vários tipos de conhecimento) − Testar o desempenho com diferentes instâncias do ambiente 48 49 Referências •Stuart Russell and Peter Norvig, Inteligência Artificial. CampusElsevier, 2004.
Documentos relacionados
Agentes Inteligentes - Edirlei Soares de Lima
retorna aspirar senão se posição = A então retorna direita senão se posição = B então retorna esquerda Fim
Leia mais