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/