Agentes Inteligentes Geber Ramalho Jacques Robin CIn-UFPE O que são Agentes Inteligentes? Agentes de software (softbots) ou robôs físicos Com inteligência artificial embutida Então: O que é inteligência artificial? O que são agentes de software? Resposta: guiada pelas aplicações práticas ... ... de amanha ... Blade Runner M A T R I X A.I. ... e de hoje Domínios de aplicações da IA na página da AAAI: www.aaai.org/AITopics/html/applications.html Agriculture, Natural Resource Management, and the Environment Architecture & Design Art Artificial Noses Astronomy & Space Exploration Assistive Technologies Banking, Finance & Investing Bioinformatics Business & Manufacturing Drama, Fiction, Poetry, Storytelling & Machine Writing Earth & Atmospheric Sciences Engineering Filtering Fraud Detection & Prevention Hazards & Disasters Information Retrieval & Extraction Knowledge Management Law Law Enforcement & Public Safety Libraries Marketing, Customer Relations & ECommerce Medicine Military Music Networks - including Maintenance, Security & Intrusion Detection Politics & Foreign Relations Public Health & Welfare Scientific Discovery Social Science Sports Telecommunications Transportation & Shipping Video Games, Toys. Robotic Pets & Entertainment Aplicações da IA: automação de sistemas complexos Como modelar os componentes do sistema e dar-lhes autonomia? Como assegurar uma boa comunicação e coordenação entre estes componentes? Aplicações da IA: sistemas de controle Como brecar o carro sem as rodas deslizarem em função da velocidade, atrito, etc.? Como focar a câmera em função de luminosidade, distância, etc.? Como ajustar a temperatura em da quantidade de roupa, fluxo de água, etc.? Aplicações da IA: previsão Como prever o valor do dólar (ou o clima) amanhã? Que dados são relevantes? Há comportamentos recorrentes? Agora é Lula ! Aplicações da IA para a própria computação Internet e Web Redes e Sistemas Distribuídos Banco de dados Engenharia de software Hardware (projeto e análise) Robótica Interfaces Computação Gráfica Jogos Etc. Visão moderna da IA: Maior valor agregada quando embutida com resto da computação MIT AI Lab & CIn-UFPE Aplicações da IA: controle de robôs Como obter navegação segura e eficiente, manipulação fina e versátil, autonomia? E no caso de ambientes dinâmicos e imprevisíveis? HAZBOT: ambientes com atmosfera inflamável Aplicações da IA: simulações e jogos Como modelar o ambiente físico e o comportamento/personalidade dos personagens? Como permitir interação interessante com o usuário? The Sims FIFA Soccer Aplicações da IA: recomendação de produtos Como fazer recomendações personalizadas de produtos? Como modelar os perfis dos compradores? Aplicações da IA: busca de informação na web Como localizar a informação relevante? Aplicações da IA: detecção de intrusão e filtragem de spam Como saber se uma mensagem Como saber se um dado comportamento é lixo ou de fato interessa? de usuário é suspeito e com lidar com isto? Aplicações da IA: interfaces amigáveis Como dar ao usuário a ajudar de que ele precisa? Como interagir (e quem sabe navegar na web) com celular sem ter de digitar (hands-free)? Computadores fazem arte ... ... artistas fazem dinheiro? Faturamento da indústria da IA: 2002: $11.9 bilhões taxa de crescimento anual: 12.2% projeção para 2007: $21.2 bilhões fonte: www.aaai.org/AITopics/html/stats.html Empresas especializadas em IA: http://dmoz.org/Computers/Artificial_Intelligence/Companies/ Grandes empresas desenvolvendo e utilizando IA: IBM, HP, Sun, Microsoft, Unisys, Google, Amazon.com, ... Grandes empresas utilizando IA: www.businessweek.com/bw50/content/mar2003/a3826072.htm Wal-Mart, Abbot Labs, US Bancorp, LucasArts, ... Órgãos governamentais utilizando IA: US National Security Agency Detran do Pernambuco ... não usa não Pluridisciplinaridade da IA Tarefas Inspiração •Filosofia •Matemática • Lógica • Proba. e Estat. • Cálculo • Pesquisa Operacional • Economia • Sociologia • Lingüística • Psicologia • Biologia • Automação e Controle • Computação tradicional Problemas • Busca heurística • Representação do conhecimento e Raciocínio automático • Planejamento • Aprendizagem e Aquisição de Conhecimento • Sistemas Multi-Agente • Reconhecimento de Padrões Aplicações • Jogos • Sistemas Especialistas • Percepção Computacional • Visão • Processamento de Voz • Integração de Sensores • Processamento de Linguagem Natural • Robótica • Navegação • Manipulação • Classificação • Previsão • Monitoramento • Diagnóstico e Interpretação • Conserto • Escalonamento • Alocação • Filtragem • Descoberta • Design • Controle • Simulação Definições da IA Máquina que age humanamente: Teste de Turing Máquina que raciocina humanamente: Modelagem cognitiva ? Máquina que age racionalmente: Agente racional, i.e., que escolha ações que maximizam chances do ambiente ficar em estados que satisfazem objetivos Teoria da decisão, otimização, economia Atos reflexos Máquina que raciocina racionalmente: Lógica, Probabilidades P(A|B) Definições da IA Máquina que realiza tarefa: Pela qual não existe algoritmo Máquina que utiliza técnicas desenvolvidas em pesquisa de IA conhecido ou prático No entanto efetuada com alto desempenho por humanos Algum problema? Problema Algoritmo X Abstrações de IA + P(A|B) Inteligência Artificial x Inteligência Computacional Desenvolver sistemas que realiza tarefas: Pela qual não existe algoritmo conhecido ou prático No entanto efetuada com desempenho por humanos Usando qualquer técnica: Simbólica Lógica, Regras, Objetos Numérica Híbrida simbólica-numérica Desenvolver sistemas que realiza tarefas: Pela qual não existe algoritmo conhecido ou prático No entanto efetuada com desempenho por humanos Usando apenas técnicas numéricas de IA: Redes neurais Redes Bayesianas Probabilidades e estatística Sistemas nebulosos Algoritmos genéticos Formigas Híbrida numérica-numérica O que é um agente? Definição geral mínima Qualquer entidade (humano, animal, robô, software): Imersa ou situada em um ambiente (físico, virtual/simulado) e que, Percebe esse ambiente através de sensores (olhos, câmera, socket) Age sobre esse ambiente através de atuadores (mãos, roda, socket) Possui objetivos próprios, i.e., estados do ambientes preferidos (explícitos ou implícitos) Escolha suas ações em função das suas percepções para atingir seus objetivos Ciclo de processamento: Percebe P Interpreta suas percepções I = f(P) Escolha suas ações A = g(I,O) para atingir objetivos O Executa A O que é um agente? Agente Sensores P Ambiente Atuadores Interpretação das percepções: I = f(P) Raciocínio A Escolha das ações: A = g(I,O) 1. Percepções ambientais 2. Própriocepções 3. Percepções comunicativas Objetivos 1. Ações de alterações ambientais 2. Ações perceptivas 3. Ações comunicativas Agentes no mapa da computação Inteligência Artificial Engenharia de Software Agentes Sistemas Distribuídos Agente x Objeto Intencionalidade: Sem objetivo próprio Autonomia de decisão Sem autonomia de decisão: Encapsula objetivos próprios (mesmo que implicitamente) além de dados e métodos Pode iniciar ação da sua própria iniciativa para satisfazer seus objetivos (pro-atividade) Pode negar-se a um pedido de ação da parte de outro agente (negociação) Entrada e saída mais complexa: sensores e atuadores Continuidade temporal: sempre monitorando o ambiente Granularidade maior: Encapsula código do tamanho de um pacote ou componente Composto de vários objetos quando implementado no paradigma OO Executa apenas quando invocado por outros objetos Executa sempre que invocado por outros objetos Entrada e saída: parâmetros e resultado de métodos Descontinuidade temporal: ativo apenas durante invocação dos seus métodos Sistema Multi-Agente x Sistema Distribuído Agente Inteligente x Softbot “burro” Interpretação das percepções: I = f(P) Sensores Ambiente Atuadores IA Processamento Convencional Objetivos Escolha das ações: A = g(I,O) IA Processamento Convencional Agente Inteligente x Sistema de IA Clássica Sistema Inteligente Não Situado Agente Situado Sensores Interpretação das percepções IA Ambiente Raciocínio Objetivos Atuadores Dados de Entrada Objetivos Escolha das ações IA Dados de Saída IA O que é um agente? Outras propriedades freqüentemente associadas Autonomia de raciocínio: Requer IA, máquina de inferência e base de conhecimento Chave para: sistemas especialistas embutidos, controle, robótica, jogos, agentes na internet ... Adaptabilidade: Requer IA, aprendizagem de máquina Chave para: agentes na internet, interfaces amigáveis ... Sociabilidade: Requer IA + técnicas avançadas de sistemas distribuídos: Protocolos padrões de comunicação, cooperação, negociação Raciocínio autônomo sobre crenças e confiabilidade Arquiteturas de interação social entre agentes Chave para: simulação multi-agente, comercio eletrônico, ... O que é um agente? Outras propriedades freqüentemente associadas Personalidade: Requer IA, modelagem de atitudes e emoções Chave para: entretenimento digital, realidade virtual, interfaces amigáveis ... Continuidade temporal e persistência: Requer interface com sistema operacional e banco de dados Chave para: filtragem, monitoramento, controle, ... Mobilidade: Requer: Interface com rede Protocolos de segurança Suporte a código móvel Chave para: agentes de exploração da internet, ... Porque usar a metáfora de agentes? 1. Livro-texto de IA mais didático e mais moderno 2. Fornece metodologias de desenvolvimento de sistemas inteligentes estendendo as de engenharia de software 3. Fornece visão unificadora das várias sub-áreas da IA 4. Ajuda a embutir a IA em sistemas computacionais tradicionais 5. Permite tratar melhor a interação com ambiente 6. Permite tratamento natural da IA distribuída Agentes: metodologia de desenvolvimento Decompõe problema em: percepções, ações, objetivos e ambiente (e outros agentes) Decompõe 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? Indica arquitetura e método de resolução de problema Pergunta cautelosamente evitada até agora O que é inteligência ? Quem é mais inteligente? Seu médico ou sua empregada doméstica? Seu advogado ou sua criança de 1 ano? Kasparov ou Ronaldinho? Dica: baseia sua resposta sobre os sucessos da IA nos último 40 anos 1997: 2x1 2050? 2x1 www.robocup.org Novo desafio benchmark e teste de turing para IA Competição anual associada a conferencia de IA Para sistemas multi-agente situados Experimento do Robô Multi-Humano Robô simulado por 4 humanos: 1 Cérebro (1 pessoa), raciocinador 2 Braços (1 por pessoa = 2 pessoas), atuadores 1 sistema de visão (1 pessoa), sensor Robô Multi-Humano: regras do jogo Braços não podem ver não devem ouvir o que diz o sistema de visão tem tato pouco refinado podem responder apenas sim ou não ao cérebro seguem instruções do cérebro Sistema de visão não pode fornecer informação sem ter sido claramente perguntado pelo cérebro pode distinguir diferentes objetos e estimar distâncias pode mover-se de forma a dar informações visuais a partir de diferentes ângulos Cérebro não pode ver fala com todas as partes do robô controla os braços indicando ângulos de giro deslocamento em uma direção e distância dadas força a aplicar pode fazer perguntas aos braços e sistema de visão pode pedir para o sistema de visão se deslocar para obter outros ângulos de visão pode desenhar ambiente em uma folha de papel Voluntários? Braços e olhos saem da sala... Cérebro recebe a tarefa Robô Multi-Humano: algumas conclusões Um modelo do mundo é imprescindível e econômico (resume todo o ocorrido) dá suporte ao raciocínio Conhecimento prévio do mundo é importante Coordenar diferentes sistemas é complicado A percepção e a execução são imperfeitas Feedback visual e de força são imprescindíveis No mundo real é mais complicado tem muito conhecimento implícito A maioria dos sistemas de visão não são móveis ... Bibliografia Capítulo 1 e começo do capítulo 2 do AIMA Capítulos 1 e 2 do Wooldrigde www.aaai.org/AITopics/