Prof. Dr. Cairo L. Nascimento Jr. Brasília, ABIN, 24/Out/2007 Aplicações de Inteligência Computacional em Sistemas de Informação Prof. Dr. Cairo L. Nascimento Jr. Prof. Dr. Waldecir J. Perrella Divisão de Engenharia Eletrônica Instituto Tecnológico de Aeronáutica (ITA)
Definição de Inteligência Técnicas de IA Definição de Inteligência Comportamento Inteligente: Importante para Competição (Seleção Natural), Adaptação (mudanças no meio-ambiente), Reconhecimento de Padrões (visão, fala, diagnóstico de falhas/doenças, aplicações financeiras), Planejamento (Modelos, Otimização) e Auxílio a Tomada de Decisões, Cooperação e Comunicação com outros indivíduos.
Técnicas de IA conhecimento intencional (regras) Redes Neurais Artificiais Bayesianas Algoritmos Genéticos Sistemas Fuzzy Sistemas de Aprendizagem Simbólica Indutiva conhecimento intencional (regras) conhecimento extensional (exemplos) simbólico numérico Baseados em Casos Baseados em Regras
Sistemas Baseados em Regras Técnicas de IA Sistemas Baseados em Regras Documentação do conhecimento dos Experts Humanos. Uniformalização da Base de Conhecimento. Importante para validar o desempenho do Expert Humano. Conhecimento nem sempre é explicíto. Aumento da dificuldade para o Expert Humano codificar o seu conhecimento com o número de variáveis de entrada.
Sistemas Baseados em Regras Técnicas de IA Sistemas Baseados em Regras Regras Entradas Motor de Inferência Resposta
Sistemas Baseados em Regras: Árvore de Decisão Técnicas de IA Sistemas Baseados em Regras: Árvore de Decisão
Técnicas de IA Lógica Convencional x Lógica Fuzzy Ex.: Dias do fim-de-semana
Técnicas de IA Lógica Convencional x Lógica Fuzzy Funções de Pertinência ABRUPTA (Lógica Convencional) SUAVE (Lógica Fuzzy)
Técnicas de IA Controlador Fuzzy
Técnicas de IA Controlador Fuzzy
Técnicas de IA Controlador Fuzzy
Aplicação: Programa HARPIA TREE O Harpia Tree é um conjunto de programas escritos na linguagem Java que faz parte do Projeto Harpia, e que tem como função ser uma ferramenta para auxiliar os técnicos da SRF do Brasil no processo aduaneiro e na malha do imposto de renda. O Harpia Tree é uma ferramenta que auxiliará os técnicos da SRF do Brasil no processo de codificação e processamento do conhecimento, criando regras que permitiram avaliar o risco associado a cada ação fiscal. As regras podem ser escritas em lógica convencional (fronteiras abruptas) ou em lógica fuzzy (fronteiras suaves) possibilitando assim classificar melhor o nível de risco.
Programa HARPIA TREE Modo GRÁFICO Modo TEXTO
Algoritmo A-estrela: Aplicações Técnicas de IA Algoritmo A-estrela: Aplicações
Algoritmo A-estrela: Aplicações Técnicas de IA Algoritmo A-estrela: Aplicações Solução encontrada: 29 movimentos, 1213 nós expandidos, cerca de 31 s.
Algoritmo A-estrela: Aplicações Técnicas de IA Algoritmo A-estrela: Aplicações Solução encontrada: 14 movimentos, 1319 nós expandidos, cerca de 1 m.
Algoritmo A-estrela: Ambiente dinâmico Técnicas de IA Algoritmo A-estrela: Ambiente dinâmico
Aplicação: Projeto ROMEO 23/8/2006 Aplicação: Projeto ROMEO Objetivos: analisar problemas e desenvolver soluções relacionados à navegação de robôs, aplicar estas soluções em um ambiente real através do projeto, construção e testes de plataformas móveis. ROMEO III.v2 ROMEO I ROMEO II ROMEO III 18
Aplicação: Projeto ROMEO 23/8/2006 Aplicação: Projeto ROMEO Mapeamento do ambiente estático usando sonares Planejamento de trajetória usando o algoritmo A-estrela 19
Técnicas de IA Algoritmo Min-Max: Planejamento considerando possíveis ações do adversário
Como uma “máquina” pode aprender? Técnicas de IA Como uma “máquina” pode aprender? Tipos Gerais de Aprendizado/Supervisão: Supervisão Muito Forte: o supervisor insere os parâmetros (ou as regras) no modelo, aprendizado “instantâneo”. Supervisão Forte: o supervisor fornece exemplos de entrada-saída (pares x,y), aprendizado “supervisionado”. Supervisão Fraca: o supervisor classifica apenas os casos típicos, aprendizado “não-supervisionado”. Supervisão Muito Fraca: o supervisor classifica como SUCESSO ou FALHA um conjunto de ações sucessivas, aprendizado por reforço.
Técnicas de IA Supervisão Forte: Aprendizado usando exemplos: supervisor seleciona pares [Xreal,Yreal]. Xreal e Yreal possivelmente são amostras ruidosas. Mapeamento entrada-saída é amostrado e aproximado pelo modelo. Idéia central: ajustar os parâmetros do modelo para diminuir o erro de aproximação para cada par [Xreal,Yreal] fornecido pelo supervisor.
Técnicas de IA Supervisão Forte: Redes Neurais tipo feedforward Algoritmo Back-Propagation
Aplicação: Reconhecimento de Caracteres com ruído
Aplicação: Reconhecimento de Caracteres com ruído Antes e depois do treinamento
Aplicação: Reconhecimento de Caracteres com ruído Teste estatístico
Técnicas de IA Supervisão Fraca: Supervisor seleciona dados de entrada Xreal, É modificado apenas o peso W mais próximo de Xreal, Aprendizado dos possíveis agrupamentos de X.
Técnicas de IA Supervisão Fraca: Supervisor fornece saída Yreal apenas para entrada X “típico”, Os vetores X próximos de X “típico” recebem a mesma saída Yreal de X “típico”.
Técnicas de IA Supervisão Fraca: Conceito de Vizinhança: o peso W vencedor e os seus “vizinhos” topográficos são alterados.
Aplicação: Reconhecimento de Caracteres com ruído Antes e depois do treinamento
Aplicação: Reconhecimento de Caracteres com ruído Teste estatístico
Técnicas de IA Supervisão Muito Fraca: Aprendizado por Reforço “Learn by doing it…” Baseado na interação do agente com o seu ambiente. O supervisor fornece uma avaliação do resultado de uma seqüência de ações (p. ex., SUCESSO ou FRACASSO) chamado de sinal de reforço r(t). Reforço r(t) Ação a(t) Agente Supervisor Estado x(t) Ambiente
Técnicas de IA Supervisão Muito Fraca: Aprendizado por Reforço Problema: como escolher a seqüência de ações de forma a otimizar uma certa função de desempenho, p. ex., maximizar a média do sinal de reforço. Dificuldade: Como distribuir a responsabilidade pelo resultado obtido para cada ação tomada?
Técnicas de IA Supervisão Muito Fraca: Aprendizado por Reforço Idéia central: para cada estado manter uma tabela de possíveis ações com as suas estimativas de probabilidade de conduzir ao SUCESSO P(x(t),a(t)). Para o estado atual, selecionar aleatoriamente uma ação de acordo com a tabela de estimativa de probabilidade de SUCESSO. Aplicar tal ação no ambiente e obter o próximo estado x(t+1). Repetir o passo anterior até que um estado terminal seja alcançado. Obter o sinal de reforço para esta seqüência de ações r(t+N). Se o sinal de reforço for POSITIVO: aumentar as estimativas de probablidades das ações tomadas em cada estado. Se o sinal de reforço for NEGATIVO: diminuir as estimativas de probablidades das ações tomadas em cada estado.
Aplicação: Navegação em ambiente desconhecido Antes e depois do treinamento
Conclusões Tecnologia de ponta, interesse mundial. Soluções para aplicações extremamente práticas. Alguns exemplos de pesquisas em aplicações práticas feitas no ITA: classificação de empresas de telecomunicações, classificação de sinais eletrocardiográficos, temporarização de semafóros de tráfego urbano, otimização de sequências de montagens, previsão de preços de produtos, detecção de fraudes. Grandes benefícios para o governo e para a indústria nacional.
Conclusões Estamos rapidamente aumentando o nível de inteligência das nossas máquinas. Soluções inspiradas na natureza: é melhor encontrar rapidamente soluções boas do que demorar muito mais para encontrar soluções ótimas. Área altamente multi-disciplinar e desafiadora. Muitas oportunidades para pesquisa teórica e aplicada.
Para mais detalhes Livro “Inteligência Artificial em Controle e Automação”, 2000 (re-impressões em 2002 e 2004) de Cairo L. Nascimento Jr. e Takashi Yoneyama, Ed. Edgard Blücher e FAPESP. Web site do livro: http://www.ele.ita.br/ia_contaut/
Muito obrigado pela sua atenção!! Cairo (cairo@ita.br) Perguntas??