SISTEMAS
ESPECIALISTAS
Sistemas Especialistas são programas de
computadores que imitam o comportamento de especialistas humanos dentro de um
domínio de conhecimento específico, baseado em processos heurísticos.
O objetivo dos Sistemas Especialistas é
captar o conhecimento de um especialista em um determinado campo, representar
este conhecimento numa base e transmiti-o ao usuário, permitindo-lhe obter
respostas a perguntas relacionadas à base de conhecimento do sistema.
Todo o conhecimento que o Sistemas
Especialistas contém, é adquirido através de pessoas especialistas, que
transferem o seu conhecimento (acumulado durante toda sua vida profissional)
para o sistema. Em resumo podemos afirmar que os Sistemas Especialistas são uma
técnica de Inteligência Artificial desenvolvida para resolver problemas em um
determinado domínio cujo conhecimento utilizado é obtido de pessoas que são
especialistas naquele domínio.
O mecanismo de inferências (MI) é o
processador ou interpretador de conhecimento, sendo considerado o coração do
SE. Este é responsável por buscar, selecionar e avaliar as regras que foram
pegas na base de conhecimento. A sua principal função é combinar o conhecimento
abstrato contido na base de regras, com o conhecimento concreto armazenado na
base de fatos, inferindo inferindo conclusões
e gerando novos fatos.
Sistemas
Especialistas: etapas de construção
a)
Estabelecimento do problema a ser resolvido
Primeiramente,
é necessário verificar se o problema de interesse pode ser resolvido de forma
declarativa, ou seja, através de um SE, ou se um programa procedimental é mais
conveniente para representar e resolver este problema.
b)
Busca de um especialista ou equivalente fonte de conhecimento
A
escolha do especialista deve ser uma tarefa criteriosa, pois a eficiência e
utilidade do SE depende diretamente do conhecimento nele contido, o qual é
obtido do especialista.
c)
Projeto do sistema especialista
Depois
do engenheiro de conhecimento ter escolhido o especialista, e ter definido com
ele os recursos necessários para o desenvolvimento deste projeto (tempo,
facilidades computacionais,etc), bem como as metas e objetivos a serem alcançados,
inicia-se o projeto propriamente dito do SE.
d)
Seleção do grau de participação do usuário
Neste
ponto deve ser definido o tipo de interface que deverá ser feita com o usuário,
definindo assim o grau de interação que existirá entre o usuário e o SE.
e) Definição do tipo de programação
a ser utilizada
O
engenheiro de conhecimento deverá optar entre a utilização de um ambiente
computacional pronto para a construção do SE ("shell") e a utilização
de uma linguagem de programação de alto nível.
f)
Desenvolvimento de um protótipo
É
muito importante que o engenheiro de conhecimento desenvolva o mais breve
possível um protótipo, mesmo que seja simples, do SE proposto, pois assim ele
poderá obter uma discussão mais proveitosa com o especialista, em cima do
protótipo, motivando o especialista a participar do aperfeiçoamento da versão
inicial e confirmar a viabilidade do projeto.
g)
Validação do protótipo
A
validação do protótipo deve ser feita inicialmente com sistemas de dados
acadêmicos e de pequeno porte. Quando o SE tiver trabalhado adequadamente com
este sistemas, deve-se então procurar testar o protótipo com sistemas reais.
h)
Refinamento e generalização
Esta
etapa depende diretamente da re-alimentação que o especialista dará ao
engenheiro de conhecimento, quando da verificação do desempenho do protótipo.
i)
Manutenção
A
manutenção da base de conhecimento e base de fatos do SE, envolve a
incorporação de novas regras, ou mesmo a modificação de regras existentes. Esta
tarefa fica amplamente facilitada no SE, em função de que as suas partes
componentes ficam fisicamente separadas uma das outras.
j)
Atualização
O
SE deve estar sempre sendo atualizado, ou seja, a sua base de conhecimento deve
sempre estar contendo regras de produção que representem o pensamento técnico e
científico do momento.
ARQUITETURA DE SISTEMAS
ESPECIALISTAS
EXEMPLO
O
Sistema Especialista desenvolvido, denominado "SECO – Sistema Especialista
em Controle de Orçamentos", consiste de módulos de interface com usuário
(desenvolvido em INFORMIX-4GL), nos quais o usuário responde a uma série de
perguntas. As respostas a estas perguntas são comparadas com dados da área
produtiva armazenados em tabelas previamente cadastradas e geram uma série de
conceitos que servirão de base para o Sistema Especialista realizar as
inferências necessárias para responder as principais questões relativas as
deficiências na elaboração de orçamentos.
Os
módulos do sistema são detalhados a seguir:
Vendas:
A partir deste módulo às informações básicas fornecidas pelo cliente são introduzidas
no sistema. Estas informações são relacionadas com as tabelas do sistema e irão
criar os fatos para o Sistema Especialista. Estes fatos são gravados em um
arquivo denominado fato.txt.
Cadastros:
As informações dos orçamentos, os dados usados na sua confecção e conclusões, são
gravados em uma banco de dados.
CLIPS:
Carrega o arquivo com as regras, denominado seco.txt (ver Apêndice 1), o
arquivo com os fatos apurados e faz as inferências necessárias aprovando ou não
o orçamento e apontando possíveis falhas.
Custos:
Este módulo no sistema é apenas informativo e os usuários da área de formação
de preços lança seus dados com objetivo de documentar o processo de orçamento.