Introdução à Sistemas Inteligentes Geber Ramalho CIn-UFPE
Pergunta O que é Inteligência Artificial? Qual é seu objetivo?
O que a mídia diz... MATRIX Blade Runner AI
O que a gente pensa... IA é o camarão da empada (da computação)
O que é IA? A IA que estudaremos é, portanto, aquela embutida em aplicações reais do seu cotidiano... Agricultura Negócios e finanças Química Comunicações Comércio Computação Educação Eletrônica Engenharia Meio ambiente Geologia Processamento de imagem Direito Indústria Matemática Medicina Meteorologia Militar Sistemas de potência Ciência Tecnologia espacial Transportes, ... Internet Redes e Sistemas Distribuídos Banco de dados Engenharia de software Interfaces Robótica Jogos Hardware (projeto e análise) Etc.
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
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
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?
Busca de informação na Web Como localizar a informação relevante?
Recomendação de produtos Como fazer recomendações personalizadas de produtos? Como modelar os perfis dos compradores?
Previsão Como prever o valor do dólar (ou o clima) amanhã? Que dados são relevantes? Há comportamentos recorrentes? Parreira de novo !!!
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?
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.?
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)?
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.)
Inteligência Artificial (IA) Área da computação que, há décadas, lida com esses problemas. Objetivo construir (e aprender a construir) programas que, segundo critérios definidos, exibem um comportamento inteligente na realização de uma dada tarefa. Decomposta em várias sub-áreas representação do conhecimento, percepção, aprendizagem, processamento de linguagem natural, planejamento,... Interagindo com outras áreas Computação, sociologia, estatística, economia, psicologia, lingüística, lógica, educação, ...
Inteligência Artificial A computação é uma ciência do artificial com processo de desenvolvimento empírico Ciências naturais x Ciências do artificial Aspecto mais marcante na IA... Como definir a IA: tarefas ou métodos? Tarefas são melhor realizadas por seres humanos que por máquinas...
Como a IA resolve estes problemas... É preciso desenvolver software com novas “capacidades”... Autonomia (raciocínio com conhecimento) Adaptabilidade e aprendizagem Comunicação, coordenação,... Estas capacidades se agrupam na noção de “Agente Inteligente”
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 perceptiva => ação Agente sensores a m b i e n t e modelo do ambiente Raciocinador atuadores
Agente Racional Agente Racional: fazer a melhor coisa possível segue o princípio da racionalidade: dada uma seqüência perceptiva, o agente escolhe, segundo seus conhecimentos, as ações que satisfazem melhor seu objetivo. É uma metáfora de modelagem assim como objetos, funções e procedimentos Racionalidade ¹ Onisciência, limitações de: Sensores atuadores raciocinador (conhecimento, tempo, etc.) Agir para obter mais dados perceptivos é racional
Porque usar a Metáfora de Agentes? Livro-texto de IA mais didático e mais moderno Fornece visão unificadora das várias sub-áreas da IA Fornece metodologias de desenvolvimento de sistemas inteligentes Ajuda a embutir/integrar a IA em sistemas computacionais tradicionais Permite tratar melhor a interação com ambiente Permite tratamento natural da IA distribuída
(1) Livro texto Stuart J. Russell and Peter Norvig Artificial Intelligence: A Modern Approach (2nd Ed) (AIMA) http://aima.cs.berkeley.edu
(1) Evolução da IA Pensando “A automação de atividades que nós associamos com o pensamento humano (e.g., tomada de decisão, solução de problemas, aprendizagem, etc.)” (50-60) – Simon&Newell “O estudo das faculdades mentais através do uso de modelos computacionais” (60-70) - McCarthy Idealmente (racionalmente) Humanamente “O ramo da Ciência da Computação que estuda a automação de comportamento inteligente” (1995) – Russel&Norvig “A arte de criar máquinas que realizam funções que requerem inteligência quando realizadas por pessoas” (50-70) - Turing Agindo
(2) visão unificadora da IA Exemplo: RoboCup planejamento, visão, raciocínio, coordenação, controle, comunicação, aprendizagem,...
(3) Metodologias 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
Agente de policia Agente Raciocínio Percepção Execução Ambiente Conhecimento: - leis - comportamento dos indivíduos, ... Objetivo: - fazer com que as leis sejam respeitadas Ações: - multar - apitar - parar, ... Percepção Execução Ambiente
(4) Embutir IA Agente = Objeto com autonomia e/ou adaptabilidade Agent-Oriented Programming Autonomia De decisão: comportamento pró-ativo (sem evocação) ex. gerenciamento de disco De decisão: negociação (não reage à evocação) do it for free x do it for money (ex. robocup) De raciocínio: programação declarativa O que em vez de como: abstração (ex. robocup) Existem API’s de IA raciocínio, aprendizagem, comunicação,...
(5) Interação com o Ambiente Robocup: novo teste de Turing para a IA depois do xadrez? 1997: 2 x 1 2050?: 2 x 1
(6) Sistemas Multi-agentes Assim como a computação, existe a IA distribuída o que interessa é o comportamento emergente da interação Exemplo: patrulha multi-agente
IA nas Empresas Hoje Companhias Microsoft IBM Netscape Apple AltaVista Sun Sony Amazon.Com LucasArts Oracle Motorola Fujitsu Toshiba Nvidia Kinetix JVC Novell Lotus Symantec Sharp Casio Panasonic Mitsubishi Hitachi 3COM ... http://www.gwu.edu/~aisoc/co mpany.html
E amanhã???? Com a computação ubíqua/pervarsiva Serviços sensíveis ao contexto e ao local Serviços personalizados Interfaces amigáveis (tradutores, linguagem natural,...) Mineração de dados ...
Bibliografia Capítulo 1 e começo do capítulo 2 do AIMA Artigos de fundadores A. Turing. Computing Machinery and Intellgence. Mind, 59, pp. 433-60, 1950 A. Newell and H. Simon. Computer science as empirical inquiry: Symbols and search. Communications of the ACM, 19(3):113--126, Mar. 1976 John McCarthy. What is Artificial Intelligence? http://www-formal.stanford.edu/jmc/whatisai/whatisai.html Textos informais Geber Ramalho. Eita! Deep Blue ganhou, e agora? Jornal do Comércio, 26/05/1997. Recife. http://www.di.ufpe.br/~glr/Publications/deepblue.htm Geber Ramalho. Inteligência Artificial: ficção ou camarão? Jornal O Povo, 10/09/2001, Fortaleza. http://www.di.ufpe.br/~glr/Publications/ficcao-camarao.html