Inteligência Artificial Alex F. V. Machado O que é Inteligência Artificial? „ Tecnologia de Processamento da Informação que envolve processos de raciocínio, aprendizado e percepção. Winston „ Ramo da Informática que tenta simular comportamentos humanos inteligentes. Luger e Stubble Áreas de Apoio para IA 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 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 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.? 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.) 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 desempenho por humanos Algum problema? 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 Ambiente Atuadores Interpretação das percepções: I = f(P) P Raciocínio A 1. Percepções ambientais 2. Percepções comunicativas Objetivos Escolha das ações: A = g(I,O) 1. 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