Sistemas Especialistas

Inteligência Artificial

 

Sistemas Especialistas 

 

Rômulo C. de Melo

Elton da Silva Motta

Ney Marcelo B. Pellegrini

 

 

 

Resumo

 

         Os Sistemas Especialistas são programas computacionais que utilizam a Inteligência Artificial para solucionar problemas muito complexos que requerem os conhecimentos de especialistas humanos no domínio no quais eles serão implementados. Neste artigos iremos considerar suas principais características e componentes.

 

Palavras-Chave

 

Sistemas Especialistas, Shell’s, Inteligência Artificial, Conhecimento

 

 

Artificial Intelligence

 

Expert Systems

 

 

Summary

 

         The Expert Systems are computer programs that use Artificial Intelligence to solve very complex problems that need human experts knowledge in the domain area that they will be implemented. In this article we will consider their characteristics and components.

 

Keywords

 

Expert Systems, Shell’s, Artificial Intelligence, Experts, Knowledge

 

 

1. Introdução

 

A primeira menção ao termo “Inteligência artificial surgiu em 1956, em um encontro de pesquisadores no Dartmouth College em Vermont nos Estados Unidos. Este encontro foi realizado por John McCarthy, considerado o pai da Inteligência Artificial.

 

Existem várias definições acerca de o que Inteligência Artificial. Segundo [RICH, NIGHT], Inteligência Artificial é o estudo de como fazer os computadores realizarem coisas, no momento, as pessoas fazem melhor. As principais características presentes na IA (Inteligência Artificial) são, manipulação de símbolos ao invés de números, utilização de inferências e declarações a partir de informações disponíveis e aplicação do conhecimento ma resolução de problemas complexos.

 

            No princípio, a Inteligência Artificial era somente utilizada por poucos pesquisadores em seus laboratórios. Os grande responsáveis pela transição da Inteligência Artificial dos laboratórios, como uma ciência puramente acadêmica, para uma ciência comercialmente significativa,  foram os Sistemas Especialistas.

           

Atualmente a IA é subdividia em três ramos: o “Processamento da Linguagem Natural”, que estuda o desenvolvimento de programas que leiam, falem ou entendam a linguagem que as pessoas falam no diariamente; o “Desenvolvimento de Robôs Inteligentes”, para este ramo interessa como desenvolver programas visuais e táteis, que permitam aos robôs observar as continuas alterações que se sucedem em um ambiente e o último ramo e o de aplicação mais comercial, os “Sistemas Especialistas”, programas que usam o conhecimento simbólico para simular o comportamento dos especialistas humanos.

 

Neste artigo, iremos abordar os Sistemas Especialistas, uma ramo da Inteligência Artificial que descreve os sistemas computacionais que utilizam o conhecimento em um determinado domínio da aplicação para a resolução de problemas complexos.

 

 

2. Sistemas Especialistas

           

            Segundo Feigenbaum. [apud Harmon, 1988] um Sistema Especialista (SE) “ é um programa inteligente de computador  que usa conhecimentos e procedimentos inferenciais, para resolver problemas muito complexos, de forma a requererem para sua resolução muita perícia humana”. O conhecimento que os SE’s  necessitam para solucionarem esses problemas é emulado através de uma substancial base de conhecimentos domínio da aplicação (área de interesse específico no mundo real, na qual é requerido o conhecimento de um especialista humano para resolução de problemas), também são utilizados um ou mais mecanismos de raciocínio, para aplicar todo esse conhecimento armazenado aos problemas.

           

Para que um sistema seja considerado especialista, segundo Farreny(1985), alguns componentes são essenciais para sua caracterização, são eles:

 

·        Uma Linguagem de expressão dos conhecimentos fornecidos pelos especialistas

·        Uma Base de Conhecimentos, para armazenar o conhecimento específico de uma determinada aplicação, que pode ser diretamente fornecida por um especialista ou acumulado pelo sistema ao fim dos experimentos

·        Um Motor de Inferência, programa relativamente geral que explora que explora o conhecimento da base precedente, considerando-a como fonte como fonte de informações (Assim, suscetível a mudanças).

 

