Módulo 6: Inteligência Artificial Assuntos: 6.1. Aplicações da IA 6.2. Sistemas Especialistas 6.1. Aplicações da Inteligência Artificial As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas e técnicas de inteligência artificial. A Inteligência Artificial (IA) inclui: Linguagens naturais Robôs industriais Sistemas especialistas Agentes inteligentes Uma Visão Geral da Inteligência Artificial Inteligência artificial (IA) é uma ciência e tecnologia baseada em disciplinas como informática, biologia, psicologia, lingüística, matemática e engenharia. O objetivo da IA é desenvolver computadores que consigam pensar, bem como ver, ouvir, andar, falar e sentir. Um dos ímpetos principais da IA é o desenvolvimento de funções computacionais normalmente associadas à inteligência humana, tais como raciocinar, aprender e solucionar problemas. As aplicações da IA podem ser agrupadas em três áreas principais: Robótica: - IA, engenharia e fisiologia são as disciplinas básicas da robótica. Esta tecnologia produz máquinas-robôs com faculdades físicas semelhantes às humanas, inteligência de computador e controle por computador. Ciência Cognitiva – Esta área da IA é baseada em pesquisas em biologia, neurologia, psicologia, matemática e muitas disciplinas afins. Ela se concentra em pesquisar como o cérebro humano funciona e como os seres humanos pensam e aprendem. Os resultados dessas pesquisas em processamento humano de informações são a base para o desenvolvimento de uma diversidade de aplicações de IA computadorizadas. Interface Natural - O desenvolvimento de interfaces naturais é essencial ao uso natural de computadores por seres humanos. Seu desenvolvimento e reconhecimento do discurso, por exemplo, são importantes objetivos desta área. Ser capaz de conversar com computadores e robôs em linguagens humanas de conversação e conseguir que eles nos “compreendam” é uma meta da pesquisa da IA. Esta área de aplicação envolve pesquisa e desenvolvimento em lingüística, psicologia, informática e outras disciplinas. 6.1.1. Aplicações em Robótica As aplicações da robótica incluem: 1. Percepção visual (visão) 2. Faculdades táteis (tato) 3. Destreza (habilidade no manuseio e manipulação) 4. Locomoção (capacidade para se mover sobre qualquer terreno) 5. Condução (encontrar adequadamente seu caminho até um ponto de destino) 6.1.2. Aplicações em Ciência Cognitiva As aplicações da IA na área da ciência cognitiva incluem: Redes Neurais O software pode aprender processando exemplos de problemas e suas soluções. À medida que as redes neurais começam a reconhecer padrões, elas podem começar a se programar para resolver esses problemas por si mesmas. São sistemas de computação modelados segundo a rede em forma de malha do cérebro de elementos de processamento interconectados chamados neurônios. Entretanto, como o cérebro, essas redes podem processar muitos fragmentos de informações simultaneamente e podem aprender a reconhecer modelos e se programar para resolver problemas por iniciativa própria. As redes neurais podem ser implementadas em microcomputadores e outros sistemas de computação mediante o uso de pacotes de software que simulam as atividades de uma rede neural de muitos elementos de processamento. Dispõem-se também de placas de circuitos coprocessadores de redes neurais especializadas. Os usos incluem: Sistemas de armamentos militares Verificação de assinaturas em cheques Controle de qualidade na fabricação Processamento de imagens Avaliação de riscos no crédito Previsão de investimentos Data mining Sistemas de Lógica Difusa Sistemas computadorizados que podem processar dados incompletos ou apenas parcialmente corretos. Esses sistemas podem resolver problemas não estruturados com conhecimento incompleto mediante o desenvolvimento de respostas aproximadas. É um método de raciocínio que se assemelha ao raciocínio humano já que ele dá margem para valores aproximados (lógica difusa) e dados incompletos ou ambíguos (dados difusos) em lugar de recorrer apenas a dados claros, tais como os das escolhas binárias (sim/não). Exemplos de aplicações de lógica difusa incluem: Movimentação de trens de metrô e de elevadores Movimentação de carros que são guiados ou apoiados por controladores de processos difusos Exemplos de produtos de fabricação japonesa que utilizam microprocessadores de lógica difusa são: câmeras com foco automático, aparelhos de ar condicionado com uso eficiente de energia, máquinas de lavar com ajustes automáticos e transmissões automáticas para autos. Algoritmo Genético O software utiliza a randomização darwiniana (sobrevivência do mais apto) e outras funções matemáticas para simular processos evolutivos que podem gerar soluções cada vez melhores para os problemas. Os algoritmos genéticos são particularmente úteis para situações nas quais milhares de soluções são possíveis e precisam ser avaliadas para produzir uma solução ótima. O software de algoritmo genético utiliza conjuntos de regras de processo matemático (algoritmos) que especificam como as combinações de componentes ou etapas de processos devem ser formadas. Isso pode envolver: Experimentar combinações aleatórias de processos (mutação) Combinar partes de diversos processos eficazes (encruzilhada) Selecionar conjuntos eficazes de processos e descartar conjuntos deficientes (seleção) Sistemas de Aprendizagem Adaptativa Um SI que pode modificar seu comportamento com base em informações adquiridas enquanto opera. Sistemas Baseados no Conhecimento Um SI que adiciona uma base de conhecimento e algumas faculdades de raciocínio ao banco de dados e a outros componentes encontrados em outros tipos de SI computadorizados. Agentes Inteligentes Utilizam sistema especialista e outras tecnologias de IA para atuarem como substitutos de software para uma diversidade de aplicações dos usuários finais. Um agente inteligente é um software substituto para um usuário final ou um processo que preenche uma necessidade ou atividade declaradas. Um agente inteligente utiliza uma base de conhecimento embutida e aprendida sobre uma pessoa ou processo para tomar decisões e executar tarefas de um modo que satisfaça as intenções do usuário. Um dos mais conhecidos usos de agentes inteligentes são os Assistentes encontrados no Microsoft Word, Excel, Access e PowerPoint. Espera-se que o uso dos agentes inteligentes cresça rapidamente como uma maneira de os usuários: Simplificar a utilização de softwares. Acessar recursos de rede. Exibir e recuperar informações. 6.1.3. Interfaces Naturais c) Aplicações em Interfaces Naturais Linguagem Natural Uma linguagem de programação que é muito próxima da linguagem humana. Além disso, é chamada de linguagem de alto nível. Interfaces Multi-sensoriais A capacidade que os sistemas de computadores possuem para reconhecer uma diversidade de movimentos do corpo humano que lhes permite operar. Reconhecimento de voz A capacidade que um sistema de computador possui para reconhecer modelos de voz e para operar utilizando esses modelos. Realidade Virtual É a realidade simulada por computador. A VR é a utilização de interfaces homem-computador multi-sensoriais que permitem aos usuários humanos experimentarem objetos, entidades, espaços e “mundos” simulados por computador como se estes realmente existissem (também chamada de ciberespaço ou realidade virtual). Aplicações da VR Projeto assistido por computador Diagnóstico e tratamento médico Experimentos científicos em diversas ciências físicas e biológicas Simulação de vôo para treinamento de pilotos e astronautas Demonstrações de produtos Treinamento de funcionários Entretenimento (vídeo games em 3D) Limitações da VR O uso da realidade virtual parece limitado apenas pelo desempenho e custo de sua tecnologia. Alguns usuários, por exemplo, desenvolvem: Ciberenjôo – tensão ocular, náusea por movimento, problemas de desempenho O custo da VR é muito dispendioso 6.2. Sistemas Especialistas Um SI computadorizado que utiliza seu conhecimento sobre uma área de aplicação específica e complexa para atuar como um consultor especializado para os usuários. O sistema consiste em uma base de conhecimento e módulos de software que executam inferências no conhecimento e transmitem respostas para as perguntas de um usuário. Uma das aplicações mais práticas e amplamente implementadas da inteligência artificial nas empresas é o desenvolvimento de sistemas especialistas e outros sistemas de informação baseados no conhecimento. Eles devem ser capazes de explicar a um usuário o seu processo de raciocínio e conclusões. 6.2.1. Componentes dos Sistemas Especialistas Os componentes inter-relacionados de um sistema especialista incluem: Base de Conhecimento: - a base de conhecimento de um sistema especialista contém: 1. Fatos sobre uma área temática específica 2. Heurística (princípios úteis) que expressa os procedimentos de raciocínio de um agente em relação ao assunto. Recursos de Software: - Um pacote de software de SE contém: 1. Um utilitário de inferência que processa o conhecimento relacionado a um problema específico. 2. Um programa de interface com o usuário que se comunica com os usuários finais. 3. Programa de explicação para explicar ao usuário o processo de raciocínio. 4. Ferramentas de software para o desenvolvimento de sistemas especialistas que incluem programas de aquisição de conhecimento e shells (ou sub-programas) do sistema especialista. Recursos de Hardware: - Entre eles: 1. Sistemas dedicados de microcomputadores 2. Estações de trabalho e terminais de microcomputadores conectados a minicomputadores ou computadores centrais em uma rede de telecomunicações. 3. Computadores com objetivos especiais. 1. 2. Recursos de Pessoal: - Os recursos de pessoal incluem: Engenheiros do conhecimento Usuários finais 6.2.3. Aplicações dos Sistemas Especialistas É explorada a solução para um problema, com o sistema especialista atuando como um consultor. O sistema especialista faz perguntas ao usuário, consulta sua base de conhecimento em busca de fatos e regras ou outro conhecimento. O sistema especialista explica seu processo de raciocínio quando perguntado. O sistema especialista dá conselho especializado ao usuário na área temática que está sendo explorada. Exemplos incluem: administração de crédito, atendimento ao cliente e administração da produtividade. Os sistemas especialistas normalmente atendem a um ou mais usos genéricos. As seis atividades incluem: Gerenciamento de Decisões Diagnóstico de Problemas de Operação Manutenção/Programação Desenho/Configuração Seleção/Classificação Monitoração/Controle de Processo 6.2.4. Benefícios dos Sistemas Especialistas Captura o know-how de especialistas. Ele pode superar o desempenho de um especialista humano isolado em muitas situações problemáticas. É mais rápido e mais consistente do que um especialista humano Pode ter o conhecimento de vários especialistas Não se cansa ou se distrai por excesso de trabalho ou estresse. Está sempre disponível, ao passo que um especialista humano pode estar ausente, doente ou pode ter deixado a empresa. Pode ser utilizado para treinar os novatos. O uso eficaz dos sistemas especialistas pode permitir a uma empresa: a. Aumentar a eficiência de suas operações. b. Gerar novos produtos e serviços. c. Manter clientes e fornecedores com novas relações comerciais. d. Formar recursos estratégicos de informação baseados no conhecimento. 6.2.5. Limitações dos Sistemas Especialistas Foco limitado (problemas e domínios específicos). Incapacidade para aprender Problemas de manutenção dos sistemas especialistas Custo envolvido em seu desenvolvimento. 6.2.6. Desenvolvendo Sistemas Especialistas A maneira mais fácil de desenvolver um sistema especialista é utilizar uma shell de sistema especialista como ferramenta de desenvolvimento. Uma shell de sistema especialista é um pacote de software que consiste em um sistema especialista sem seu núcleo, ou seja, sua base de conhecimento. Isto deixa uma shell de software com capacidades genéricas para inferências e interface com o usuário. Outras ferramentas de desenvolvimento (tais como editores de regras e geradores de interface com o usuário) são adicionadas para tornar a shell uma poderosa ferramenta de desenvolvimento do sistema. Engenharia do Conhecimento Um engenheiro do conhecimento é um profissional que trabalha com especialistas para capturar o conhecimento (fatos e princípios úteis) que estes possuem. O engenheiro do conhecimento monta então a base de conhecimento utilizando um processo de repetição e prototipação até que o sistema especialista seja aceitável. Dessa forma, os engenheiros do conhecimento desempenham um papel semelhante ao dos analistas de sistemas no desenvolvimento dos SI convencionais. É óbvio que os engenheiros do conhecimento devem ser capazes de entender e trabalhar com especialistas em muitas áreas temáticas. Portanto, este know-how dos SI exige boa prática, bem como um conhecimento em SI e IA. 6.2.7. O Valor dos Sistemas Especialistas Os sistemas especialistas não são a resposta para todos os problemas enfrentados por uma organização. Surge a pergunta “Quais os tipos de problemas mais adequados a soluções do sistema especialista?”. Maneiras de responder a esta pergunta incluem: Considerar os exemplos das aplicações de sistemas especialistas correntes, inclusive as tarefas genéricas que estes executam. Identificar critérios que tornam uma situação problemática adequada para um sistema especialista. Alguns desses importantes critérios incluem: domínio, know-how, complexidade, estrutura e disponibilidade. Domínio: O domínio, ou área temática, do problema é relativamente pequeno e limitado a uma área-problema bem definida. Know-how: As soluções para o problema exigem os esforços de um especialista. Ou seja, são necessários um corpo de conhecimento, técnicas e intuição que apenas poucas pessoas possuem. Complexidade: A solução do problema é uma tarefa complexa que exige processamento lógico de inferências, que não seria muito bem controlado pelo processamento convencional de informações. Estrutura: O processo de solução deve ser capaz de lidar com dados mal estruturados, imprecisos, deficientes e conflitantes e com uma situação-problema que muda com o correr do tempo. Disponibilidade: Existe um especialista que é articulado e cooperador e que tem o apoio da administração e usuários finais envolvidos no desenvolvimento do sistema proposto. Fim