Definição de Sistema Especialista (SE)
Um sistema especialista ou Expert System é um sistema computacional que simula a estratégia de resolução de
problemas de um ser humano em alguma área do conhecimento bem específica. No
entanto, um SE não possuiu a capacidade cognitiva de um especialista humano, porém,
na ausência deste torna-se uma ferramenta importante para resolução de
problemas.
Figura 1: Sistemas Especialistas dentro da
IA (Inteligência Artificial).
Um SE, normalmente, desempenha as atividades de Interpretação,
Predição, Diagnóstico, Síntese, Planejamento, Monitoramento, Correção de falhas,
Instrução e Controle.
Utilização de Sistemas Especialistas
Na maioria das vezes, os SE são empregados em
situações nas quais o ser humano não está disponível. Contudo, em alguns casos,
a interação entre o especialista humano e os SE é benéfica. Exemplificando:
- Em situações de "stress", pois a capacidade de resolução de
problemas dos seres humanos diminui consideravelmente. Exemplo: operadores de
processo diante de alarmes.
- Em situações nas quais a velocidade de resolução de problemas é uma
exigência. Exemplo: monitoramento em tempo real.
- Em situações em que a padronização das ações tomadas por diferentes profissionais
é essencial. Exemplo: operadores de processo de diferentes turnos atuam de
forma diferenciada diante de uma mesma situação, o que poderá acarretar
variações no produto final.
Deficiências de um SE
- A capacidade de aprendizagem é natural para o ser humano, porém, limitada
para a máquina.
- O ser humano é criativo diante das variadas situações, porém, a
criatividade é outro ponto fraco da máquina.
- O ramo de atuação é abrangente para o ser humano, mas pequeno para a
máquina.
- A capacidade de interação do ser humano com o mundo exterior é elevada
por causa de sua percepção aguçada, contudo, para a máquina essa capacidade é
limitada.
Principais Vantagens de um SE
- Atuação consistente, independente de fatores circunstanciais;
- Total disponibilidade;
- Ausência de fadiga;
- Ausência de incompatibilidades pessoais;
- Facilidade de
transferência e replicação;
- Velocidade na
determinação dos problemas;
- Exige pequeno
número de pessoas para interagir com o sistema;
- Estabilidade;
- Integração de
ferramentas.
Classificação dos Sistemas Especialistas
Os atributos mais importantes para a
classificação dos Sistemas Especialistas são:
- Forma de representação do conhecimento:
os SE são denominados baseados em regras, orientados a objetos, etc.
- Operação da máquina de inferência:
os SE podem ser orientados por dados, objetivos ou ambos. Neste último caso, quando
as duas estratégias de inferência forem empregadas.
- Interface com o usuário: destacam-se
neste atributo os recursos que o SE dispõe para interagir com o usuário. Exemplo:
recursos gráficos, sonoros, etc.
- Operação on-line ou off-line:
ressalta se o SE atua ou não em tempo real e ligado a um sistema físico.
- Capacidade de extensão: enfatiza-se
a capacidade de ampliação ou adaptação do conhecimento do sistema às necessidades
das pessoas.
Componentes de um SE
Um SE é composto,
essencialmente, por uma Base de Conhecimento,
composta de fatos e regras, comportando o conhecimento adquirido do
especialista humano; Mecanismo de Inferência,
que controla o processo dedutivo da base de conhecimento; e Interface com o Usuário.
As bases de
conhecimentos compreendem os objetos e os atributos. Os objetos são as conclusões
a que o Sistema deve chegar, enquanto que, atributos são as propriedades que
servem para caracterizar os objetos. Por exemplo, em um SE específico de diagnóstico
de doenças, os objetos são as doenças e
os atributos desses objetos são seus respectivos sintomas. Assim, a
resposta do sistema será o diagnóstico da doença a partir dos sintomas.
Os mecanismos de
inferência podem ser divididos em dois tipos: Encadeamento para diante e Encadeamento
para traz. No primeiro caso, selecionam-se atributos até obter uma
combinação que caracterize um objeto. Enquanto que, no segundo, é escolhido um
objeto para ser a hipótese de estudo, em seguida, busca-se determinar a
viabilidade da aceitação dessa hipótese pela ocorrência ou não dos atributos
adequados. Logo, trata-se de um método de tentativas e erros, onde prosseguisse
até que encontrar a hipótese correta.
Um SE poderá apresentar
outros componentes, dependendo do software de suporte empregado em seu
desenvolvimento. Veja abaixo:
- Editores dedicados: acompanham o processo de inferência minuciosamente, visando corrigir
falhas no desempenho do sistema.
- Editores gráficos: suportam a implementação de recursos gráficos, que aumentam a
capacidade interativa do SE.
- Interfaces para outros sistemas de
informação: suportam o acesso do SE a informação
armazenada na base de dados, planilhas eletrônicas, etc.
- Módulo de explicação: fornecem a sequência de heurística empregada para obter certa
conclusão.
Implementação de um SE
A implementação restringisse,
basicamente, à implementação das estratégias de resolução de problemas utilizada
pelos especialistas humanos em um domínio do conhecimento. Assim, a fonte do
conhecimento é o próprio especialista do domínio, além de textos, manuais etc.
Na verdade, uma das tarefas mais difíceis, na implantação de um SE, é
justamente sistematizar o procedimento de resolução de problemas do
especialista humano. Logo, uma das principais dificuldades é a análise
subjetiva baseada na percepção humana, extremamente complicada de ser
reproduzida em computador.
Exemplos de SE
Exemplos clássicos de SE:
- MYCIN – usado para diagnosticar doenças infecciosas.
- PROSPECTOR – utilizado para coletar informações geológicas.
- LOGIC THEORIST – trata-se de SE empregado para provar teoremas.
Exemplos de SE em
microcomputadores:
- Diversas ferramentas do tipo "shell" permitem o
desenvolvimento de SE em microcomputadores. Exemplo: EXPERT-EASE, M-1, INSIGHT,
ARBORIST, EXSYS, ES/P, PERSONAL CONSULTANT, GURU, NEXPERT e outras.
- É possível utilizar outras linguagens de programação, além das "shells", como BASIC, FORTRAN, ALGOL, PASCAL, FORTH e outras. Além disso, há linguagens de programação que foram criadas para facilitar o desenvolvimento de aplicações de IA, tais como LISP, PROLOG e LOGO.
NOTA: “Shell” é uma linguagem de script usada em vários operacionais, com diferentes dialetos, e que depende do interpretador de comandos utilizado. Um exemplo de interpretador é o bash, usado na maioria das distribuições GNU/Linux.
REFERÊNCIAS
Disponível em:
<http://www.dee.ufma.br/~lpaucar/teaching/ia2000-1/cap4.html> Acesso em:
27/05/2014.
Disponível em:
<http://www.din.uem.br/ia/especialistas/basese.html> Acesso em:
27/05/2014.
Disponível em: <www.ic.uff.br/~ferraz/IA/Ppt/SistemasEspecialistas/Expert01.ppt> Acesso em: 29/05/2014.
Nenhum comentário:
Postar um comentário