A tecnologia utilizada para o desenvolvimento dos Sistemas Especialistas é denominada Engenharia do Conhecimento. Nela o “Engenheiro do Conhecimento” , que é o responsável direto pelo desenvolvimento do sistema em um determinado domínio, deverá adquirir através de pesquisas e entrevistas com especialistas o máximo possível de conhecimento do domínio e traduzir essas informações para um formato que possa ser reconhecido pelo computador. Esta fase é denomina de “Aquisição de Conhecimento” .

 

2.1 Classificação dos Sistemas Especialistas

 

            O Grupo de Sistemas inteligentes (GSI)  do Departamento de Informática da Universidade de Maringá (UEM), apresentou uma classificação para os diversos tipos de sistemas especialistas. Abaixo segue uma classificação baseada na funcionalidade dos sistemas:

 

·        Interpretação - sistemas que inferem descrições de situações à partir da observação de fatos fazendo uma análise de dados e procurando determinar as relações e seus significados.

·        Diagnósticos - sistemas que detectam falhas oriundas da interpretação de dados.

·        Monitoramento - interpreta as observações de sinais sobre o comportamento monitorado.

·        Predição - a partir de uma modelagem de dados do passado e do presente, este sistema permite uma determinada previsão do futuro.

·        Planejamento - o sistema prepara um programa de iniciativas a serem tomadas para se atingir um determinado objetivo.

·        Projeto -  sistema capaz de justificar a alternativa tomada para o projeto final, e de fazer uso dessa justificativa para alternativas futuras.

·        Depuração - trata-se de sistemas que possuem mecanismos para fornecerem soluções para o mau funcionamento provocado por distorções de dados.

·        Reparo – o sistema desenvolve e executa planos para administrar os reparos verificados na etapa de diagnóstico.

·        Instrução - o sistema de instrução tem um mecanismos para verificar e corrigir o comportamento do aprendizado dos estudantes.

·        Controle - sistema que governa o comportamento geral de outros sistemas (não apenas de computação). É o mais completo, de um modo geral, pois deve interpretar os fatos de uma situação atual, verificando os dados passados e fazendo uma predição do futuro. Apresenta os diagnósticos de possíveis problemas, formulando um plano ótimo para sua correção. Este plano de correção é executado e monitorado para que o objetivo seja alcançado.

           

 

3. Representando o Conhecimento

 

O formato que o engenheiro do conhecimento utiliza para capturar o conhecimento é denominado Representação do Conhecimento. Existem várias técnicas de representação do conhecimento: lógica de predicados, baseada em casos, frames, reconhecimento de padrões, entre outras. Entretanto, a maneira mais amplamente utilizada de representar o conhecimento do domínio da aplicação nos Sistemas Especialistas é como um conjunto de regras de produção, que são simplesmente um conjunto de condições no estilo SE... ENTÃO..., com a possibilidade de inclusão de conectivos lógicos relacionando os atributos no escopo do conhecimento e o uso de probabilidades.

 

3.1 Representando o conhecimento através de regras de produção

            As principais vantagens de se utilizar a técnica baseada em regras de produção são:

·          Modularidade: cada regra, por si mesma, pode ser  considerada como uma peça de  conhecimento independente;

 

·          Facilidade de edição (uma conseqüência da modularidade): novas regras po­dem ser acrescentadas e antigas podem ser modificadas com relativa indepen­dência;

 

·          Transparência do sistema: garante maior legibilidade da base de conhecimentos.

 

Portanto, é preciso ter em mente que a modularidade de um sistema baseado nessa arquitetura permite a construção passo-a-passo da base de conhecimentos, ou seja, é possível realizar vários testes com apenas um subconjunto de regras concluído. Obviamente, sabe-se que menos regras implicam geralmente em um menor número de casos abrangidos.

