Inteligência Artificial Alex F. V. Machado 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 Áreas de Apoio para IA 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 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? Previsão • Como prever o valor do dólar (ou o clima) amanhã? • Que dados são relevantes? Há comportamentos recorrentes? 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 da água em relação 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.) 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 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 Algum problema? desempenho por humanos Problema Algoritmo X Abstrações de IA + P(A|B) 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. 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 • Intencionalidade: x Objeto • Sem objetivo próprio • Sem autonomia de decisão: – Encapsula objetivos próprios (mesmo que implicitamente) além de dados e métodos • Autonomia de decisão – 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