Módulo XII Inteligência artificial Profs: Dr. Alexandre Rosa dos Santos Dr. Geraldo Regis Mauri ENG05207 - Informática Introdução A IA é uma das ciências mais recentes. O trabalho começou logo após a Segunda Guerra Mundial, e o próprio nome foi cunhado em 1956. Seus principais idealizadores foram os cientistas Marvin Minsky, Herbert Simon, Allen Newell, John MacCarthy, Warren MuCulloch e Walter Pitts, entre outros. A construção de máquinas inteligentes fascina a humanidade desde tempos imemoriais. Apenas recentemente, com o surgimento do computador moderno, é que a inteligência artificial ganhou meios e massa crítica para se estabelecer como ciência integral. ...Introdução Seu desenvolvimento tem extrapolado os clássicos programas de xadrez ou de conversão e envolvido áreas como visão computacional, análise e síntese da voz, lógica difusa, redes neurais artificiais e muitas outras. Inicialmente a IA visava reproduzir o pensamento humano. A Inteligência Artificial abraçou a idéia de reproduzir faculdades humanas como criatividade, auto- aperfeiçoamento e uso da linguagem. Porém, o conceito de inteligência artificial é bastante difícil de se definir. Visão geral A questão sobre o que é inteligência artificial, mesmo como definida anteriormente, pode ser separada em duas partes: "qual a natureza do artificial" e "o que é inteligência". A primeira questão é de resolução relativamente fácil, apontando no entanto, para a questão de o que poderá o homem construir. A segunda questão é consideravelmente mais difícil, levantando a questão da consciência, identidade e mente (incluindo a mente inconsciente) juntamente com a questão de que componentes estão envolvidos no único tipo de inteligência que universalmente se aceita como estando ao alcance do nosso estudo: a inteligência do ser humano. O estudo de animais e de sistemas artificiais que não são modelos triviais começa a ser considerados como matéria de estudo na área da inteligência. Aplicações: Planejamento autônomo A uma centena de milhões de quilômetros da Terra, o programa Remote Agent da NASA se tornou o primeiro programa de planejamento autônomo de bordo a controlar o escalonamento de operações de uma nave espacial. O Remote Agent gerou planos de metas de alto nível especificadas a partir do solo e monitorou a operação da nave espacial à medida que os planos eram executados – efetuando a detecção, o diagnóstico e a recuperação de problemas conforme eles ocorriam. Aplicações: Jogos O Deep Blue da IBM se tornou o primeiro programa de computador a derrotar o campeão mundial em uma partida de xadrez, ao vencer Garry Kasparov por um placar de 3,5 a 2,5 em uma partida de exibição. Kasparov disse que sentiu “uma nova espécie de inteligência” do outro lado do tabuleiro. O valor das ações da IBM teve um aumento de 18 bilhões de dólares. Aplicações: Controle autônomo O sistema de visão de computador ALVINN foi treinado para dirigir um automóvel, mantendo-o na pista. Ele foi colocado na minivan controlada por computador NAVLAB da CMU e foi utilizado para percorrer os Estados Unidos – ao longo de quase 4.600 Km o ALVINN manteve o controle da direção do veículo durante 98% do tempo. Um ser humano assumiu o comando nos outros 2%, principalmente na saída de declives. A NAVLAB tem câmeras e vídeo que transmitem imagens da estrada para ALVINN, que então calcula a melhor forma de guiar, baseado na experiência obtida em sessões de treinamento anteriores. Aplicações: Planejamento logístico Durante a crise do Golfo Pérsico em 1991, as forças armadas dos Estados Unidos distribuíram uma ferramenta denominada DART, a fim de realizar o planejamento logístico automatizado e a programação de execução do transporte. 50.000 veículos, transporte de carga aérea e de pessoal ao mesmo tempo Pontos de partida, destinos, rotas e resolução de conflitos entre todos os parâmetros. Permitiu a geração em algumas horas de um plano que exigiria semanas com outros métodos. A Defense Advanced Research Project Agency (DARPA) declarou que essa única aplicação compensou com folga os 30 anos de investimentos da DARPA em IA. Outras aplicações Chinook foi declarado o campeão Homem-Máquina em Damas em 1994. Lógica incerta, uma técnica para raciocinar dentro de incertezas, tem sido amplamento usada em sistemas de controles industriais. Sistemas especialistas vêm sendo usados a uma certa escala industrial. Sistemas tradutores, tais como SYSTRAN, têm sido largamente usados (no entanto, os resultados não são ainda comparáveis com tradutores humanos). Redes Neurais vêm sendo usadas em uma larga variedade de tarefas, de sistemas de detecção de intrusos a jogos de computadores. ...Outras aplicações Sistemas de reconhecimento óptico de caracteres (OCR) podem traduzir letra escrita de forma arbitrária em texto. Reconhecimento de escrita a mão é usada em milhões de Assistentes Pessoais Digitais. Reconhecimento de voz está disponível comercialmente e é amplamente usado. Sistemas de álgebra computacional, tais como Mathematica e Macsyma, são bons exemplos de aplicações de IA na solução de problemas algébricos. Sistemas com Visão computacional são usados em muitas aplicações industriais. ...Outras aplicações Aplicações utilizando Vida Artificial são utilizados na indústria de entretenimento e no desenvolvimento da Computação Gráfica. Sistemas baseados na idéia de agentes artificiais, denominados Sistemas Multiagentes, têm se tornado comuns para a resolução de problemas complexos. Chatter bots (robôs de software para conversação), personagens virtuais que conversam em linguagem natural como se fossem humanos de verdade, são cada vez mais comuns na internet. Redes neurais Uma rede neural pode ser vista como um modelo matemático simplificado do funcionamento do cérebro humano. Este consiste de um número muito grande de unidades elementares de processamento, ou neurônios, que recebem e enviam estímulos elétricos uns aos outros, formando uma rede altamente interconectada. No processamento, são compostos os estímulos recebidos conforme a intensidade de cada ligação, produzindo um único estímulo de saída. Sistemas especialistas Um sistema convencional é baseado em um algoritmo, emite um resultado final correto e processa um volume de dados de maneira repetitiva enquanto que um Sistema Especialista é baseado em uma busca heurística e trabalha com problemas para os quais não existe uma solução convencional organizada de forma algorítmica disponível ou é muito demorada. Os sistemas especialistas agem ou comportam-se como um ser humano em um campo ou área. Os sistemas especialistas computadorizados têm sido desenvolvidos para diagnosticar problemas, prever eventos futuros e auxiliar no projeto de novos produtos e sistemas. ...Sistemas especialistas Definições: Sistema – “Conjunto de elementos, materiais ou idéias, entre os quais se possa encontrar ou definir alguma relação”. Especialista – “Pessoa que se consagra com particular interesse e cuidado a certo estudo. Conhecedor, perito”. Algumas definições sobre sistemas especialistas: Sistemas Especialistas são sistemas que solucionam problemas que são resolvíveis apenas por pessoas especialistas (que acumularam conhecimento exigido) na resolução destes problemas. ...Sistemas especialistas Um Sistema especialista é uma classe de programa de computador desenvolvido por pesquisadores de Inteligência artificial durante os anos 70 (1970) e aplicado comercialmente durante os anos 80 (1980). Em síntese, são programas constituídos por uma série de regras que analisam informações (normalmente fornecidas pelo usuário do sistema) sobre uma classe específica de problema (ou domínio de problema). Programas de computador que tentam resolver problemas que os seres humanos resolveriam emulando o raciocínio de um especialista, aplicando conhecimentos específicos e inferências são ditos Sistemas Especialistas. ...Sistemas especialistas Tipos de problemas especialistas solucionados por sistemas Tipicamente, os problemas que podem ser solucionados por um sistema especialista são do tipo que seria atendido por um especialista humano - um médico ou outro profissional (na maioria dos casos). Sistemas simples utilizam uma lógica verdadeiro/falso simples para analisar os dados. Por outro lado, sistemas mais sofisticados são capazes de realizar pelo menos alguma avaliação levando em consideração incertezas do mundo real, utilizando métodos como lógica fuzzy. Tal sofisticação é de desenvolvimento difícil e ainda extremamente imperfeita. SE’s de cuidados específicos Acorn: auxilia no atendimento de pacientes com esquemia cardíaca. É baseado em sistemas Baesyanos e utilizado pelas enfermeiras-chefe no auxílio da administração destes pacientes. POEMS (Post Operative Expert Medical Sistems): sistemas de suporte de decisão para tratamento pós-operatório. Auxilia no monitoramento dos aparelhos. SETH: é um sistema especialista usado para ajudar em exames de toxologia clínica. VIE-PNN: sistema especialista de representação do conhecimento clínico e teórico sobre a composição da nutrição dos pais para recém-nascidos que são tratados na incubadora. NeoGanesh: usado para monitorar a respiração dos pacientes internados em UTI’s. Interpreta dados em tempo real. Desenvolve uma estratégia terapêutica para reeducar gradualmente os músculos respiratórios do paciente. SE’s laboratoriais GermWatcher: procura por infecções hospitalares, monitorando dados de uma cultura microbiológica do sistema do laboratório do hospital. Hepaxpert: este sistema faz a interpretação automática de testes para hepatite A e B Interpretação de distúrbios ácido-básicos: como o próprio nome já diz, responsável por interpretar dados para distúrbios ácido-básicos PEIRS (Pathology Expert Interpretative Reporting): interpreta relatórios com 95% de acertos. Estes relatórios podem ser: testes de função da tireóide, gases arteriais sangüíneos, testes de tolerância de glicose, etc. PUFF: são sistemas para interpretação automática de funções pulmonares Coulter Facility: funciona como um consultor e também como ferramenta educacional no laboratório de hematologia. SE’s de suporte à decisão SEC: O Projeto SEC foi concebido junto com a Fundação Bahiana de Cardiologia - FBC, com objetivo de apoiar o médico, não cardiologista, no diagnóstico de eventos agudos da cardiopatia isquêmica. Seus usuários serão, portanto, médicos não especialistas em cardiologia em unidades periféricas urbanas de atendimento, de natureza primária da rede pública de saúde. O SEC poderá, ainda, ser utilizado por estudantes de medicina para fins de aprendizado, sem no entanto ter as características de um tutorial. Dxplain: auxilia no diagnóstico, tomando um conjunto de descobertas clínicas, como sinais, sintomas e dados laboratoriais HELP: suporta aplicações de rotina de um sistema de informação de um hospital e também provê função de suporte à decisão MEDAS: sistema de suporte de decisão para emergências médicas. Segue avaliação sobre seu desempenho. Outros SE’s Educacional: Cancer, Me??: dá conselhos individuais sobre como reduzir os riscos de câncer. Garantia de Qualidade e administração: ADE Monitor (Adverse Drug Event Monitor): auxilia farmacêuticos com monitoramento de dados clínicos do paciente para ocorrência de drogas adversas. Imagem médica: PHOENIX: auxilia na escolha dos melhores procedimentos radiológicos Sistema para eletromiografia: ESPRIT P599: Desenvolvido a partir de um assistente especialista para eletromiografia (EMG). O assistente (sistema de suporte à decisão) deveria ser capaz de dar sugestões de diagnóstico e também para tratamento. ...Outros SE’s Sistema Especialista Aplicado à Recomendação de Adubação e Calagem nas Principais Culturas do Estado de São Paulo O Sistema Especialista para Recomendação de Adubação e Calagem para as principais culturas do Estado de São Paulo tem a função de à partir de dados obtidos através da análise de solo de um determinado terreno (P, K, T e V) e de uma dada cultura, auxiliar profissionais da área de Agronomia darem um diagnóstico sobre a adubação e calagem para este terreno. ...Outros SE’s TOMEX-UFV: Um sistema especialista para diagnose de doenças do tomateiro O TOMEX-UFV é um sistema especialista (SE) construído a partir da organização do conhecimento de especialistas na diagnose de doenças do tomateiro. O SE objetiva dar apoio a técnicos da extensão na tomada de decisão, e auxiliar docentes e pesquisadores, como ferramenta educativa. ...Outros SE’s Sistema Especialista Chave para a Ordem de Insetos – SECHORIN São aplicadas técnicas de desenvolvimento de sistemas especialistas para transformar a chave para ordem dos insetos em uma base de conhecimento. ...Outros SE’s Sistema de diagnóstico de deficiências e nematóides Um sistema especialista (SE) foi construído para diagnóstico de doenças, deficiências, pragas e nematóides do cafeeiro, com objetivo de adquirir e organizar conhecimento, dar suporte a extensionistas na tomada de decisões e auxiliar no ensino de graduação. Para construção da base de conhecimento, foram consultados três especialistas em fitopatologia, um em entomologia e outro em nutrição mineral. O sistema, denominado "Doctor Coffee", contém 229 regras, 182 fotos e abrange 13 doenças, 8 deficiências nutricionais, 9 pragas, 4 espécies de nematóides e 12 desordens fisiológicas e danos diversos. Algoritmos genéticos Os algoritmos Genéticos formam a parte da área dos Sistemas Inspirados na Natureza; simulando os processos naturais e aplicando-os à solução de problemas reais. São métodos generalizados de busca e otimização que simulam os processos naturais de evolução, aplicando a idéia darwiniana de seleção. De acordo com a aptidão e a combinação com outros operadores genéticos, são produzidos métodos de grande robustez e aplicabilidade. Estes algoritmos estão baseados nos processos genéticos dos organismos biológicos, codificando uma possível solução para um problema de "cromossomo" composto por cadeia de bits e caracteres. ...Algoritmos genéticos Estes cromossomos representam indivíduos que são levados ao longo de várias gerações, na forma similar aos problemas naturais, evoluindo de acordo com os princípios de seleção natural e sobrevivência dos mais aptos, descritos pela primeira vez por Charles Darwin em seu livro "Origem das Espécies". Emulando estes processos, os Algoritmos Genéticos são capazes de "evoluir" soluções de problemas do mundo real. Aplicações de AG’s Multiprocessor Scheduling: A aplicação de AG's no problema de associação ótima de processos e processadores. Objetivo e diminuir o custo que deriva da comunicação entre processos em um ordenador paralelo de memória distribuída. Multiprocessor Scheduling podem ser relacionados com problemas de robótica. Biologia Molecular e Físicoquímica: Existe uma hipótese de trabalho que sustentaria a utilização de técnicas baseadas em populações devido a estrutura da função objetivo. Em problemas relacionados com estrutura molecular existem experimentos que dão indícios claros sobre a validez dessa hipótese. Assim é fácil observar que são cada vez mais numerosas as aplicações de AG's neste campo. Aplicações de AG’s Busca em Base de Dados Geofísica: Para o problema chamado de Seismic Waveform Inversion, geralmente se utiliza a estatística Bayesiana na qual se combina a informação que "a priori" sobre o modelo, com os dados obtidos. Surgem assim funções que requerem métodos de otimização global. Outro aplicação nessa área é no problema de Inversion for seismic anisotropy. Redes Neurais: Alguns autores tem buscado encontrar uma relação entre Redes Neurais e AG´s . De alguma maneira eles tem tentado correlacionado com a aprendizagem em Redes Neurais eles tem estudado problemas de otimização relacionados com a busca de funções lineares discriminantes em problemas de classificação. Aplicações de AG’s Compressão de Dados: A compressão de dados em geral, e a compressão de imagens sólidas em particular. Esta aplicação consiste em encontrar um método que utiliza os AG's para encontrar um sistema de funções locais iteradas (LIFS) para a codificação de imagens. Produzindo como resultado final uma imagem com qualidade similar a utilização do método convencional de compressão fractal, com um tempo 30% menor. Engenharia em Construções: Os AG's tem ganhado aceitação em um grande número de problemas de engenharia. Uma aplicação é na otimização discreta de estruturas. Outros sistemas adaptativos Controle de Sistemas Dinâmicos; Indução e Otimização de Bases de Regras; Encontrar Novas Topologias Conexionistas: Engenharia de Sistemas Neurais Artificiais, Modelagem de Estruturas Neurais Biológicas; Simulação de Modelos Biológicos; Evolução Interativa de Imagens; Composição Musical.