3.1.1 Conhecimento procedural x conhecimento declarativo

 

                Quando uma pessoa tem conhecimento de algum fato, certamente ela poderá extrair tudo o que souber sobre aquele fato quando bem entender. Porém, na Inteligência Artificial, existe um problema a mais quanto ao uso do conhecimento.

 

            Supõe-se que o conhecimento por si só já é o suficiente para a resolução de problemas. Essa é a idéia por trás do conhecimento declarativo: não há preocupações quanto ao seu uso, somente quanto à sua posse e especificação, e ela já garantirá o alcance dos objetivos desejados.

 

            Porém, a realidade é bem mais problemática. Um computador não é capaz de decidir qual a próxima informação que ele utilizará para o desenvolvimento de uma atividade. Faltam às máquinas um modo menos metódico e linear de ação. É necessário que especifiquemos uma estratégia de uso do seu “saber”. No conhecimento procedimental as informações de controle necessárias ao uso do mesmo já estão embutidas no mesmo, para utilizar este tipo de conhecimento, devemos utilizar um interpretador que siga as instruções fornecidas no conhecimento.

 

4. Utilizando o conhecimento

 

            Para se utilizar o conhecimento, a máquina de inferência deve percorrer as diversas regras da base de conhecimentos. Existem dois modos de realizar essa busca: o encadeamento para frente à partir de estados iniciais e o encadeamento para trás à partir de estados-metas. Deve-se analisar com cuidado qual modo o modo que será utilizado no sistema, podendo-se, inclusive, combinar os dois métodos.

 

4.1 Encadeamento para trás

 

            O encadeamento para trás é o método de utilização do conhecimento mais utilizado nos Sistemas Especialistas. Nele, o projetista deve incluir na definição da base quais os atributos que devem ser encontrados (ou seja, os objetivos - goals - do sistema especialista). A máquina de inferência encarrega-se de encontrar uma atribuição para o atributo desejado nas conclusões das regras (após o ENTÃO...). Obviamente, para que a regra seja aprovada, suas premissas devem ser satisfeitas, obrigando à máquina a encontrar os atributos das premissas para que possam ser julgadas, acionando um encadeamento recursivo. Caso o atributo procurado não seja encontrado em nenhuma conclusão de regra, uma pergunta direta é feita ao usuário

           

5. Shell’s

 

            Com o passar dos tempos foi-se observado que os Sistemas Especialistas possuíam diversas características em comum, como o fato de serem construídos como um conjunto de representações declarativas combinadas com um interpretador, a máquina de inferência. Observou-se então que era possível separar o interpretador do conhecimento do conhecimento do domínio da aplicação, criando aplicações mais gerais para o Sistemas Especialistas.

               

                Shell’s são ferramentas computacionais que utilizam técnicas de Inteligência Artificial para geração automática de sistemas especialistas. Estas ferramentas utilizam um modelo de representação do conhecimento baseado em regras de produção e probabilidades, tendo como objetivo principal simplificar o trabalho de implementação de sistemas especialistas através do uso de uma máquina de inferência compartilhada, da construção automática de telas e menus, do tratamento probabilístico das regras de produção e da utilização de explicações sensíveis ao contexto da base de conhecimento modelada. Um sistema especialista baseado em tal tipo de modelo é bastante útil em problemas de classificação. O usuário responde a uma seqüência de perguntas interagindo com o computador, e o sistema encarregar-se-á de fornecer respostas que se encaixem no quadro apontado pelo usuário. Como exemplos, temos sistemas de diagnósticos médicos e configuração de redes de computadores.

           

6. Conclusão

           

            O uso dos Sistemas Especialistas pode trazer grandes benefícios as nossas vidas cotidianas. Eles não têm como objetivo tomar o lugar dos especialistas humanos, mas sim auxiliá-los na tomada de decisões. A grande capacidade de armazenar informações dos computadores, possibilita um grande potencial em interpretar estatísticas e formular regras. Atualmente os Sistemas Especialistas estão sendo utilizados em diversas áreas como treinamentos, realizando diagnósticos médicos, auxiliando na agricultura e mineração, podendo até trabalharem junto com sistemas convencionais nos ambientes organizacionais.

               

1