Agentes Inteligentes Inteligência Artificial Definição Um agente é tudo aquilo que pode ser visto como percebendo um ambiente e agindo sobre ele Eu adicionaria: ... Em busca de um conjunto de objetivos. Agentes Um agente é algo capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por meio de atuadores. Exemplos Agente humano Sensores: Olhos, ouvidos e outros órgãos. Atuadores: Mãos, pernas, boca e outras partes do corpo. Agente robótico Sensores: câmeras e detectores de infravermelho. Atuadores: vários motores. Agente de software Sensores: entrada do teclado, conteúdo de arquivos e pacotes vindos da rede. Atuadores: tela, disco, envio de pacotes pela rede. Aula 1 - 17/10/2010 Mapeando percepções em ações Sequência de percepções: história completa de tudo que o agente percebeu. O comportamento do agente é dado abstratamente pela função do agente: [f: P* A] onde é a P* é uma sequência de percepções e A é uma ação. O programa do agente roda em uma arquitetura física para produzir f. Agente = arquitetura + programa. Aula 1 - 17/10/2010 Exemplo: O mundo do aspirador de pó Percepções: local e conteúdo Exemplo: [A, sujo] Ações: Esquerda, Direita, Aspirar, NoOp Uma função para o agente aspirador de pó 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 ... Programa: Se o quadrado atual estiver sujo, então aspirar, caso contrário mover para o outro lado. Agentes Racionais Como preencher corretamente a tabela de ações do agente para cada situação? O agente deve tomar a ação “correta” baseado no que ele percebe para ter sucesso. O conceito de sucesso do agente depende uma medida de desempenho objetiva. Exemplos: quantidade de sujeira aspirada, gasto de energia, gasto de tempo, quantidade de barulho gerado, etc. A medida de desempenho deve refletir o resultado realmente desejado. Agentes Racionais Agente racional: para cada sequência de percepções possíveis deve selecionar uma ação que se espera venha a maximizar sua medida de desempenho, dada a evidência fornecida pela seqüência de percepções e por qualquer conhecimento interno do agente. Agentes Racionais Racionalidade é diferente de perfeição. Mas os agentes podem (e devem!) executar ações para coleta de informações. A racionalidade maximiza o desempenho esperado, enquanto a perfeição maximiza o desempenho real. A escolha racional só depende das percepções até o momento. Um tipo importante de coleta de informação é a exploração de um ambiente desconhecido. O agente também pode (e deve!) 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 Cognitivas (1/2) Básicas: – 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. Sociabilidade – potencialidade de se comunicar com outros agentes do ambiente. Autonomia Características Cognitivas (2/2) Adicionais: – 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. Adaptatividade Não há consenso! [Wooldridge 1999] Autonomia é a habilidade de agir sem intervenção humana ou de outros sistemas. Isso é conseqüência do controle total sobre seu estado interno e sobre seu comportamento. [Maes 1995] Agente autônomo é o que consegue operar com completa autonomia, decidir por si só como relacionar os dados obtidos com ações de modo que seus objetivos sejam atingidos com sucesso. [Russel & Norvig 1995] Um sistema é autônomo na medida em que seu comportamento é determinado pela sua experiência, em vez de ter todo o conhecimento sobre o ambiente pré-construído. Esse sistema tem um conhecimento inicial e habilidade de aprender. Agentes Racionais São aqueles que tomam a ação correta em busca de seus objetivos. Dependem: Da medida de eficiência (performance measure) que define o grau de sucesso do agente. De sua seqüência de percepções em relação ao ambiente. De todo o conhecimento que tem sobre o ambiente Das ações que é capaz de realizar. Agente Racional Ideal Para cada possível seqüência de percepção, um agente racional ideal deve realizar a ação que maximize sua medida de eficiência, com base em evidências providas pela seqüência de percepção e mais qualquer conhecimento que o agente tiver sobre o ambiente. Exemplos Termostato Agente de Diagnóstico Médico Motorista de Taxi Artificial Quais são seus perceptores, ações, objetivos, ambiente e medida de eficiência? PEAS Ao projetar um agente, a primeira etapa deve ser sempre especificar o ambiente de tarefa. Performance = Medida de Desempenho Environment = Ambiente Actuators = Atuadores Sensors = Sensores Exemplo de PEAS: Motorista de Táxi Automatizado Medida de desempenho: viagem segura, rápida, sem violações às leis de trânsito, confortável para os passageiros, maximizando os lucros. Ambiente: ruas, estradas, outros veículos, pedestres, clientes. Atuadores: direção, acelerador, freio, embreagem, marcha, seta, buzina. Sensores: câmera, sonar, velocímetro, GPS, hodômetro, acelerômetro, sensores do motor, teclado ou microfone. Exemplo de PEAS: Sistema de Diagnóstico Médico Medida de desempenho: paciente saudável, minimizar custos, processos judiciais. Ambiente: paciente, hospital, equipe. Atuadores: exibir na tela perguntas, testes, diagnósticos, tratamentos. Sensores: entrada pelo teclado para sintomas, descobertas, respostas do paciente. Exemplo de PEAS: Robô de seleção de peças Medida de desempenho: porcentagem de peças em bandejas corretas. Ambiente: correia transportadora com peças; bandejas. Atuadores: braço e mão articulados. Sensores: câmera, sensores angulares articulados. Exemplo de PEAS: Instrutor de Inglês Interativo Medida de desempenho: maximizar nota de aluno em teste. Ambiente: conjunto de alunos. Atuadores: exibir exercícios, sugestões, correções. Sensores: entrada pelo teclado. Agente Básico - Cadê a medida de eficiência? - Será que a escolha da ação pode ser feita a partir de uma tabela que relacione diretamente condição/ação? Agente Dirigido por Tabela Função AGENTE-DIRIGIDO-POR-TABELA(percepção) retorna uma ação Variáveis estáticas: percepções, uma seqüência, inicialmente vazia tabela, uma tabela de ações, indexada por seqüências de percepções, de início completamente especificada anexar percepção ao fim de percepções ação ← ACESSAR(percepções, tabela) retornar ação • Desvantagens: – – – – Tabela gigante (xadrez = 10150 entradas) Tempo longo para construir a tabela Não tem autonomia Mesmo com aprendizado demoraria muito para aprender a tabela. Tipos básicos de agentes Quatro tipos básicos, do mais simples ao mais geral Agentes reativos simples Agentes reativos baseados em modelos Agentes baseados em objetivos Agentes baseados na utilidade Agente Reflexivo Sensors regras condição-ação Que ação eu devo tomar Ambiente Estado do Mundo Effectors Ações baseadas no estado atual do mundo. Agem por reflexo: regras condição-ação. Agente Reflexivo 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 Que ação eu devo tomar Effectors Mais flexíveis por inferirem reações. Ambiente conseqüências de minhas ações Sensors 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. Propriedades do Ambiente Acessível x Inacessível Determinístico x Não-determinístico Episódico x Não-episódico Estático x Dinâmico Discreto x Contínuo Ambiente Acessível Sensores têm acesso ao estado completo do ambiente (i.e. os agentes vêem tudo). Os sensores captam toda informação relevante para a escolha por uma ação. Não é necessário manter o estado interno. Ex.: – acessível robô que seleciona peças – inacessível xadrez 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.: – determinístico robô que seleciona peças – não-determinístico xadrez Ambiente Episódico A experiência dos agentes é dividida em episódios, i.e. pares percepção-ação. A qualidade da ação depende apenas do episódio em si, porque episódios subseqüentes não dependem da ação que ocorrem em episódios anteriores. É mais simples porque o agente não precisa pensar no futuro. Ex.: xadrez – não-episódico robô que seleciona peças – episódico Ambiente Estático O ambiente não muda enquanto o agente está deliberando. É mais simples de lidar porque o agente não precisa monitorar o ambiente enquanto toma uma decisão. Semi-dinâmico: o ambiente não muda mas a medida de eficiência do agente muda. Ex.: Xadrez sem relógio – estático Xadrez com relógio – semi-dinâmico robô que seleciona peças – dinâmico Ambiente Discreto Há um conjunto limitado e bem definido de perceptores e ações distintos. Ex.: – discreto robô que seleciona peças – contínuo xadrez Ambiente x Agente Cada ambiente requer um tipo de agente. Ambiente mais simples: acessível, determinístico, episódico, estático e discreto. Quanto mais complexo for o ambiente, mais complexo deve ser o agente. Agentes x Internet Agentes de Busca Usuário Browser Search Engine Consulta Resposta Servidor de Consultas Base de Índices )--( Web Robô Indexing Engine Busca Exemplos: Google, Bing, AltaVista, Lycos, Excite, ... Agentes que filtram Informação Arquitetura: Browser Servidor de News Artigos Indexados Perfil do usuário Indexing Engine Internet Agente de Filtragem • Filtram as informações encontradas de acordo com o perfil do usuário. Exemplos NewsHound Busca notícias em diversos jornais a partir do perfil dado Envia informações através de e-mail ou páginas html. Utiliza critérios de relevância MetaCrawler Programa inteligente que usa outros engenhos de busca em prol do usuário Usuário Browser Search Engine Consulta Softbot Resposta Perfil do usuário Servidor de Consultas Base de Índices Agentes Notificadores Notifica o usuário de eventos de importância para ele. Mudança no conteúdo de uma página na Web. Mudança de endereço de uma página. Exemplo: URLMINDER Monitora páginas na Web e comunica aos usuários se houve mudanças nelas Checa páginas pelo menos 1 vez/dia Não faz busca recursiva de URLs. Comércio Eletrônico Hoje informação marketing processamento do pedido Problemas O que comprar? Onde comprar? Quanto pagar? Agentes que filtram Informação de Compra Arquitetura: Browser Servidor Sites Indexados Perfil do usuário Indexing Engine Internet Agentes de Comércio Eletrônico • Filtram as opções de compra de acordo com o perfil do usuário. Agentes Inteligentes Dúvidas?