Introdução à Inteligência Artificial Marcílio C. P. de Souto DIMAp/UFRN Inteligência Artificial O que é inteligência Artificial? O que diferencia inteligência artificial de inteligência natural? 2 O que é Inteligência Artificial? “Uma área de pesquisa que investiga formas de habilitar o computador a realizar tarefas nas quais, até o momento, o ser humano tem um melhor desempenho”. Elaine Rich 3 Inteligência Artificial “Tão logo algum problema de IA é resolvido ele não é mais considerado um problema da área de IA...” Chuck Thorpe CMU, Robotics Institute, 2000 4 Definições Adicionais Conjunto de técnicas para a construção de máquinas “inteligentes”, capazes de resolver problemas que requerem inteligência humana. (Nilsson) Ramo da Ciência da Computação dedicado à automação de comportamento inteligente. (Luger e Stubble) Tecnologia de processamento de informação que envolve raciocínio, aprendizado e percepção. (Winston) 5 Categorias Sistemas que pensam como Sistemas que pensam os humanos racionalmente Sistemas que agem como Sistemas que agem os humanos racionalmente 6 Categorias Agindo como humanos Pensando como os humanos “A automação de atividades que associamos com o pensamento humano (e.g., tomada de decisão, solução de problemas, aprendizagem, etc.)” (Simon&Newell) Pensando racionalmente “A arte de criar máquinas que realizam funções que requerem inteligência quando realizadas por pessoas” (Turing) “O estudo das faculdades mentais através do uso de modelos computacionais” (McCarthy) Agindo racionalmente “O ramo da Ciência da Computação que estuda a automação de comportamento inteligente” 7 Áreas de Apoio para IA 8 Sub-Áreas da IA Redes Neurais Raciocínio Baseado em Casos Agentes Inteligentes Computação Evolucionária Raciocínio Baseado em Regras Outros Lógica Fuzzy Robótica Linguagem Natural 9 Contexto Histórico “IA é considerada polêmica porque desafia a idéia da unicidade do pensamento humano, da mesma forma que Darwin desafiou a unicidade da origem dos seres humanos.” Helbert A. Simon CMU, 2000 10 Linha do Tempo Allan Turing “Computer Machinery and Intelligence” Primeiro Projeto Japonês LISP Surgimento do termo Inteligência Artificial 1950 1956 1957 PROLOG 1958 1962 1970 Primeiro Robô Industrial Logic Theorist General Problem Solver Segundo Projeto Japonês 1981 1988 1992 Ganhos com sistemas de IA chegaram a 1 Bilhão Primeiro Sistema Especialista 11 História da IA A gestação da IA (1943-1956) O entusiasmo dos primeiros anos da IA, grandes expectativas (19521969) Uma dose de realidade (1966-1974) Sistemas Baseados em Conhecimento: A Chave para o Poder? (19691979) IA se torna comercial (1980-1988) O retorno das Redes Neurais (1986-presente) Eventos Recentes 12 A Gestação da IA (1943-1956) O primeiro trabalho de IA foi um modelo de neurônio artificial (McCulloch&Pitts-43) Começo dos anos 50: Shannon & Turing escreveram programas de xadrez para máquinas von Neumann Ao mesmo tempo, Minsky e Edmonds construíram o primeiro computador baseado em redes neurais (51) Precursor das tradições lógica e conexionista da IA Ironicamente, mais tarde Minsky provou teoremas que levaram a descrença de redes neurais durante os anos 70's Workshop em Dartmouth em 56: pesquisadores de Princeton, IBM , MIT e CMU se reuniram a convite de John McCarthy (LISP) Os 20 anos seguintes foram dominados por pesquisadores participantes do Workshop e seus estudantes Foi neste Workshop que o nome Inteligência Artificial surgiu para denominar o novo campo de estudo (cunhado por McCarthy) 13 Entusiasmos dos Primeiros Anos (1952-1969) Newell e Simon desenvolveram o “General Problem Solver” (GPS) Projetado para imitar protocolos humanos de resolução de problemas GPS foi o primeiro programa a incorporar a abordagem “Pensar como humanos” A combinação de IA e Ciência Cognitiva continua até hoje Samuel (1952) escreveu uma série de programas para jogar damas e provou o contrário do que era senso comum na época: “a idéia de que computadores podiam fazer somente o que era dito para eles” Seus programas aprendiam rapidamente a jogar melhor que seu criador 14 Entusiasmos dos Primeiros Anos (1952-1969) McCarthy (1958) desenvolveu o LISP, que se tornou a linguagem dominante de IA Robinson (1963) descobriu o método da resolução: Minsky supervisionou uma série de estudantes que escolheram problemas limitados que pareciam requerer inteligência para serem resolvidos: Algoritmo completo de provas de teoremas para a Lógica de 1a Ordem PROLOG estava a caminho Micromundos O mais famoso micromundo foi o mundo dos blocos Trabalhos de redes neurais começaram a florescer 15 Uma Dose de Realidade (1966-1974) A barreira que muitos projetos de IA encontraram foi que Métodos que eram suficientes para demonstrações de um ou dois exemplos simples quase sempre fracassavam quando testados com uma elenco maior de problemas ou com problemas mais difíceis O primeiro tipo de dificuldade Os primeiros programas continham pouco ou nenhum conhecimento do assunto que tratavam Tinham sucesso através de manipulações sintáticas muito simples - ELIZA (65) 16 Uma Dose de Realidade (1966-1974) O segundo tipo de dificuldade A intratabilidade de muitos problemas que a IA estava tentando resolver Os primeiros programas funcionavam somente porque os os micromundos continham poucos objetos. Antes que a teoria de problemas NP-completos fosse desenvolvida, se acreditava que o problema de se "escalar" para problemas maiores era simplesmente um problema de se ter hardware mais rápido Uma terceira dificuldade veio das limitações sobre as estruturas básicas usadas para gerar comportamento inteligente 17 SBC: A Chave para o Poder? (1969-1979) O método de resolução de problemas usado na primeira década da IA foi o mecanismo de busca de propósito geral Eles são chamados métodos fracos porque usam pouca informação sobre o domínio Para domínios complexos o desempenho é pobre O sistema Dendral (69) foi o primeiro sistema a trabalhar com conhecimento intensivo Sua expertise era derivada de um grande número de regras específicas Inferia a estrutura molecular de informações fornecidas por um espectrômetro de massa 18 SBC: A Chave para o Poder? (1969-1979) Feigenbaum e outros em Stanford começam a investigar a nova metodologia de sistemas especialistas A importância do conhecimento do domínio foi também aparente na área de processamento linguagem natural O crescimento das aplicações no mundo real aumentou a demanda por esquemas de representação de conhecimento alternativos: Lógica e Frames 19 A IA se Torna Comercial (1980-1988) O primeiro sistema especialista de sucesso comercial, R1, começou a operar na DEC Ajudava a configurar ordens para novos computadores Em 1981, os japoneses anunciaram a "Quinta Geração" Um projeto de 10 anos para construção de computadores inteligentes que rodavam Prolog 20 Redes Neurais (1986-presente): Retorno Embora a ciência da computação negligenciou o campo das redes neurais, o trabalho continuou em outros campos, particularmente na Física (82) Ao mesmo tempo, algumas desilusões sobre a aplicabilidade de sistemas especialistas começaram a surgir 21 Eventos Recentes Os anos recentes viram mudanças no conteúdo e metodologia de pesquisa da IA O formalismo "belief networks "foi criado para permitir raciocínio eficiente sobre a combinação de evidências incertas Revoluções similares ocorreram na robótica, visão por computador, aprendizado de máquina e representação do conhecimento Buscadores Inteligentes (aplicados principalmente à Web) Reconhecimento de Voz Robótica Mineração de Dados Casas Inteligentes 22 Uma Nova Visão A partir dos anos 80 foi percebido que, geralmente, o modelo de raciocínio utilizado em IA era diferente do usado pelos seres humanos Mas essas diferenças não invalidam o uso de modelos não-humanos Um bom exemplo é o avião, que opera de uma forma muito diferente da dos pássaros mas também voa..... Em outras palavras, para que alguém quer construir uma cópia da mente humana? A original não é suficiente? A mente humana não é a mais difícil de se auto-examinar? A única solução aparentemente lógica é separar a inteligência humana da inteligência artificial para construir algo completamente novo 23 O que Estudaremos? A IA que estudaremos é aquela embutida em aplicações reais do seu cotidiano... Processamento de Agricultura imagem Negócios e finanças Direito Química Internet Indústria Comunicações Redes e Sistemas Distribuídos Banco de dados Matemática Comércio Engenharia de software Medicina Computação Interfaces Meteorologia Robótica Educação Militar Jogos Eletrônica Hardware (projeto e análise) Sistemas de potência Engenharia Etc. Ciência Meio ambiente Tecnologia espacial Geologia Transportes, ... 24 Produção de jogos e histórias interativas Como modelar o ambiente físico e o comportamento/personalidade dos personagens? Como permitir uma boa interação com usuário? The Sims FIFA Soccer 25 Controle de robôs Como obter navegação segura e eficiente, estabilidade, manipulação fina e versátil? E no caso de ambientes dinâmicos e imprevisíveis? HAZBOT: ambientes com atmosfera inflamável 26 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? 27 Busca de informação na Web Como localizar a informação relevante? 28 Previsão Como prever o valor do dólar (ou o clima) amanhã? Que dados são relevantes? Há comportamentos recorrentes? 29 Detecção de Intrusão e Filtragem de Spam Como saber se uma mensagem é lixo ou de fato interessa? Como saber se um dado comportamento de usuário é suspeito e com lidar com isto? 30 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.? 31 Interface 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)? 32 O que estes problemas têm em comum? Grande complexidade (número, variedade e natureza das tarefas) Não há “solução algorítmica”, mas existe conhecimento Modelagem do comportamento de um ser inteligente (conhecimento, aprendizagem, iniciativa, etc.) 33 Referências T. Mitchell. Machine Learning. McGraw Hill, New York, 1997. Stuart Russell and Peter Norvig, Artificial Intelligence - A Modern Approach. Prentice Hall, 1995. 34