Sunteți pe pagina 1din 109

UNIVERSIDADE FEDERAL DE SANTA CATARINA

PROGRAMA DE PS-GRADUAO EM
CINCIA DA COMPUTAO

Helmuth Grossmann Jnior

UM SISTEMA ESPECIALISTA PARA AUXLIO AO


DIAGNSTICO DE PROBLEMAS EM
COMPUTADORES UTILIZANDO
RACIOCNIO BASEADO EM CASOS

Dissertao submetida Universidade Federal de Santa Catarina como parte dos


requisitos para a obteno do grau de Mestre em Cincia da Computao.

Prof. Mauro Roisenberg, Dr.


Orientador

Florianpolis, dezembro de 2002.

UM SISTEMA ESP ECIALISTA P ARA AUXLIO AO


DIAGNSTICO DE P ROB LEMAS EM COMP UTADORES
UTILIZANDO RACIOCNIO B ASEADO EM CASOS

Helmuth Grossmann Jnior

Esta Dissertao foi julgada adequada para a obteno do ttulo de Mestre


em Cincia da Computao rea de Concentrao Sistemas de
Conhecimento, aprovada em sua forma final pelo Programa de PsGraduao em Cincia da Computao.
__________________________
Prof. Mauro Roisenberg, Dr.
Orientador

________________________________
Prof. Fernando A. Ostuni Gauthier, Dr.
Coordenador

Banca Examinadora
__________________________
Prof. Jorge Muniz Barreto, Dr.
Presidente da Banca
_______________________________
Prof. Luiz Fernando Jacinto Maia, Dr.
Membro da Banca
______________________________
Prof. Joo Bosco da Mota Alves, Dr.
Membro da Banca

Agradecimentos
Gostaria de agradecer ao prof. Mauro por trazer sempre a luz e a direo certa
nos momentos decisivos do desenvolvimento do trabalho.
minha esposa Fabiane, que soube compreender e aceitar as necessidades de
tempo e dedicao que um mestrado impe e me apoiou incondicionalmente.
Ao meu filho Eduardo, que nasceu durante a realizao desta empreitada e com
certeza foi o meu maior incentivo para seguir sempre em frente no importando as
dificuldades surgidas.
Aos meus pais, que sempre souberam o valor do saber e me apresentaram uma
das grandes verdades da vida, que tudo pode ser retirado de um homem, menos o seu
conhecimento e a sua f.
Aos amigos Fabrcio e Charles, que me orientaram e ajudaram a desvendar
alguns mistrios do Delphi durante o desenvolvimento do prottipo.

Sumrio

Lista de Abreviaturas ...................................................................................................viii


Lista de Figuras...............................................................................................................ix
Lista de Tabelas ...............................................................................................................x
Resumo .............................................................................................................................xi
Abstract ..........................................................................................................................xii
1. Introduo ..................................................................................................................13
1.1. Motivao ................................................................................................................13
1.2. Objetivos ..................................................................................................................14
1.3. Organizao do Texto.............................................................................................14
2. Sistemas Especialistas................................................................................................16
2.1. Definies de sistemas especialistas e suas caractersticas ..................................16
2.2. Histrico do SE .......................................................................................................17
2.3. Aplicaes dos SE ...................................................................................................17
2.4. Classificao dos Sistemas Especialistas...............................................................18
2.5. Arquitetura de um Sistema Especialista...............................................................21
2.5.1. Base de Conhecimento.........................................................................................21
2.5.2. Mquina de Inferncia ........................................................................................22
2.5.3. Sistema de Consulta.............................................................................................24
2.5.4. Mecanismo de Aprendizagem.............................................................................25
2.5.5. Sistema de Justificativa .......................................................................................25
2.5.6. Quadro -negro .......................................................................................................26
2.6. Shells para Sistemas Especialistas .......................................................................27
2.7. Implementaes Existentes....................................................................................28
3. Raciocnio Baseado em Casos ...................................................................................30

v
3.1. Definio de Raciocnio Baseado em Casos..........................................................30
3.2. Histrico do RBC....................................................................................................31
3.3. Diferenas do RBR e do RBC................................................................................32
3.4. Arquitetura de um Sistema RBC ..........................................................................33
3.4.1. A Base de Conhecimento .....................................................................................33
3.4.1.1. Representao de um Caso ..............................................................................33
3.4.1.2. Indexao...........................................................................................................36
3.4.2. Recuperao .........................................................................................................38
3.4.2.1. Algoritmos de Recuperao .............................................................................38
3.4.2.2. Casamento e Classificao ...............................................................................39
3.4.3. Reutilizao ..........................................................................................................42
3.4.4. Reviso..................................................................................................................44
3.4.4.1. Avaliao da Soluo Proposta........................................................................44
3.4.4.2. Reparao da Soluo ......................................................................................45
3.4.5. Armazenamento ...................................................................................................45
3.5. Vantagens do paradigma RBC sobre os demais ..................................................46
3.6. reas de Aplicao do RBC e Implementaes Existentes.................................47
4. Raciocnio Baseado em Casos Aplicado a um Sistema de Auxlio ao Diagnstico
de Problemas em Computadores..................................................................................50
4.1. Motivao ................................................................................................................50
4.2. Aquisio do Conhecimento: o Banco de Dados Disponvel...............................50
4.3. Apresentao do Banco de Dados .........................................................................51
4.3.1. O Cabealho e o Rodap da Ordem de Servio ................................................53
4.3.2. A Seo Servio a ser prestado / Problema que o equipamento apresenta........53
4.3.3. A Seo Equipamentos e acessrios recebidos....................................................53
4.3.4. A Seo Descrio dos servios prestados ...........................................................54
4.3.5. A Seo Peas e componentes substitudos .........................................................55
4.4. A Filtragem dos Problemas Reais .........................................................................55
4.5. O Ordenamento dos Casos.....................................................................................58
4.5.1. Os Equipamentos Mais Freqentes ...................................................................58
4.5.2. Os Problemas Mais Freqentes..........................................................................62
4.6. Montando a Base de Casos.....................................................................................63

vi
4.7. Apresentao da Proposta de Algoritmo de Casamento .....................................64
4.8. Consideraes sobre os Problemas do Domnio...................................................66
5. Modelagem e Implementao do Sistema SADPC .................................................67
5.1. Uma Viso Geral das Tcnicas Adotadas .............................................................67
5.2. Apresentao do Sistema SADPC .........................................................................68
5.3. Os Usurios do Sistema ..........................................................................................69
5.3.1. Os Especialistas ....................................................................................................70
5.3.2. Os Engenheiros do Conhecimento .....................................................................70
5.3.3. Os Usurios Leigos ..............................................................................................70
5.4. A Representao de um Equipamento: a Arvore H/S .........................................70
5.4.1. A rvore Hardware/Software: Organizao e Indexao...............................71
5.4.2. Cadastrando um novo equipamento ..................................................................71
5.4.3. Escolhendo um equipamento existente ..............................................................72
5.4.4. Quando no Sabemos o Equipamento Envolvido.............................................73
5.5. A Representao dos Casos ...................................................................................73
5.5.1. Base de Casos: Organizao e Indexao..........................................................74
5.5.2. Cadastrando um Novo Caso ...............................................................................74
5.6. A Iterao de um Novo Caso com o Sistema ........................................................75
5.6.1. A Apresentao das Possveis Solues..............................................................77
5.6.2. Quando a Soluo Proposta Vlida .................................................................78
5.6.3. Quando a Soluo Proposta no Vlida ..........................................................79
5.7. Relatrios do Sistema .............................................................................................79
5.7.1. Listagem das Solues Possveis em um Novo Caso.........................................79
5.7.2. Relao de casos ainda sem soluo ...................................................................80
5.8. Avaliando o Prottipo .............................................................................................81
6. Concluses e Consideraes Finais ..........................................................................84
6.1. Concluses...............................................................................................................84
6.2. Recomendaes e Consideraes Finais ...............................................................84

Anexo 1. A rvore de Equipamentos do Sistema .......................................................86


Anexo 2. O Arquivo de PDDs do Sistema ..................................................................87

vii
Anexo 3. O Arquivo de Casos do Sistema....................................................................91
Anexo 4. O Cdigo-Fonte do Algoritmo de Recuperao e Casamento parte 1.........98
Anexo 5. O Cdigo-Fonte do Algoritmo de Recuperao e Casamento parte 2.......101
Anexo 6. O Cdigo-Fonte do Algoritmo de Recuperao e Casamento parte 3.......104
Bibliografia ...................................................................................................................107

Lista de Abreviaturas
BD

Base de Dados

CBR

Case-Based Reasoning

COIN

Corporate Information Network

CPU

Central Processing Unit

H/S

Hardware/Software

IA

Inteligncia Artificial

IAS

Inteligncia Artificial Simblica

ICAS

Intelligent Case-Authoring Support

OS

Ordens de Servio

PDD

Palavras Descritivas de Defeitos

RBC

Raciocnio Baseado em Casos

RBR

Raciocnio Baseado em Regras

RNA

Rede Neural Artificial

SE

Sistemas Especialistas

SOHO

Small Office Home Office

TI

Trabalho Individual

UFSC

Universidade Federal de Santa Catarina

WWW

World Wide Web

Lista de Figuras

Figura 2.1. A estrutura de um sistema especialista..........................................................20


Figura 2.2. Estrutura e atualizao de uma base de conhecimento .................................21
Figura 2.3. Exemplo de mquina de inferncia ...............................................................22
Figura 2.4. Interao do engenheiro do conhecimento ....................................................24
Figura 2.5. O papel do quadro negro no sistema especialista..........................................26
Figura 3.1. As divises do processo do RBC ..................................................................30
Figura 3.2. O Ciclo RBC .................................................................................................32
Figura 3.3. O Ciclo RBC verso mais analtica ............................................................33
Figura 3.4. O Processo de Recuperao na Base de Casos .............................................38
Figura 4.1. Leiaute da Ordem de Servio ........................................................................50
Figura 4.2. Fluxograma do algoritmo de casamento proposto ........................................63
Figura 5.1. A tela de acesso ao sistema ...........................................................................66
Figura 5.2. A tela principal do sistema ............................................................................66
Figura 5.3. A tela de manuteno da tabela de usurios.................................................67
Figura 5.4. A tela de incluso de novos equipamentos....................................................70
Figura 5.5. A tela do programa de cadastro de novos casos ............................................73
Figura 5.6. Selecionando o equipamento com defeito.....................................................74
Figura 5.7. Selecionando Palavras Descritivas de Defeitos ............................................74
Figura 5.8. Apresentao das possveis solues encontradas ........................................75
Figura 5.9. O fluxograma do algoritmo de casamento ....................................................76
Figura 5.10. Listagem das solues possveis em um novo caso ....................................78
Figura 5.11. Lis tagem dos casos ainda sem soluo .......................................................79

Lista de Tabelas
Tabela 2.1. Diferenas fundamentais entre um sistema de apoio deciso (SAD) e um
sistema especialista (SE)..................................................................................................18
Tabela 4.1. Palavras que indicam equipamentos com problemas ...................................54
Tabela 4.2. Diviso do banco de dados de ordens aps a filtragem................................54
Tabela 4.3. Comparao dos mtodos de filtragem manual e automtico ......................55
Tabela 4.4. Composio do banco de ordens aps a segunda filtragem..........................55
Tabela 4.5. Palavras com maior ocorrncia na seo Equipamentos e acessrios
recebidos ..........................................................................................................................57
Tabela 4.6. Equipamentos e acessrios das ordens de servio aps filtragem................58
Tabela 4.7. A primeira verso da rvore HS ...................................................................59
Tabela 4.8. Palavras com maior ocorrncia na seo Problema que o equipamento
apresenta..........................................................................................................................60
Tabela 4.9. Amostra das combinaes da palavra no ....................................................61
Tabela 4.10. Diviso das OS por equipamento................................................................62
Tabela 5.1 A estrutura do arquivo de usurios ................................................................67
Tabela 5.2. A estrutura do arquivo de equipamentos ......................................................69
Tabela 5.3. A estrutura do arquivo de casos ....................................................................72
Tabela 5.4. Resultado da avaliao do prottipo SADPC ...............................................80

Resumo

Hoje vivemos numa sociedade dependente de computadores, e isso faz com que
grandes transtornos sejam causados toda vez que surge um problema no funcionamento
dos equipamentos de informtica, sendo desejvel seu conserto rpida e precisamente.
Para resolver problemas em computadores e perifricos temos hoje em dia
tcnicos especializados, que levantam as possveis causas para o problema a partir de
seus sintomas e com alguns testes e eliminao de possibilidades chegam soluo.
Quanto mais experincia acumulada estes tcnicos tm, mais rapidamente eles chegam a
soluo e com maior grau de acerto. Esta abordagem leva a alguns problemas, como o
tempo e dinheiro necessrios para formar um bom tcnico e o risco que se corre de
perder seu conhecimento acumulado quando ele se aposenta, morre ou troca de
profisso. Assim, uma soluo apropriada para consolidar a memria histrica dos
diagnsticos de problemas de computadores o desenvolvimento de um sistema
especialista que utilize o conhecimento armazenado nos sistemas de registro de
problemas para propor solues para um problema corrente.
Este trabalho apresenta um sistema que utiliza o paradigma de raciocnio
baseado em casos, desenvolvido com o uso de um banco de dados de 10000 ordens de
servio de problemas reais resolvidos. Os problemas tpicos deste domnio, a
abordagem adotada e os resultados obtidos com o prottipo construdo so descritos.

Abstract

Today we lived in a dependent society of computers, and as result any fault that
occurs on these machines raises great troubles to their users, requiring a quick and
accurate repair.
To solve faults in computers and peripheral devices nowadays, we have
specialized technicians that raise the possible causes for the fault by analyzing its
symptoms to then with some tests and elimination of possibilities come up with the
solution. The more experience these technicians have the quicker they come up with
the solution and with a higher accurateness. This approach brings some problems with
it, such as the time and money necessary to form good technicians and the risk of lose
the accumulated knowledge when they retire, die or change career. This way an
appropriate solution to consolidate historical memory of the computer problems
diagnoses is the development of a specialist system that uses the knowledge in the
registries systems to propose solutions to a current problem.
This work that uses the reasoning paradigm based on cases, developed with the
use of a database of 10000 orders of service of solved real problems. The typical
problems of this domain, the used approach and the results obtained with the built
prototype are described.

1. Introduo
1.1. Motivao
Na nossa sociedade atual o computador j pode ser encarado como ferramenta
indispensvel de trabalho. Inmeras so suas virtudes e aplicaes, aumentando a
produtividade daqueles que o usam e fazendo com que fiquemos, de certa forma,
dependentes de sua ajuda. Por um lado isso muito bom, haja visto por exemplo o
crescimento assombroso da economia americana na ltima dcada, apoiada, segundo a
maioria dos especialistas em macro-economia, na informatizao macia dos processos
produtivos das empresas que trouxeram ganhos de produtividade jamais vistos. Por
outro lado, quando um computador pra por algum defeito, seu usurio com freqncia
no consegue produzir mais nada enquanto o problema no resolvido. Os problemas
ocorridos nos computadores podem ser originados por inmeras causas, e a
heterogeneidade dos equipamentos e das tecnologias envolvidas num sistema
computacional levam a uma complexidade crescente na soluo de seus problemas.
Tradicionalmente quando um problema aparecia o usurio do computador
chamava um tcnico, que usando seus conhecimentos e sua experincia localizava o
defeito e o corrigia. No caso de empresas de maior porte, os usurios costumam contar
com um departamento especializado no atendimento ao usurio de informtica,
normalmente chamado de Help Desk, que acionado quando necessrio. Empresas
menores ou usurios domsticos contam com empresas terceirizadas ou profissionais
autnomos que fazem esse mesmo papel.
Em virtude do aumento da complexidade e da variedade dos problemas, o
conhecimento acumulado necessrio para que um tcnico resolva de forma satisfatria
os defeitos que surgem ficou muito grande, e esse conhecimento fica obsoleto com
muita rapidez. Sente-se a necessidade de uma forma de armazenar a experincia dos
tcnicos de uma maneira automatizada, e que essa experincia possa ser resgatada
quando necessria, de uma forma inteligente, buscando dentre todo conhecimento
guardado aquele que servir para soluo da situao apresentada. Assim os tcnicos
teriam um sistema computacional de apoio na busca de solues de problemas ocorridos
em computadores.
A partir da apresentao desse contexto, fica clara a necessidade da busca de
uma ferramenta que trabalhe com um grande volume de dados, guardados sob a forma
de experincias, e que tenha a capacidade de separar com critrios semelhantes aos que
um humano usaria, as experincias necessrias para se lidar com cada nova situao que
surja. Esse trabalho apresenta a proposta de um sistema que faa o papel desta
ferramenta de suporte ao trabalho dos tcnicos de informtica e dos usurios de
computadores com bom conhecimento.
Quando se fala em computadores usando critrios humanos ou agindo com
comportamento inteligente semelhante ao humano fala-se em Inteligncia Artificial
(IA), a rea da Cincia da Computao que estuda maneiras de atribuir s mquinas
comportamento inteligente. De acordo com as necessidades expostas anteriormente, a

14
abordagem de IA feita pelos Sistemas Especialistas (SE) a mais adequada, j que
permite a um sistema computacional agir como se fosse um especialista de uma rea
especfica, no caso desejado um tcnico especialista em computadores
A partir do exposto ficam claras as motivaes que levaram ao desenvolvimento
do presente trabalho, que poderiam ser resumidas assim:
- normalmente o conhecimento necessrio para resolver um problema atual se
encontra em experincias anteriores assemelhadas;
- a formao de um bom tcnico leva muito tempo e dinheiro, e um Sistema
Especialista agilizaria o processo;
- o tcnico experiente tem seu conhecimento somente no seu crebro e pode
morrer ou trocar de emprego levando seu saber consigo;
- o novo conhecimento inserido na base est disponvel instantaneamente para
todos usurios, disseminando solues velozmente.
1.2. Objetivos
O trabalho aqui desenvolvido tem por objetivo geral estudar a aplicabilidade dos
Sistemas Especialistas que utilizam o Raciocnio Baseado em Casos como ferramenta
de apoio ao diagnstico e ao encontro de solues para problemas surgidos em
microcomputadores.
Como objetivos especficos buscamos:
-

a disseminao do estudo e do uso do RBC;

avaliar o atual estado da arte do RBC;

propor novas funcionalidades em SEs que usam RBC especficas para o


domnio do conhecimento estudado; e

o desenvolvimento de um prottipo funcional de um sistema computacional


que demonstre o RBC em ao.

1.3. Organizao do Texto


O texto do presente trabalho foi dividido em 6 captulos visando uma melhor
organizao e tambm para facilitar a exposio das idias nele contidas. O primeiro
captulo consiste nesta introduo.
O captulo 2, que d seqncia introduo, traz o estudo dos SE em
profundidade, mostrando como os mesmos podem ser usados para a construo de um
sistema como o desejado. Tambm ser mostrado que os Sistemas Especialistas podem
ser construdos a partir de vrios paradigmas de raciocnio, sendo o mais adotado o
Raciocnio Baseado em Regras (RBR).

15
No sistema proposto pelo presente trabalho, o paradigma de raciocnio escolhido
no foi o RBR, mas sim o do Raciocnio Baseado em Casos (RBC), que est explicitado
no captulo 3, onde tambm so expostas as razes para esta escolha e as principais
diferenas entre o RBR e o RBC.
O captulo 4 descreve a base de dados disponvel para a construo do SE
almejado e o trabalho desenvolvido encima da mesma visando adequao,
classificao e filtragem das informaes relevantes que viro a alimentar o banco de
casos do prottipo modelado e implementado no captulo 5.
Apresentamos ento no captulo 5 a anlise e implementao do modelo
proposto de sistema especialista resultado do presente trabalho, desde sua modelagem e
desenvolvimento da codificao at os resultados prticos extrados do mesmo. So
apresentadas algumas telas do prottipo visando esclarecer como este funciona e como
ele se comporta com exemplos prticos.
O sexto e ltimo captulo traz as concluses extradas da anlise comparativa do
desempenho do sistema frente ao trabalho de especialistas humanos avaliando ento se
vivel um sistema desta natureza como ferramenta de apoio ao tcnico de informtica
envolvido no conserto de um defeito em um computador ou perifrico. Tambm so
sugeridos caminhos para trabalhos futuros visando complementar e entender este aqui
apresentado.

2. Sistemas Especialistas
Este captulo enfoca os assuntos referentes reviso bibliogrfica sobre sistemas
especialistas e busca mostrar qual o atual estado da arte dos SE, apresentando seus
conceitos, caractersticas, estrutura e aplicaes, servindo como referencial para anlise
da sua aplicabilidade no presente trabalho.
2.1. Definies de sistemas especialistas e suas caractersticas
Vrias so as definies encontradas nos livros para Sistemas Especialistas,
dentre as quais podemos citar SCHILDT (1987) que diz que SE so programas de
computador que procuram imitar o comportamento humano em alguma especialidade.
Para isto eles utilizam informaes fornecidas pelo usurio para formar uma opinio
sobre um determinado assunto. Desta forma o sistema especialista faz perguntas e o
usurio responde, at que ele possa identificar uma hiptese que se adapte s respostas.
Conforme o FERREIRA (2001), a palavra sistema, dentre 22 sentidos diferentes
possveis, na informtica seria um conjunto de programas destinados a realizar funes
especficas. J a palavra especialista, de 5 sentidos possveis 4 se encaixam em nossa
rea de interesse, significando 1. Pessoa que se consagra com particular interesse e
cuidado a certo estudo. 2. Pessoa que se dedica a um ramo de sua profisso. 3. Pessoa
que tem habilidade ou prtica especial em determinada coisa. 4. Conhecedor, perito.
Podemos perceber claramente que um sistema especialista ser um conjunto de
programas que realizaro a funo de uma pessoa conhecedora profunda de um
determinado ramo do saber.
O professor Edward Feigenbaum apud TEIXEIRA (2000) da Universidade de
Stanford, um dos principais pesquisadores em sistemas especialistas, definiu um
Sistema Especialista (SE) como:
"...um programa inteligente de computador que usa conhecimento e procedimentos
inferenciais, para resolver problemas que so bastante difceis de forma a requererem, para
sua soluo, muita percia humana. O conhecimento necessrio para atuar nesse nvel, mais
os procedimentos inferenciais empregados, pode considerar-se um modelo da percia aos
melhores profissionais do ramo. O conhecimento de um sistema especialista consiste em
fatos e heursticas. Os fatos constituem um corpo de informao que largamente
compartilhado, publicamente disponvel e geralmente aceito pelos especialistas em um
campo. As heursticas so em sua maioria privadas, regras pouco discutidas de bom
discernimento (regras do raciocnio plausvel, regras de boa conjectura), que caracterizam a
tomada de deciso em nvel de especialista na rea. O nvel de desempenho de um sistema
especialista funo principalmente do tamanho e da qualidade do banco de conhecimento
que possui.

J segundo PARTRIDGE e HUSSAIN (1995) um SE um programa de


computador que utiliza o conhecimento de especialistas humanos capturados em uma
base de conhecimentos para solucionar problemas que normalmente necessitam de
especializao humana.
WEISS e KULIKOWSKI (1988) afirmam que um SE aquele que lida com
problemas complexos do mundo real, que requeiram a interpretao de um especialista,

17
e soluciona estes problemas atravs do uso de um modelo computacional racional de um
especialista humano, chegando s mesmas concluses que este especialista humano
chegaria se enfrentasse um problema comparvel.
2.2. Histrico do SE
J na dcada de 1950 os pesquisadores das Cincias da Computao haviam
comeado a estudar formas de se desenvolver a rea da Inteligncia Artificial,
trabalhando, segundo CARVALHO (1990) apud MLLER (1998), com a lgica
matemtica e a teoria das funes recursivas, guiando a formulao de processamento
de listas e da prpria linguagem LISP, que fornece um interpretador para desenvolver
expresses simblicas recursivas que capacitaram o surgimento de sistemas prticos de
computao simblica. Surgiram tambm nessa poca computadores interativos que
tornavam possveis ambientes computacionais para o desenvolvimento e depurao de
programas cognitivos. Em outra frente de pesquisa, nesta mesma poca, os psiclogos
cognitivos criaram um caminho padro no processo de investigao do raciocnio,
modelando o aparente processo de tomada de deciso em termos de regras de produo
condicionais. Segundo BARRETO (1999), na dcada de 1950 ...a admirao com as
inmeras possibilidades destas mquinas fizeram com que elas fossem tambm
conhecidas como crebros eletrnicos. Isto criou um certo mito que fez com que os
computadores fossem olhados com uma certa desconfiana.
Para destruir o mito criado e popularizar os computadores, no incio dos anos 60
uma intensa propaganda de fabricantes conseguiu fazer com que os computadores
passassem a ser considerados como incapazes de qualquer forma de raciocnio. Isso
ajudou a mostrar que apesar de no terem inteligncia, os computadores poderiam ser
teis em tarefas correntes como contabilidade, administrao de empresas, preparao
de folhas de pagamento, etc. Os computadores passaram a ser cada vez mais vendidos e
usados, como mquinas capazes de automatizar tarefas dirias, sempre guardando sua
burrice como grande qualidade. Porm, alguns grupos de pesquisadores, nos
laboratrios, continuaram a busca da possibilidade de prover computadores de
raciocnio inteligente. A partir do anncio do projeto japons dos computadores de 5
gerao passou-se a falar em uma nova famlia de computadores inteligentes rodando
aplicaes conhecidas como sistemas especialistas. Data dos anos 60 o famoso sistema
especialista MYCIN, capaz de diagnosticar doenas infecciosas do sangue em pacientes
com a mesma preciso da mdia dos mdicos especialistas da rea.
2.3. Aplicaes dos SE
Os sistemas especialistas podem ser aplicados com sucesso nas mais diversas
reas do domnio do conhecimento humano, como na medicina, engenharia, cincias
administrativas e outras. Segundo RIO e FERNNDEZ (1990), existem alguns pontos
dessas reas onde existe uma grande expectativa de se receber altos benefcios com a
adoo de sistemas especialistas, tais como:

18
Incremento de produtividade, j que o usurio pode chegar mais rapidamente a
uma soluo para seus problemas com o auxlio do SE e tambm contar com uma
segunda opinio imediata;
Reduo de custos de treinamento, pois muito mais rpido ensinar uma
pessoa a usar um sistema especialista que tenha uma interface intuitiva,
ergonomicamente eficiente e amigvel do que ensinar tudo que consta da base de
conhecimento da aplicao. Isso particularmente vlido para domnios de
conhecimento complexos.
Reduo de custos de pessoal. Esse ponto pode ter uma conotao cruel se
pensarmos que com o uso de SE podemos trocar especialistas experientes e com altos
salrios por novatos inexperientes, que ganham pouco e aprendem a usar o sistema. Por
outro lado podemos pensar que uma populao carente, com poucos recursos, pode
contar por exemplo com um sistema de apoio ao diagnstico mdico manipulado por
profissionais de baixo custo que resolvam grande parte dos problemas apresentados.
Aplicao de conhecimento constante na empresa atravs dos tempos. O SE
serve como um grande depsito da experincia acumulada ao longo do tempo numa
organizao, e este armazm pode ficar a disposio dos usurios, de forma organizada;
Preservao do conhecimento desenvolvido pelos especialistas da empresa ou
organizao. Como foi dito no item anterior, a base de conhecimentos de um sistema
especialista um grande armazm contendo todo conhecimento desenvolvido por
especialistas e sistematizado por engenheiros de conhecimento ou sistema automatizado
equivalente;
Maior garantia da aplicao da experincia e do conhecimento. Um sistema
especialista evita que usurios amadores tentem resolver um problema com
conhecimento emprico, no dotado de nenhum embasamento cientfico. Com a
possibilidade de contar com ajuda especializada, a tendncia que os usurios leigos
faam uso da mesma.
Apoio na soluo de problemas e possibilidade de uma segunda opinio.
Muitas vezes um profissional deve tomar uma deciso acerca de um problema sem ter
possibilidade de consultar outras pessoas, pelos mais diversos motivos como: escassez
de tempo, assunto sigiloso, inexistncia de outros profissionais, etc. Nesses casos, poder
contar com uma opinio racional, que sintetiza de forma cientfica um domnio de
conhecimento, uma grande ajuda na busca da melhor soluo para um problema.
2.4. Classificao dos Sistemas Especialistas
Segundo WIDMAN (1998), os SE podem ser classificados de dois modos
diferentes:
Apoio deciso: o programa ajuda o tomador de decises experiente a lembrarse de diversos tpicos ou opes, que se considera que ele saiba, mas que possa ter
esquecido ou ignorado. Este o uso mais comum em medicina.

19
Tomada de deciso: toma a deciso no lugar de uma pessoa, pois isso
implicaria algo que est acima de seu nvel de treinamento e experincia. Este o uso
mais comum em muitos sistemas industriais e financeiros.
Essa classificao no deve permitir que se confunda Sistemas Especialistas com
Sistemas de Suporte a Deciso. Vrios aspectos e caractersticas atribudas aos sistemas
especialistas podem se equiparar aos atributos de sistemas de suporte a deciso, mas h
um limite em que um aplicativo deixa de ser voltado ao suporte deciso e passa a ser
considerado um sistema especialista. Ambos os tipos de sistemas so projetados para a
assistncia ao usurio e a tabela a seguir, retirada de YANG (1995) pode ajudar a
resumir as diferenas fundamentais e evitar confuses.
Caracterstica

Sist. Apoio a Deciso

Sistemas Especialistas

1. Origem do sistema.

Disciplina das cincias da


administrao e da deciso.
Suporte intuio de quem
toma deciso.
reas
amplas
e
malespecificadas.
Situaes momentneas e
nicas.
Representao esparsa do
processo de tomada de
deciso.
Usurio
confronta
um
problema. Iniciativa sempre
do usurio.
Desde o topo executivo at os
gerentes de linha.

Disciplina da Inteligncia Artificial.

2. Objetivo do sistema.
3. Caractersticas da rea
problema.
4. Tipo de problema
tratado.
5. Representao do
processo de soluo do
problema.
6. Controle e interatividade (possibilidade de
interveno do usurio).
7. Usurios do sistema.

8.
Tipos
de Fatos.
conhecimentos nas bases
de
dados
e
de
conhecimento.
9.
Capacidade
de No possui capacidade de
raciocnio.
raciocnio.
10.
Capacidade
de O usurio confia na qualidade
explanao.
da informao.
11.
Fonte
conhecimento.

Replicar um assistente humano e


substitu-lo.
reas de domnio restrito e
problemas bem definidos.
Assistncia em reas de problemas
repetitivas.
Representao densa do processo de
tomada de deciso.
Modelo do processo de soluo do
problema; a iniciativa sempre do
sistema.
Cliente no especialista, estudante,
interessados em SE, especialista que
quer um assistente.
Fatos,
conhecimentos
de
procedimentos, heurstica e outros
(julgamentos,
conhecimentos
causais, meta-conhecimento).
Exibe alguma capacidade de
raciocnio.
O usurio executa um papel passivo
no processo de resoluo do
problema e alcance da soluo.
Fontes autnticas (as escolhas de
especialistas) e fontes reconstrudas.

de Fontes reconstrudas (estatsticas, cincia da administrao


e modelos quantitativos.)
12. Natureza do suporte. Suportes individual, de grupo Assistncia e explanao para um
e organizacional.
indivduo (ou um grupo)

Tabela 2.1. Diferenas fundamentais entre um sistema de apoio deciso (SAD) e


um sistema especialista (SE).

20
J conforme RIBEIRO (1987), os SE podem ser classificados, quanto s
caractersticas de seu funcionamento em:
Interpretao: so sistemas que inferem descries de situaes a partir da
observao de fatos, analisando dados e procurando determinar relaes e seus
significados.
Diagnsticos: so sistemas que detectam falhas oriundas da interpretao de
dados. A anlise dessas falhas pode conduzir a uma concluso diferente da simples
interpretao de dados. Estes sistemas j tm embutidos o sistema de interpretao de
dados. Devem permitir ao diagnosticante a deciso sobre medidas a tomar.
Monitoramento: este sistema deve interpretar as observaes de sinais sobre o
comportamento monitorado. Deve verificar, de maneira contnua, um determinado
comportamento em limites preestabelecidos, sinalizando quando forem requeridas
intervenes para o sucesso da execuo.
Predio: a partir de uma modelagem de dados do passado e do presente, este
sistema permite uma determinada previso do futuro. Como ele baseia sua soluo na
anlise do comportamento dos dados recebidos no passado, deve ter mecanismos para
verificar os vrios futuros possveis, a partir da anlise do comportamento desses dados,
usando raciocnios hipotticos e verificando a tendncia de acordo com a variao dos
dados de entrada.
Planejamento: o sistema prepara um programa de iniciativas a serem tomadas
para se atingir um determinado objetivo. Possui caractersticas parecidas com o sistema
para a predio e normalmente opera em grandes problemas de soluo complexa. O
princpio de funcionamento, em alguns casos, por tentativas de solues, cabendo a
anlise mais profunda ao especialista que trabalha com esse sistema.
Projeto: tem caractersticas parecidas com as do planejamento, e deve-se
confeccionar especificaes tais que sejam atendidos objetivos dos requisitos
particulares. Deve ser capaz de justificar a alternativa tomada para o projeto final, e de
fazer uso dessa justificativa para alternativas futuras.
Depurao: trata-se de sistema que possui mecanismos para fornecerem
solues para o mau funcionamento provocado por distores de dados. Faz verificao
automtica nas diversas partes, com mecanismos para ir validando cada etapa necessria
em um processo qualquer.
Reparo: normalmente trabalha em conjunto com um sistema de diagnstico,
desenvolvendo e executando planos para administrar os reparos. So poucos os sistemas
desenvolvidos, pois consertar alguma coisa do mundo real uma tarefa muito
complexa.
Instruo: tem mecanismos para verificar e corrigir o comportamento do
aprendizado de estudantes. Seu funcionamento consiste em ir interagindo com o
treinando, em alguns casos apresentando uma pequena explicao e, a partir da, ir
sugerindo situaes para serem analisadas pelo treinando. Pode-se ir aumentando a
complexidade das situaes e ir encaminhando o assunto, de maneira didtica.
Controle: um sistema que governa o comportamento geral de outros sistemas
(no apenas de computao). o mais completo, de um modo geral, pois deve

21
interpretar os fatos de uma situao atual, verificando dados passados e fazendo uma
predio do futuro. Apresenta os diagnsticos de possveis problemas, formulando um
plano timo para sua correo, que ser executado e monitorado para que o objetivo
planejado seja alcanado.

2.5. Arquitetura de um Sistema Especialista


A seguir sero apresentados os mdulos constituintes de um sistema especialista
ideal e completo, segundo a maioria dos autores consultados. Deve-se ter em mente que
os SE implementados no mundo real podem no ter todos estes mdulos ou apresentar
algum complemento no mostrado aqui, sendo a arquitetura presente s uma referncia.
Ainda destaca-se o fato que esta estrutura aqui mostrada tpica dos SEs que
utilizam raciocnio baseado em regras, mudando bastante no caso de SEs que utilizam
raciocnio baseado em casos, como veremos no prximo captulo.

Sistema de
Consulta

Sistema de
justificativa

Quadro negro

Mquina de
Inferncia

Mecanismo de
aprendizagem

Base de
conhecimento

Fig. 2.1. Arquitetura de um Sistema Especialista.

2.5.1. Base de Conhecimento


A base de conhecimento de um Sistema Especialista , sem sombra de dvida, o
seu componente mais importante e o corao do sistema. Um SE ter tanto
conhecimento quanto for armazenado em sua base, e ele s ser capaz de tratar uma
situao que seja coberta, diretamente ou por inferncia, pelo conhecimento
armazenado. Conforme RIBEIRO (1987), em um SE com raciocnio baseado em regras,
a base de conhecimento ser composta por fatos e regras, como podemos ver na figura
2.2.

22
Na figura vemos dois tipos de usurios que utilizam o sistema especialista. O
primeiro quem utiliza o conhecimento armazenado. Ele fornece fatos, atravs de uma
interface colocada entre esse usurio e o sistema de modo a tornar natural o seu uso e
que coloca esses fatos de maneira que o sistema os possa usar em seu funcionamento. O
segundo tipo de usurio o especialista, ou seja, o profissional que detm o
conhecimento e o fornecer sob a forma de regras (nesse exemplo da figura) para que o
sistema o use. O conhecimento do especialista guardado sob uma forma padro
definida por quem projetou e construiu o sistema, de modo que o conhecimento possa
ser tratado de maneira mecnica. Este conhecimento normalmente passado para o
sistema atravs de um editor construdo especialmente para ser usado pelo especialista
na transferncia do seu conhecimento para o sistema e o formata de maneira adequada.

BASE DE CONHECIMENTO

USURIO
Eu tenho febre
Eu tenho dor de cabea
Eu tenho coriza
Eu tenho 45 anos

Interface
L.Natural

Ter Febre
Ter Dor de Cabea
Ter Coriza
Ter 45 Anos
FATOS

ESPECIALISTAS
1) Se algum tem febre e tem
coriza, ento tem 60% de
evidncias de gripe.
2) Se algum tem febre e tem
coceira, ento tem 80% de
evidncias de urticria.
3) Se algum tem febre e tem
coriza, e menos de 10 anos,
ento tem 90% de evidncia de
virose.

Editor
Inteligente

1. (febre coriza) (gripe 0.6)


2. (febre coceira)
(urticria 0.8)
3. (febre coriza idade<10)
(virose 0.9)

REGRAS
Figura 2.2. Estrutura e atualizao de uma base de conhecimento.
2.5.2. Mquina de Inferncia
Juntamente com a base de conhecimento, a mquina de inferncia compe o
ncleo do sistema especialista. Basicamente se trata de um protocolo de programa para
navegar atravs das regras e dados da representao do conhecimento buscando resolver
o problema. Sua tarefa selecionar e aplicar a regra mais apropriada em cada passo de
execuo do sistema, o que contrasta com a programao convencional, onde o
programador seleciona a ordem na qual o programa dever executar os passos ainda em
tempo de programao.

23
O papel da mquina de inferncia semelhante ao do especialista humano:
quando este recebe uma solicitao de pesquisa ou atravs de um dilogo para troca de
informaes, a mquina tenta interpretar a necessidade do usurio, e ajud-lo a definir
melhor aquilo que est procurando e chegar a uma concluso. Segundo RIBEIRO
(1987), existem diversos processos para se fazer a inferncia, pois este est diretamente
ligado representao do conhecimento, porm, o mtodo mais usado o da avaliao
de regras. A figura 2.3. ilustra o tipo de busca que uma mquina de inferncia pode
fazer numa base de conhecimento com representao em rvore. O sistema do exemplo
busca identificar o tipo de objeto sobre uma mesa a partir da identificao de trs
variveis: som, cor e forma. O exemplo foi retirado do material de aula do Prof. Dr.
Paulo BORGES (2001).

Preto
Cor?
Sim
Faz
Rudo?

Branco
Preto

No
Cor?

Telefone

Computador

Disquete
Plano

Branco

Cilndrico

Papel

Lpis

Regra 1: SE o item faz rudo E a cor preta, ENTO Telefone.


Regra 2: SE o item faz rudo E a cor branca, ENTO Computador.
Regra 3: SE o item no faz rudo E a cor preta, ENTO Disquete.
Regra 4: SE o item no faz rudo E a cor branca E a forma plana,
ENTO Papel.
Regra 5: SE o item no faz rudo E a cor branca E a forma cilndrica,
ENTO Lpis.

Figura 2.3. Exemplo de mquina de inferncia.


H sistemas que operam atravs das regras de inferncia caminhando para frente
na ordem das mesmas, outras caminham para trs e outros empregam ambas as
direes.
Isabela MLLER (1998), citando RAMOS (1995) define que o encadeamento
para frente, tambm conhecido como raciocnio dirigido a eventos, utilizado quando a

24
soluo de um problema tem dados ou idias bsicas como ponto de partida, sem uma
meta previamente definida. Por exemplo quando temos um conjunto de sintomas e
queremos inferir as possveis doenas associadas.
J o encadeamento para trs, tambm chamado de raciocnio dirigido a metas,
utilizado quando se tem uma meta como ponto de partida e se deseja satisfaz-la. A
partir da meta todas as hipteses so verificadas Por exemplo, tendo um determinado
efeito, investiga-se os fatores que em tese levariam a confirmar este efeito. Um
problema que pode acontecer neste mtodo a exploso combinatria a que se pode
chegar em alguns casos, quando seria o usurio confrontado com uma extensa
apresentao de possibilidades para sua anlise, o que no seria muito vivel.
Outra possibilidade a combinao dos dois mtodos. Esta abordagem usada
quando se tem amplo espao de busca e esta busca pode ser dividida hierarquicamente,
sendo ento possvel combinar o uso das direes do inferior para o maior e do
maior para o inferior apropriadamente.
No prximo captulo, quando ser analisado o raciocnio baseado em casos
veremos que a busca realizada pela mquina de inferncia sobre uma base de casos, ao
invs de regras e fatos, utilizar outro mtodo, que buscar qual o caso dentre os
armazenados que mais se aproxima do problema apresentado pelo usurio atravs da
interface do sistema.
2.5.3. Sistema de Consulta
Este mdulo tambm pode ser chamado de interface com o usurio, e acionado
basicamente em trs situaes: no incio da interao, quando o usurio vai informar ao
sistema qual o problema para o qual ele busca uma soluo; durante o processamento,
quando o motor de inferncia necessitar alguma orientao ou interveno direta do
usurio indicando um caminho a seguir; e ao final do processamento, apresentando o
resultado obtido para o utilizador.
Nesta interface do usurio, um componente que pode ser muito importante para
o sucesso do sistema a capacidade do mesmo compreender sentenas escritas em
linguagem natural. Este sub-mdulo do sistema de consulta tem o objetivo, segundo
RIBEIRO (1987), de tornar transparente para quem usa o sistema toda sua
complexidade. Seu objetivo uma comunicao o mais perto possvel da linguagem
normalmente usada entre dois interlocutores humanos, evitando que o usurio do
sistema tenha que aprender uma linguagem computacional prpria ou complexa para o
uso do sistema. Este mdulo , ele prprio, um sistema especialista, e um estudo
parte em Inteligncia Artificial.

25
2.5.4. Mecanismo de Aprendizagem

O conhecimento de um especialista adquirido durante sua formao e vida


profissional de diversas formas, leituras, experincias e casos similares. Este
conhecimento est armazenado permanentemente pelos especialistas em seu crebro e
tem diversas origens, tal como: anlise estatstica de dados (heurstica), tentativa e erro
(experincias), leituras, palestras, trocas de experincias com outras pessoas.

Conhecimento, novos conceitos,


situaes.

Especialista

Engenheiro
do
Conhecimento

Conhecimento
formalizado

Base de
Conhecimento

Dados,
problemas,
explicaes, verificaes.

Figura 2.4. Interao do engenheiro do conhecimento.


Em ltima anlise, o que se verifica que o aprendizado vem do processo de
experincia, e de seus resultados experimentais. portanto de fundamental importncia
que os sistemas especialistas sejam capazes de aprender e fazer crescer o seu
conhecimento a partir de um conhecimento bsico sobre o assunto. Segundo RIBEIRO
(1987), o processo ideal de aprendizado seria aquele que o conhecimento do especialista
fosse absorvido diretamente pelo sistema, mas o que se verifica na prtica a presena
de uma figura intermediria, conhecida como engenheiro de conhecimento, que prepara
o conhecimento para ser armazenado em uma forma prpria, e tambm fornece as
explicaes necessrias dos conceitos utilizados, como podemos ver na figura 2.4.
2.5.5. Sistema de Justificativa

O sistema de justificativa visa explicar ao usurio do SE como se chegou


concluso apresentada. Pode tambm ser capaz de explicar porque est fazendo
determinada pergunta ao usurio se for questionado a respeito. O modelo de justificao

26
busca apresentar ao usurio as informaes necessrias para que este fique totalmente a
par de como e por que uma estratgia de pesquisa foi aplicada e uma deciso foi
alcanada.
Conforme RIBEIRO (1987), este mdulo utiliza diversos recursos e estruturas
prprias para atender ao seu objetivo, mostrando que regras e que fatos foram usados da
base de conhecimento na busca da soluo. As implementaes atuais do justificador
procuram atender s perguntas: como? Por qu? Por que no? Qual?
Segundo o mesmo autor no existe ainda, entre os pesquisadores, uma
uniformidade de conceitos bsicos. Alguns dos problemas mostrados abaixo ainda so
bastante discutidos e so implementados de maneira muito diferente e rudimentar, nos
sistemas existentes; ou de maneira mais radical, simplesmente no so implementados.
As naturezas dos problemas so:

Quem ir receber a explicao?

A que nvel esta explicao deve ser dada?

Que detalhes devero ser mostrados?

Como ser mostrado

Qual o universo de explicaes que o sistema poder vir a dar?

2.5.6. Quadro-negro

O quadro negro o mdulo do SE onde armazenado todo o processo do


desenrolar da pesquisa, reformulaes e dados parciais obtidos durante o dilogo do
sistema, por sua mquina de inferncia, com o usurio, atravs do sistema de consulta.
Segundo RIBEIRO (1987) o quadro-negro uma rea de memria aonde o
sistema vai gravando e apagando os dados que vai usando no processo de inferncia at
chegar a uma soluo. Para se chegar a uma soluo, h necessidade de se avaliarem
regras que so recuperadas da base de conhecimento para uma rea de trabalho na
memria, nesse local essas regras so ordenadas periodicamente em uma nova ordem
para serem avaliadas. Durante essa avaliao deve-se verificar fatos e hipteses e
tambm h necessidade de uma rea onde so guardados os valores das variveis para se
trabalhar tais fatos e hipteses. As concluses dessas regras iro gerar novos fatos e
novas hipteses que precisam ser guardadas (gravadas) temporariamente durante o
processo de inferncia (deduo), em algum local. Essa rea de memria usada para
execuo das operaes descritas acima se chama quadro-negro ou rascunho e seu
funcionamento aparece resumido na figura 2.5. Resumindo, o quadro-negro, ou
rascunho, uma rea de trabalho que pode contar a histria de como se desenvolveu
uma pesquisa.

27

Base de
Conhecimento
Verificar fatos

Busca de novas regras

QUADRO-

NEGRO
Mecanismo de
Inferncia

Anlise de regras

Figura 2.5. O papel do Quadro-Negro no SE.

2.6. Shells para Sistemas Especialistas


Conforme CHORAFAS (1988), um programa shell pode ser encarado como se
fosse uma caixa de ferramentas de componentes que formam um SE. Dessa forma, se
quisermos criar um sistema especialista em pouco tempo e com um esforo
relativamente menor, basta escolhermos um shell adequado s nossas necessidades e
preench-lo com uma base de conhecimentos, fatos e regras, que representem o domnio
de conhecimento tratado. Esta escolha do shell a ser usado normalmente condicionada
por restries: a rea de aplicao na qual recai o domnio do SE, a possibilidade e
facilidade na expresso de fatos e relaes pertinentes ao problema, as facilidades de
interface da linguagem e a forma de raciocnio usada para buscar a soluo na base de
conhecimentos.
Com o uso de um shell, o desenvolvimento de um prottipo de SE bastante
acelerado e contamos tambm com as seguintes vantagens, dentre outras:

ajuda a clarear as idias do construtor do SE;

valioso para a realimentao do usurio;

pode ser til no projeto de ncleos de testes num estgio inicial.

Mas os shells tambm tm suas desvantagens. Uma camada de interface


adicionada ao sistema, que requer seu prprio interpretador residente e resulta em
lentido no processamento. Tambm se deve lembrar que os shells so ferramentas de
uso genrico e provavelmente contero mdulos desnecessrios no seu SE especfico e
outros mdulos podero faltar. Outro detalhe que pode ocorrer que diferentes projetos
de SE numa mesma entidade podem escolher shells diferentes, resultando numa
proliferao de diferentes linguagens de programao que dificulta do desenvolvimento
manuteno dos sistemas.

28
Aps a exposio desses fatos, conclui-se que os shells so timas ferramentas
para o desenvolvimento inicial dos SE, mas se estes vo ser usados intensamente e por
um longo tempo, vale a pena otimizar o prottipo inicial, reescrevendo o sistema de
uma forma mais enxuta e funcional.
2.7. Implementaes Existentes
Incontveis so as aplicaes baseadas no paradigma dos sistemas especialistas
hoje em dia, principalmente as que usam raciocnio baseado em regras, e algumas das
mais famosas e representativas so brevemente aqui descritas.
MYCIN: segundo BARRETO (1999), um SE da autoria de E. H. Shortliffe
para diagnstico e tratamento de doenas infecciosas do sangue. O MYCIN se tornou
famoso por ser pioneiro no uso de um conjunto de conceitos de serviram de base para a
moderna estrutura dos SE. Alguns desses conceitos so: separao da base de
conhecimento e da mquina de inferncia, o que permite usar um mesmo motor de
inferncia com uma base de conhecimentos diferente e tratar um domnio de
conhecimento totalmente diverso do original; tratamento da incerteza atravs de fatores
de certeza, que mostraram que o raciocnio mdico no segue um padro probabilstico;
foi o primeiro de uma srie de SE da rea mdica.
PROSPECTOR: um SE de apoio para gelogos em busca de depsitos com
recursos minerais. Seguiu muitas das idias apresentadas pelo MYCIN, introduzindo
uma interface com o usurio que permitia a comunicao em linguagem tcnica de
geologia, chamada Lifer. Um ponto inovador do PROSPECTOR foi a diviso dos fatos
e regras da base de conhecimento em 15 modelos, cada um com cerca de 200 fatos e
regras especficos de cada tipo de depsito mineral.
ACE: automated cable expertise, um sistema especialista desenvolvido pela
AT&T q eu contm conhecimento destilado em forma de regras se-ento. Este
conhecimento foi obtido de peritos na manuteno de cabos das companhias telefnicas.
Diferencia-se de outros SE por dois pontos: manipular grandes quantidades de dados e
obter esses dados automaticamente de bases de dados distribudas.
ABEL: sistema especialista de aconselhamento teraputico para identificao
de distrbios eletrolticos e cidos-bsicos.
Art of Negotiating: simula uma sesso de negociao e orienta na modelagem
de uma estratgia, baseando-se em perguntas sobre a personalidade dos participantes da
negociao.
Communication Edge: anlise e sntese para preparao de reunies de
negcios.
Emes: administrao de distribuio de fora eltrica de componentes eltricos
em naves espaciais.
NTC: consultor para eliminao de problemas de rede capaz de dar anlises
interpretativas de problemas da Ethernet/Decnet.

29
SCCES: clculo de riscos de fatores envolvidos no processamento do petrleo
e desgaste e corroso.
VM: interpretao e consulta sobre terapia intensiva em relao a pacientes
em estado grave.
XCON: o Expert Configurer um SE utilizado diariamente nas operaes
mundiais de manufatura da Digital para configurar a maioria dos computadores VAX e
PDP-11 que esto em pedido. Tem um mdulo que permite que os vendedores
configurem interativamente sistemas computadorizados e tem tambm um mdulo para
treinar o pessoal de vendas.

3. Raciocnio Baseado em Casos


Este captulo faz uma explanao sobre o que o raciocnio baseado em casos
segundo alguns autores da rea, seu histrico de desenvolvimento, estrutura de
funcionamento e quais so as principais diferenas entre o raciocnio baseado em casos
e o raciocnio baseado em regras. Ao final do captulo so apresentados alguns sistemas
especialistas j implementados que usam esta forma de raciocnio.
3.1. Definio de Raciocnio Baseado em Casos
Conforme SCHANK (1982) O Raciocnio Baseado em Casos aquele utilizado
por sistemas artificiais inteligentes que raciocinam recuperando situaes ocorridas no
passado quando se encontrar frente a novos problemas. Um estudante resolve
problemas de matemtica, por exemplo, relembrando problemas anteriormente
estudados com caractersticas semelhantes e tentando aplicar o mtodo que usou para
resolver o problema de antes, alterando-o para a nova situao.
Um caso representa na terminologia RBC, segundo AAMODT (1994) uma
situao ocorrida anteriormente denominada caso anterior ou do passado que
capturada e aprendida de modo a ser utilizada na soluo de problemas futuros
denominados casos correntes ou novos. Os casos, que podem ser representados em
diferentes formatos e tamanhos, reproduzem o conhecimento especfico para um
determinando contexto, registrando o conhecimento a nvel operacional. De acordo com
KOLODNER (1993), um caso registra uma experincia que tem o potencial de ser til
para atingir um objetivo ou conjunto de objetivos mais facilmente no futuro ou de
alertar para a possibilidade de falhas imprevistas em um problema.
Segundo o Dicionrio Aurlio, FERREIRA (2001), a palavra raciocnio vem do
latim ratiociniu e pode significar 1. Ato ou efeito de raciocinar. 2. Encadeamento,
aparentemente lgico, de juzos ou pensamentos. 3. Capacidade de raciocinar; juzo,
razo; racionalidade. 4. Processo discursivo pelo qual se passa de proposies
conhecidas ou assumidas (as premissas) a outra proposio (a concluso) qual so
atribudos graus diversos de assentimento.
J a palavra caso pode assumir 8 significados diferentes segundo o mesmo
dicionrio, sendo que duas se encaixam nos propsitos da cincia da computao e do
RBC (mais especificamente ainda a primeira) que seriam 1. Acontecimento, fato,
sucesso, ocorrncia. 2. Eventualidade, conjuntura, hiptese.
Podemos derivar destas definies que o raciocnio baseado em casos o
encadeamento lgico de pensamentos racionais que se baseiam em acontecimentos
transcorridos.
Segundo FOX (1995), o processo do RBC pode ser dividido em tarefas
separadas, porm onde exatamente ficam as linhas que separam cada tarefa depende de
cada aplicao em particular. Em linhas gerais normalmente esse processo se divide em
trs partes: a recuperao de um caso semelhante da base de casos, a avaliao do caso

31
recuperado frente s necessidades do novo caso, e a adaptao do caso recuperado para
que atenda satisfatoriamente o novo problema, conforme podemos ver na figura 3.1.

Raciocnio
Baseado em Casos

Recuperao

Avaliao

Adaptao

Figura 3.1. As divises do processo do RBC.

3.2. Histrico
Em 1977, conforme MELCHIORS (1999), Schank e Abelson propuseram que o
conhecimento geral das pessoas sobre as situaes est armazenado em scripts,
permitindo que elas criem expectativas sobre o que ouvem, e dessa forma faam
dedues sobre as relaes entre as coisas que ouviram. Os scripts foram propostos
como uma estrutura de memria conceitual, descrevendo informao sobre eventos
estereotipados, como ir a um restaurante ou a uma consulta a um mdico. Porm,
experimentos com scripts mostraram que eles no representam uma teoria completa de
representao de memria, j que as pessoas confundem eventos que tem scripts
similares. Os scripts parecem ser apenas uma faceta dos conhecimentos que as pessoas
utilizam para a compreenso: elas se valem tambm outros tipos de conhecimento,
como o conhecimento sobre objetivos, planos, relaes interpessoais e papis efetuados
pelas pessoas, segundo KOLODNER (1993). Representaes sobre estes tipos de
conhecimento tm sido propostas e sistemas de computadores que usam estes tipos de
conhecimento para o entendimento tm sido desenvolvidos.
Em 1982, Roger SCHANK (1982), props a teoria da Dinamic Memory
(memria dinmica) e o papel central que a lembrana de situaes anteriores casos
e modelos de situaes (scripts, MOPs pacotes de organizao de memria)
desempenham na resoluo de problemas. Este trabalho, segundo AAMODT e PLAZA
(1994), apresenta as razes do uso de raciocnio baseado em casos na Inteligncia
Artificial. Outras caractersticas do campo RBC tm sido originadas do estudo de
raciocnio analgico proposto por Gentner, ainda conforme MELCHIORS (1999) e das
teorias de formao de conceitos, resoluo de problemas e aprendizado experimental
dentro da filosofia e psicologia.
O primeiro sistema RBC, denominado CYRUS, foi desenvolvido por
KOLODNER (1993). Este sistema, baseado no modelo de memria dinmica de

32
SCHANK (1982) e na teoria MOP de resoluo de problemas e aprendizado, foi
basicamente um sistema de questes e respostas com conhecimento de vrias viagens e
encontros do primeiro secretrio do estado americano, Cyrus Vance. O modelo de
memria de casos desenvolvido por este sistema serviu de base para outros diversos
sistemas RBC, dentre eles MEDIATOR, PERSUADER, CHEF, JULIA e CASEY.
Outra base de RBC e conjunto de modelos foi desenvolvida por Bruce Porter e
seu grupo na University of Texas, em Austin. Inicialmente trabalhando com o problema
de aprendizado automtico para classificao de tarefas, o grupo desenvolveu o sistema
PROTOS. Esse sistema enfatiza a integrao do conhecimento geral do domnio e do
conhecimento especfico de casos em uma estrutura de representao unificada um
modelo de memria de casos. Alm dessa, outra contribuio importante para a rea foi
o trabalho do grupo de Edwina Rissland na University of Massachussetts, em Amherst,
que desenvolveram o sistema HYPO, aplicado para o domnio do Direito.
Atualmente, as pesquisas em RBC tm estendido-se rapidamente, sendo
percebido um crescente nmero de artigos envolvendo RBC em peridicos de IA e um
aumento de aplicaes comerciais de sucesso, alm de pesquisas em desenvolvimento
em diversos pases.
3.3. Diferenas do RBR e do RBC
As principais diferenas entre as duas metodologias so:
enquanto as regras so pequenas partes do conhecimento, independentes e
consistentes, casos so grandes pores do conhecimento, provavelmente com partes
redundantes entre si.
para determinar a soluo de um problema em um sistema RBR, as regras
precisam casar exatamente entre si e h necessidade da aplicao de vrias regras para
chegar soluo. Em RBC exigido apenas um casamento parcial entre os casos e a
soluo proposta como um todo para depois ser adaptada.
a manuteno de um sistema baseado em regras necessria em todo o seu
ciclo de vida, pois a adio de uma regra freqentemente requer a modificao de vrias
outras. A adio de casos em RBC (aprendizado) requer pouca ou nenhuma
modificao, tornando o aprendizado bem mais simples.
O mais forte argumento para a utilizao do paradigma baseado em casos para a
simulao de um especialista humano o fato de o que faz um especialista sua
experincia. Se o conhecimento especialista fosse somente aquele dos livros, bastaria
modelar a informao dos livros em regras e pronto. Entretanto, num processo de
extrao de conhecimento especialista, observa-se que o especialista coloca sua
experincia para tentar explicar como faz seu trabalho. Muitas vezes, sua especialidade
ilustrada atravs de exemplos, experincias passadas que justificam a abordagem
escolhida para tratar determinado problema. Alm disso, quando possvel estabelecer
uma regra para determinada situao, esta vem sempre acompanhada de excees.

33
3.4. Arquitetura de um Sistema RBC
Podemos representar a arquitetura de um sistema RBC de diversas formas, de
maneira mais sinttica ou mais analtica, de acordo com a necessidade do estudo em
questo. Logo a seguir apresentamos duas figuras representando o processo RBC, a
primeira ligeiramente mais sinttica que a segunda, mas como podemos acompanhar
ambas representam o mesmo processo. Seguindo as figuras temos explicaes acerca de
cada componente do processo do raciocnio baseado em casos.

Problema
Corrente

Novo Caso

RECUPERAO

Casos
Recuperados
Base de
Conhecimento

Caso
Aprendido

Novo Caso

ARMAZENAMENTO

Caso
Avaliado

REUTILIZAO

REVISO

Caso
Proposto

Figura 3.2. O Ciclo RBC


3.4.1. A Base de Conhecimento
3.4.1.1. Representao de um Caso
Os casos representam um conhecimento especfico relacionado a um contexto,
armazenando conhecimento em nvel operacional. Devem ser armazenados, entretanto,
apenas os casos que possuem diferenas dos demais, de modo que possam acrescentar
algum conhecimento til para o sistema. Os casos podem apresentar diferentes

34
tamanhos e modelos, assim como podem representar um pequeno ou grande intervalo
de tempo. KOLODNER (1993) define a partir dessas observaes que um caso um
pedao de conhecimento contextualizado representando uma experincia que ensina
uma lio fundamental para atingir os objetivos do raciocinador.
Mquina de
Inferncia RBC

Base de
Conhecimento RBC

Entrada

Problema

Atribuio de ndices

Base de Casos

Regras de
Indexao

Entrada ndices
Recuperao

Memria de
casos

Caso Recuperado

Armazenamento
Atribuio de
ndices

Soluo

Regras de
Combinao

Adaptao

Regras de
Adaptao

Soluo Proposta
Teste

Nova soluo

Descrio de Falhas

Reparo

Explicao

Regras de
Reparo

Anlise Causal

Caractersticas
previstas
Fig. 3.3. O Ciclo RBC verso mais analtica.
Os casos so formados por duas partes maiores: as lies que ele ensina
contidas no contedo dos casos e o contexto em que pode ensinar tais lies
representado pelos ndices. Tipicamente, o contedo de um caso formado por trs
partes principais, KOLODNER (1993):
Descrio do problema ou situao: apresentando as condies do ambiente
no momento que o caso ocorreu e as restries associadas;
Soluo: que expressa a soluo derivada para o problema, podendo ser
formada por uma ao, um conjunto de procedimentos, um diagnstico, uma
classificao, um projeto, etc., variando conforme o tipo de problema que o sistema se
prope a resolver;
Resultado: que descreve o estado no ambiente real aps o caso ter ocorrido e
a soluo ter sido, assim, aplicada.

35
A descrio do problema ou situao representa o problema que precisa ser
solucionado ou a situao que precisar ser interpretada, classificada ou entendida.
Como, de modo geral, um sistema RBC utiliza as similaridades entre a descrio do
caso corrente e do caso armazenado para decidir se um caso armazenado deve ser
recuperado, a descrio deve ser suficientemente detalhada para que o sistema seja
capaz de julgar a aplicabilidade do caso na nova situao.
A descrio do problema formada por trs componentes maiores, de acordo
com KOLODNER (1993): pelos objetivos a serem atingidos na resoluo de um
problema, pelas restries relacionadas a estes objetivos e pelas caractersticas do
problema e relaes entre as partes.
Os objetivos na descrio do problema se referem s intenes ou propsitos a
serem atingidos na situao. Estas intenes podem ser concretas ou abstratas,
dependendo de que lies o caso almeja fornecer. Se o caso deseja diagnosticar um
conjunto de sintomas, ento o objetivo ser diagnstico. J se o caso pretende criar
uma soluo para uma questo, seu objetivo ser criao. As restries, por sua vez,
envolvem as condies relacionadas aos objetivos almejados que precisam ser
consideradas no processo, como, por exemplo, no incluir um certo ingrediente na
criao de uma receita culinria ou no causar determinada reao em um paciente que
possui alergia a um medicamento.
Por fim, as caractersticas da situao envolvem todas as outras informaes
descritivas sobre a situao, que so relevantes para a obteno dos seus objetivos. Em
uma aplicao de diagnstico mdico, por exemplo, sintomas e resultados de exames do
paciente so descritores necessrios para construir a soluo, enquanto outras
caractersticas podem tambm ser consideradas para a busca do objetivo. Do mesmo
modo, alguns sintomas ou particularidades observados em uma rede de computadores
devem necessariamente ser usados para solucionar um problema, enquanto outros
podem ser usados para a soluo desejada.
Dependendo da aplicao sendo desenvolvida, diferente ateno exigida para
cada um dos componentes da descrio do problema algumas enfatizam os trs
componentes da descrio, outras enfatizam somente um ou dois. As situaes que
exigem uma soluo explcita, como um projeto ou planejamento de tarefas, enfatizam,
de modo geral, os objetivos e as restries em suas representaes do problema.
Aquelas aplicaes que requerem entendimento ou interpretao, por sua vez,
tendem a ter um nico objetivo simples como diagnstico ou entendimento e enfatizam
os escritores da situao problema. Assim, conforme sugere KOLODNER (1993), h
dois princpios gerais que devem ser seguidos na deciso de que informaes devem
pertencer descrio do problema:
incluir toda a informao descritiva que deve ser explicitamente levada em
conta na busca do objetivo do caso;
incluir todos os tipos de informao descritiva que so normalmente usados
para descrever os casos desta espcie.
O primeiro princpio permite que o sistema ignore caractersticas que so
relevantes, mas implcitas, por nunca variarem. O segundo, necessrio para a
acessibilidade do caso. Ao menos algumas pores da descrio do caso so usadas em
um sistema para a indexao e julgamento da similaridade, sendo melhores para a

36
recuperao aqueles que so semelhantes nas dimenses que se sabe serem relevantes
para a soluo do problema. Porm, como existe muita informao que no conhecida
quando um novo caso descrito, necessrio alternar o modo de determinar os
melhores casamentos.
A parte componente soluo de um caso representa os conceitos ou objetos que
atingiram os objetivos descritos na descrio do problema, levando em considerao as
restries e as caractersticas especificadas. Existem diferentes tipos de solues em
um problema de projeto a soluo o artefato elaborado, enquanto que em um problema
de interpretao de uma situao ela a interpretao apresentada para o caso. Alm da
soluo de um caso recuperado ser usada para derivar uma soluo para o caso corrente,
ela pode tambm possuir componentes que acrescentem adaptao e reviso da soluo
proposta. Entre as partes componentes da soluo que podem ser teis para essas
funes esto, alm da soluo propriamente dita, o conjunto de passos usados no
raciocnio para resolver o problema, o conjunto de justificativas para as decises que
foram tomadas, as solues aceitveis que no foram escolhidas e suas as justificativas,
as solues inaceitveis que foram eliminadas e suas justificativas e as expectativas
frente aos resultados aps a soluo ser efetuada.
Por fim, a parte componente resultado de um caso identifica o que ocorreu como
conseqncia da soluo efetuada e como ela foi realizada. Este componente inclui
tanto o feedback do ambiente real como as interpretaes para este feedback, de modo
que o sistema possa antecipar problemas em potencial e predizer resultados de uma
soluo proposta. Alm disso, o resultado pode tambm incluir a explicao do porqu
uma soluo falhou ou expectativas frente a uma soluo falharam e o que foi feito para
reparar estas falhas.
Os casos podem ser representados em uma grande variedade de formas usando
praticamente que todos os formalismos de representao da Inteligncia Artificial,
conforme WATSON (1994), incluindo frames, objetos, predicados, redes semnticas e
regras, alm de estruturas menos ricas semanticamente, como os modelos de banco de
dados comerciais. Segundo ABEL (1986), muitos sistemas usam mais de um dos
formalismos acima combinados.
3.4.1.2. Indexao
Os ndices so normalmente utilizados quando a base de casos grande, para
facilitar a recuperao dos casos armazenados, sendo os responsveis por tornar um
caso acessvel no momento e condio apropriado isto , quando ele possuir um
potencial para contribuir para a soluo do problema corrente. So combinaes dos
descritores importantes de um caso, isto , daqueles descritores que distinguem um caso
dos outros. O esquema de indexao envolve vrias partes. Primeiramente, devem ser
designados rtulos para os casos no momento em que estes so armazenados na base, de
modo a garantir que eles possam ser recuperados no momento apropriado. Tais rtulos
so usados no momento de recuperao para julgar se o caso armazenado deve ser
selecionado. Uma segunda questo envolvendo a indexao a definio da
organizao dos casos, de modo que a busca atravs da base de casos seja eficiente e
precisa. Relacionada a estas questes est a definio dos algoritmos de recuperao a
serem utilizados.

37
A atribuio de ndices aos casos depende da compreenso do contedo e das
informaes que um caso pode fornecer. Ela deve permitir que sejam reconhecidas as
similaridades entre a situao corrente e os casos armazenados que podem contribuir
para atingir os objetivos do caso corrente. Assim, para a escolha de um bom ndice,
necessria uma grande compreenso da situao problema, de forma que essas
similaridades possam ser corretamente identificadas. Considere-se, por exemplo, a
resoluo de um problema ocorrido em uma rede de computadores. Informaes como a
aplicao utilizada e o usurio que identificou o problema no so importantes quando o
problema envolve o acesso fsico de um equipamento por problemas em sua placa de
rede ou no cabeamento. Por outro lado, se o problema envolver a no autenticao do
usurio por uma aplicao, a aplicao utilizada e o usurio so dados importantes.
Como apontado em ABEL (1986), a similaridade que se busca em sistemas de
raciocnio baseado em casos muitas vezes diferente daquelas semelhanas superficiais,
obtidas pela comparao de dados descritivos. um estilo de similaridade mais abstrata,
que permite reconhecer em diferentes contextos as solues que possam ser aplicadas
em novos casos.
Atravs da experincia com a construo de sistemas RBC, a comunidade RBC
prope,conforme KOLODNER (1993), alguns princpios que devem ser seguidos para a
escolha de ndices apropriados:

eles devem ser preditivos, isto , devem prever a utilizao da informao


presente nos casos para diferentes situaes problema;
devem enderear os propsitos em que o caso pode ser usado;
devem ser suficientemente abstratos para permitir que um caso seja til em
uma variedade de diferentes situaes;
devem ser suficientemente concretos para que possam ser facilmente
reconhecidos em situaes futuras.
Os ndices podem ser escolhidos atravs de mtodos manuais, onde a escolha
comea com a anlise dos casos para a identificao da utilidade que poderia ter o caso,
e sob que circunstncias. Essas informaes devem ser ento traduzidas para
representaes que o sistema pode usar, definindo um conjunto de descritores, que so
ento trabalhados de modo a garantir que os ndices sejam aplicveis em mbito geral e
que possam ser reconhecidos no mximo de situaes possveis.
Alm dos mtodos manuais, existem, tambm, mtodos de indexao
automticos, que so disponibilizados por muitas das ferramentas de RBC disponveis
no mercado. Entre os mtodos automticos referenciados por KOLODNER (1993),
podemos citar o mtodo baseado em uma checklist, o mtodo baseado em diferenas e o
mtodo baseado em explicao. Entretanto, apesar do sucesso de muitos mtodos
automticos, descritos por WATSON (1994), Janet Kolodner alerta que os ndices
tendem a ser mais bem escolhidos pelo modo manual, e em aplicaes prticas devem
ser escolhidos desta forma.

38
3.4.2. Recuperao
3.4.2.1. Algoritmos de Recuperao
Um algoritmo de recuperao de casos o responsvel por encontrar, a partir da
descrio de um problema ou situao, um pequeno conjunto de casos similares ao
problema corrente que seja til para a identificao da sua soluo. A busca pelos casos
similares no deve considerar, porm, apenas a descoberta de algumas dimenses da
descrio do problema similares situao. Na identificao da similaridade entre os
casos, segundo KOLODNER (1993), alguns atributos so mais importantes que outros
no julgamento da mesma e esta valorao pode variar de acordo com os objetivos
almejados pelo sistema. Assim, a recuperao de casos similares envolve considerar que
os casos similares ao problema corrente so aqueles que so similares nas dimenses
que auxiliam o sistema a realizar suas tarefas ou atingir os objetivos desejados.
A recuperao dos casos teis situao corrente envolve vrias etapas, cada
uma possuindo diferentes pontos que devem ser analisados. Inicialmente, precisam ser
identificadas quais as caractersticas ou dimenses do caso corrente que devem ser
utilizadas para julgar a similaridade dos casos armazenados. Isso determinado
levando-se em conta os propsitos para os quais os casos esto sendo recuperados e as
dimenses que foram relevantes no passado para determinar o resultado do ambiente
para as solues aplicadas. Essas caractersticas sero ento utilizadas pelos
procedimentos de casamento e classificao para identificar quais dos casos
armazenados tm o potencial de serem mais teis.
Como os ndices de um caso indicam quais das suas dimenses so mais
importantes para julgar a similaridade, os algoritmos de casamento utilizam os ndices
para auxiliar no processo de identificao de que caractersticas devem ser consideradas
para a similaridade entre os casos. Esses algoritmos devem, contudo, estar habilitados
para distinguir, dentre os vrios ndices existentes, quais focalizar para um dado
momento quando os casos estiverem indexados em muitas formas.
Uma outra questo relevante no processo de recuperao a dos algoritmos de
busca propriamente ditos. Estes algoritmos so os processos que viabilizam encontrar na
base aqueles casos que potencialmente podem ter um bom casamento com a situao
corrente. A partir dos casos identificados pelos algoritmos de busca empregados, os
procedimentos de casamento so aplicados.
Os algoritmos de busca so relacionados diretamente s estruturas utilizadas nas
bases de casos para organiz-las. Uma estrutura em lista , por exemplo, consultada pelo
algoritmo de modo diferente de uma estrutura em rvore complexa. Assim, diferentes
organizaes dos casos na base ocasionam diferentes algoritmos para recuperar seus
casos.
Um esquema dos processos envolvidos na recuperao de um caso pode ser
visto na figura abaixo, adaptada de KOLODNER (1993). Conforme mostra o nvel
superior da figura, inicialmente feita uma avaliao da situao e so identificadas as
caractersticas que sero usadas para a busca na base de casos, sendo freqentemente
necessrio que algumas dessas caractersticas sejam elaboradas pelo sistema. Os
algoritmos de recuperao, atravs da descrio do problema e dos ndices selecionados
para a consulta na base, buscam os casos com potencial de serem similares e utilizam os

39
mecanismos de casamento, seja para calcular o grau de casamento entre a situao
corrente e os casos encontrados, seja para calcular o casamento de uma dimenso
individual. Os algoritmos de recuperao retornam, ento, uma lista dos casos
parcialmente casados, cada qual com no mnimo algum potencial de ser til para o
sistema. Os casos so, por fim, analisados pelos procedimentos de classificao e
aqueles que possuem mais potencial de serem teis so retornados.

Avaliao da situao
Elaborao da descrio do caso
Clculo dos ndices hipotticos para a
nova situao (caso corrente)

Busca na estrutura organizacional da


memria para identificar casos
parcialmente casados

Seleo do(s) melhor(es) caso(s)

Figura 3.4. O Processo de Recuperao na Base de Casos

3.4.2.2. Casamento e Classificao


Conforme j foi visto, o processo de recuperao dos casos similares da base
envolve a definio dos ndices a serem utilizados, a busca dos casos com potencial de
serem teis para a situao corrente, o casamento desses casos com o caso corrente e a
classificao dos casos recuperados, de modo a selecionar o melhor ou os melhores
casos. Esses processos no so, porm, isolados uns dos outros: eles dependem e so
algumas vezes altamente integrados entre si.
Muitos dos procedimentos de recuperao para as estruturas discutidas acima
so exemplos disso, agregando funes de casamento na prpria busca. Algoritmos para
busca em memria linear, por exemplo, fazem o casamento de cada caso com o caso
corrente, computam o valor de casamento e escolhem o caso de maior valor. J os
algoritmos de busca em redes de caractersticas compartilhadas agregam funes de
casamento no momento de busca, utilizando relaes que fazem o casamento parcial das
caractersticas do nodo. Os procedimentos de casamento de casos, assim, podem ocorrer

40
no apenas aps a busca na base de casos, mas tambm serem utilizados para esta
busca.
Para a definio dos procedimentos de casamento necessrio que algumas
questes sejam consideradas. Uma dessas questes envolve a identificao da
correspondncia entre os campos do caso corrente e os casos armazenados. Isso pode
ser feito por meio da associao de campos com nomes iguais, contudo nem sempre esta
associao to simples: os casos podem possuir nmero de caractersticas diferentes,
estar representados em diferentes pontos de vista, variando com os objetivos almejados
pela situao descrita, etc. Nessas situaes, o uso de heursticas de senso comum pode
contribuir para a identificao da correspondncia. Em KOLODNER (1993), cinco
heursticas que podem ser utilizadas nesse processo so apresentadas:
1. campos com mesmo nome devem ser mapeados diretamente, mesmo
considerando que uma estrutura possua subdivises e outra no;
2. preferir o mapeamento entre as caractersticas que possuem o mesmo papel
funcional;
3. preferir o mapeamento das caractersticas que satisfazem as mesmas
restries;
4. preferir o mapeamento das caractersticas que possuem os mesmos valores
ou valores similares;
5. mltiplas caractersticas do problema podem ser mapeadas para uma
caracterstica simples mais geral ou vice versa.
Quando um modelo causal para o domnio est disponvel, isso pode tambm ser
utilizado para a definio dessa correspondncia. O sistema CASEY, aplicado ao
domnio da medicina, um exemplo de como um modelo causal pode ser usado para
determinar a correspondncia entre caractersticas.
Neste modelo, so utilizadas regras de evidncia para determinar como dois
campos podem ou no ser considerados iguais. utilizado um modelo que define que
caractersticas e resultados correspondentes a outras caractersticas e outros resultados,
que caractersticas levam a outras, que valores entre os possveis para uma dimenso
pertencem ao mesmo intervalo e so assim considerados similares.
Outra questo necessria para os procedimentos de casamento a definio de
como ser calculado o grau de similaridade entre as caractersticas correspondentes.
Entre os mtodos disponveis citados por KOLODNER (1993) esto:
distncia qualitativa e quantitativa. Este mtodo utiliza vrias formas,
dependendo do tipo de valor da dimenso:
(a) dividir em regies, atribuindo casamento exato para aqueles
valores que esto na mesma e os valores uma regio, duas
regies, etc. para aqueles que no se encontrarem na mesma. Para
resolver problemas gerados por valores muito prximos dos
limites dos intervalos, podem ser criadas regies que se
sobrepem;
(b) medir a diferena numrica e atribuir classificao qualitativa;

41
(c) fazer a enumerao de valores qualitativos quando no h
nmeros e medir como casamento exato, casamento com uma
regio distante, duas regies distantes, etc. Pode tambm ser
atribudo um valor numrico para cada valor qualitativo e
compar-los;
(d) comparar os atributos de cada valor utilizando uma estrutura de
comparao que aponta as similaridades e diferenas ou tambm
utilizando representaes com frames;
(e) comparar numericamente os valores numricos, atribuindo um
casamento pior para valores mais distantes.
julgar o grau de similaridade baseado na eficincia da funo. Para isso pode
ser utilizado um modelo causal. Se dois valores diferentes qualitativamente (como, por
exemplo, uma cadeira e uma pedra utilizada para uma pessoa sentar-se) so mostrados
correspondentes por um modelo causal, ento elas casam. Neste mtodo no
comparado o grau de casamento, apenas se eles casam ou no.
hierarquia de abstrao. Neste mtodo, a similaridade entre dois valores
medida pela utilizao da abstrao com valor comum a estes valores mais especfica,
sendo que quanto mais especfica a abstrao comum, maior a similaridade.
Por fim, necessrio atribuir valores de importncia para as dimenses da
representao, de modo a apontar as informaes mais relevantes para a similaridade
dos casos sendo comparados. Para isso, devem ser atribudos pesos para cada campo, o
que pode ser feito de forma global, para um grande nmero de casos, ou atribudo de
modo mais local, apenas para um pequeno conjunto. Esta importncia entre as
dimenses pode ser identificada com a ajuda de um especialista ou atravs de uma
avaliao estatstica para determinar quais campos resultam em diferentes resultados ou
solues. Pode tambm ser interessante atribuir diferentes valores de importncia para
cada objetivo da situao, o que pode ser feito de forma dinmica.
Uma vez que alguns casos tenham sido recuperados e os procedimentos de
casamento tenham sido efetuados sobre eles, estes devem passar por mtodos de
classificao a fim de sejam escolhidos os casos mais similares situao corrente.
Como j foi dito, muitas vezes esses procedimentos so feitos de modo integrado, em
uma nica etapa.
Existem vrios mtodos envolvendo os procedimentos de casamento e
classificao que so utilizados no processo de recuperao dos casos. Entre estes
apresentamos:
algoritmo de vizinhana (nearest-neighbor matching): este algoritmo um
procedimento numrico em que utilizada uma funo de avaliao numrica para cada
caracterstica. Para cada caracterstica do caso corrente encontrada a caracterstica
correspondente no caso recuperado, os valores so comparados, o grau de casamento
calculado e multiplicado pelo grau de importncia da caracterstica;
excluso: os casos que no possuem caractersticas ou relaes que os tornam
diferentes ou no teis em relao ao caso atual so excludos, como no caso de
objetivos diferentes, por exemplo. Aps este processo, realizada uma avaliao
numrica.

42
Existem tambm mtodos que levam em conta o contexto da situao, que esto
presentes em sistemas que tratam diferentes propsitos ou contextos e, assim, precisam
utilizar meios de avaliar seus graus de casamentos parciais tambm diferentes. Isso pode
ser feito utilizando-se:
mltiplas associaes de importncia, em uma classificao dinmica. Neste
mtodo so utilizados vrios conjuntos de critrios de importncia, cada um associado
com as condies relacionadas s circunstncias sobre as quais eles deveriam ser
usados. Isso pode ser feito atravs:
(a) do fracionamento da base de casos sendo relacionado um
diferente conjunto de critrios de importncia para cada partio;
(b) da associao de diferentes critrios de importncia para cada
diferente objetivo de raciocnio;
(c) da associao de um ou mais conjuntos de critrios de
importncia para cada caso, cada um associado com uma
diferente tarefa para qual o caso pode ser usado.
Quando somente um objetivo de raciocnio ser usado na base de casos, mas o que
importante varia com o tipo da nova situao, a biblioteca de casos pode ser secionada
de acordo com o tipo e para cada partio indicado um conjunto de valores de
importncia para as dimenses dos casos (caso a). Quando mltiplos objetivos so
suportados pela base de casos, entretanto, o particionamento por tipo no suficiente e
os casos em cada partio devem ser avaliados diferentemente dependendo do objetivo
do raciocnio para o qual ele deve servir (caso b). Para acomodar diferentes objetivos de
raciocnio, diferentes funes de avaliao podem ser associadas para cada diferente
objetivo de raciocnio. Por fim, quando critrios para julgar a similaridade variam tanto
em relao ao objetivo sendo buscado como em relao ao tipo de caso, valores de
importncia devem ser assinalados, levando ambos em conta (caso c). Podem ainda
existir, porm, casos altamente particulares. Nessa situao, devem ser associados um
ou mais conjuntos de critrios de importncia para cada caso. Cada conjunto de valores
designado para um objetivo e enfatiza as dimenses do caso que, se casarem bem,
indicam que ele pode servir para o objetivo.
preferncias para implementar um esquema de classificao relativa.
utilizado para fazer um corte aps os casos terem sido selecionados, passando-os por
filtros se existem muitos casos aps o casamento. Esses filtros podem ser relacionados
ao objetivo de raciocnio, ao grau de especificidade e facilidade de adaptao, e
freqncia e ocorrncia recente.
3.4.3. Reutilizao
Aps os casos similares terem sido recuperados da base e o melhor caso ter sido
selecionado, a soluo deste caso deve ser reutilizada, podendo ser adaptada para as
necessidades do problema corrente. A adaptao consiste, segundo WATSON (1994),
na identificao das diferenas entre o caso recuperado da base e o caso corrente e a
anlise das partes do caso recuperado que podem ser transferidas para o caso corrente,
aplicando frmulas e regras que consideram estas diferenas e sugerem uma soluo.

43
Uma soluo pode ser reutilizada de modo direto, sendo aplicada a soluo
recuperada sem ser adaptada. Essa tcnica, denominada por alguns de adaptao nula ou
identificada simplesmente como cpia, til em problemas que envolvem um raciocnio
complexo, mas uma soluo simples, e utilizada nos sistemas em que as diferenas
no so consideradas relevantes, ao passo que as similaridades entre os casos o so.
Entretanto, em sistemas que levam essas diferenas em conta, um processo de adaptao
necessrio, podendo ser feito atravs da simples substituio de componentes da
situao recuperada por componentes da situao corrente, por meio da transformao
da antiga soluo para uma soluo que seja aplicada ao novo problema e por meio da
derivao de uma nova soluo, utilizando mtodos para derivar a soluo ou pedaos
da soluo do caso armazenado. Entre os mtodos ou tcnicas que tm sido usados para
adaptao podem ser citados:
reinstanciao: usada para instanciar caractersticas da antiga soluo com
caractersticas da nova. utilizada, por exemplo, segundo KOLODNER (1993), pelo
sistema CHEF para propor a substituio de um prato por outro na elaborao de um
cardpio de uma refeio.
adaptao parametrizada: usada para o ajuste de parmetros da antiga
soluo atravs do uso de heursticas especializadas que identificam as relaes entre as
especificaes de entrada e as diferentes solues. Esta tcnica freqentemente usada
quando as variveis relevantes do caso so numricas, sendo um exemplo de sua
aplicao o clculo da quantidade de ingredientes pela relao do nmero de pessoas.
Uma das dificuldades em aplicar esta tcnica o conhecimento da funo que relaciona
as variveis descritivas do problema e a soluo.
busca local: fornece um meio de buscar em uma estrutura de conhecimento
auxiliar um substituto para um valor ou estrutura do caso recuperado que no
apropriado para a situao corrente. Um exemplo seria a busca em uma rede semntica
por frutas que pudessem substituir a fruta laranja em um prato de sobremesa sendo
elaborado.
consulta a memria: procura em estruturas de conhecimento auxiliares ou na
memria de casos por algo com uma dada descrio.
substituio baseada em casos: utiliza, para a substituio de um parmetro,
casos da base.
transformao de senso comum: utiliza heursticas de senso comum para
inserir, remover ou modificar componentes em uma soluo.
reparo guiado ao modelo: efetua transformaes na soluo do caso anterior,
guiadas por um modelo causal. indicada especialmente em sistemas que envolvem
raciocnio sobre equipamentos, seja envolvendo diagnstico ou projeto.

adaptao ou reparo de propsitos especiais: utiliza heursticas de


propsitos especiais para modificar estruturas ou adaptaes especficas ao domnio no
fornecidas pelos demais mtodos acima. Essas heursticas so indexadas pelas situaes
em que so aplicveis. Podem ser utilizadas para, por exemplo, inserir um passo extra
em um procedimento de soluo, se determinado componente fizer parte do problema.
adaptao por derivao ou procedural: utiliza o mtodo usado para
encontrar a soluo do caso recuperado para derivar a soluo da situao corrente.

44
Usando este raciocnio, um problema pode ser resolvido pela mesma seqncia de
passos que foi previamente utilizada para solucionar o caso recuperado. importante
observar que procedimentos no so solues do problema, mas instrues que devem
guiar para a causa do problema e solues potenciais. Com essa forma de adaptao, o
sistema oferece (ou mesmo executa) os procedimentos que funcionaram em casos
passados para chegar soluo do problema corrente. Para utilizar este mtodo,
necessrio haver um repositrio dos procedimentos e um modo de mapear tipos de
problemas para procedimentos que mais regularmente levam a uma soluo.
adaptao baseada em crtica: nesta tcnica, o usurio observa a soluo
proposta no caso recuperado e manualmente adapta a soluo para o caso corrente.
usada quando o sistema recupera solues que o usurio sabe que no funcionar,
sabendo porque no funcionar e como fazer funcionar. Nessas situaes, o usurio
deve adaptar o caso por si mesmo, j que o caso sugerido como uma possvel soluo
pode solucionar a situao com uma pequena modificao. Deve ser, entretanto,
documentado o modo que o caso foi adaptado para que ele possa ser usado no futuro,
conforme ABEL (1986).
3.4.4. Reviso
Aps um caso ter sido recuperado da base e sua soluo adaptada para o caso
corrente, so necessrios dois passos de reviso: a avaliao da soluo proposta e, se
necessria, a reparao da soluo.
3.4.4.1. Avaliao da Soluo Proposta
A avaliao da soluo resultado da aplicao da soluo proposta em um
ambiente de avaliao dos resultados ocorridos. O ambiente pode ser representado por
um ambiente de simulao apto a gerar os resultados corretos a uma soluo. De modo
geral, porm, essa etapa avaliada no ambiente real, para o problema real. Os resultados
da execuo da soluo podem variar desde alguns segundos, quando aplicada, por
exemplo, para corrigir automaticamente uma configurao em uma rede, at vrios
meses, quando aplicada, por exemplo, a um tratamento mdico. Durante o perodo de
execuo, segundo MELCHIORS (1999), um caso pode ser aprendido, sendo j
mantido armazenado na base, porm a informao de que o caso no foi ainda avaliado
deve ser marcada a este.
Conforme apresentado por LEWIS (1993) apud MELCHIORS (1999), existem,
de modo geral, trs modelos de execuo para uma soluo:
execuo manual: na execuo manual, o usurio do sistema responsvel
por interpretar a soluo proposta e decidir se ela deve ou no ser executada. Segundo
ABEL (1986), ocorre na maior parte dos sistemas RBC, em que o sistema somente
sugere, com base na sua experincia, no processo de recuperao e no processo de
adaptao, uma boa soluo para o problema, que executada pelo usurio.
execuo no supervisionada ou sem controle humano: em alguns
domnios, quando uma soluo expressa em um programa de computador, um sistema

45
RBC pode ter a capacidade de executar a soluo que ele prope, realizando-a
automaticamente sem interveno ou controle humano. Quando isso ocorre, formado
um ciclo fechado de soluo de problemas sem interveno humana, em que o problema
submetido ao sistema, um caso similar recuperado e sua soluo adaptada para a
situao corrente, a soluo executada pelo sistema e os resultados so inseridos na
base de casos. Esse tipo de execuo envolve, contudo, um alto risco, pois delega muita
responsabilidade ao sistema.
execuo supervisionada ou com controle humano: um modo intermedirio
a execuo da soluo proposta de modo automtico com o controle do usurio. Nessa
modalidade, o usurio pode permitir ou proibir a execuo de uma soluo que
sugerida pelo sistema, que a executa automaticamente se for autorizado.
3.4.4.2. Reparao da Soluo
Caso a soluo proposta no apresentar resultados satisfatrios durante sua
execuo, simulada ou no, faz-se a reparao da soluo, onde uma nova soluo deve
ser gerada. Uma vez que a soluo encontrada for correta, a experincia obtida deve ser
aprendida, sendo armazenada para uso futuro. Esses processos (avaliao, reparao e
armazenamento) podem ser vistos como obteno de experincia, ao passo que o
processo de recuperao e de adaptao visto como uma aplicao da experincia
armazenada.
Aps uma soluo ter sido avaliada, se o seu resultado for satisfatrio, a
experincia que foi obtida durante o processo de resoluo do problema corrente deve
ser armazenada no sistema. Isso feito atravs do processo de aprendizado, que ser
visto na prxima seo. Se, entretanto, o resultado da avaliao mostrou que a soluo
proposta no produziu um resultado adequado, o caso deve ser reparado. A reparao do
caso envolve a deteco dos erros da soluo corrente e a recuperao ou gerao da
explicao para a ocorrncia destes erros. Um exemplo de um sistema em que isso
realizado o sistema CHEF, desenvolvido por Hammond e citado por AAMODT
(1994), que utiliza um conhecimento causal para gerar explicaes do porqu certos
objetivos almejados no caso corrente no foram atendidos, e armazena as situaes
gerais que produziram
falhas usando uma tcnica de aprendizado baseada em
explicao. Um segundo passo no processo de reparao utiliza, ento, as explicaes
das falhas para modificar a soluo corrente de modo que os erros no mais ocorram. A
reparao de falhas pode ser executada diretamente (quando for garantido que est
correta) ou pode ser avaliada e reparada novamente se necessrio. O esquema do
processo de reviso pode ser visto na figura 2.3.
3.4.5. Armazenamento
O armazenamento dos casos o processo de incorporao ao sistema da
experincia obtida durante a resoluo do problema. Como foi visto, esse aprendizado
do sucesso ou falha da soluo proposta proporcionado pelo resultado da fase de
avaliao e possvel reparo da soluo. O armazenamento envolve a seleo de que
informaes do caso devem ser retidas, em que formas estas informaes devem ser

46
retidas, como indexar o caso para posterior recuperao em problemas similares futuros
e como integrar o novo caso na memria de casos, segundo AAMODT (1994).
Quando um caso foi resolvido pelo uso de um caso recuperado, um novo caso
pode ser construdo ou o caso recuperado pode ser generalizado para ni cluir o caso
corrente. J quando o problema foi resolvido por outros mtodos, como por consultas ao
usurio, um novo caso inteiro deve ser construdo. Informaes como descritores
relevantes do problema e soluo para a situao so dados geralmente utilizados para
armazenamento do conhecimento, assim como explicaes e outras formas de
justificativa do porqu a soluo utilizada foi proposta para o problema. No sistema
CASEY, por exemplo, explicaes so retidas nos casos e reutilizadas futuramente na
modificao da soluo. Informaes obtidas da tarefa de reparo da soluo podem
tambm ser extradas e retidas no sistema, seja como casos separados que falharam, seja
dentro de casos problema totais.
Por fim, o sistema RBC deve integrar o conhecimento aprendido base de casos.
Isso pode ser feito com a modificao do esquema de indexao dos casos existentes,
em que o sistema pode aprender o modo de ajust-los para que a similaridade possa ser
mais bem identificada. Os pesos ou importncia dos ndices de um caso ou soluo em
particular podem ser ajustados pelo sucesso ou falha do uso do caso na soluo do
problema corrente. As caractersticas que foram julgadas relevantes na recuperao do
caso com sucesso tm ento sua importncia de associaes aumentada, ao passo que as
associaes das caractersticas que levaram a casos no similares serem recuperados so
enfraquecidas. Com esse processo, a estrutura de ndices tem a funo de canalizar e
adaptar a memria de casos para seu uso.
O aprendizado pode ocorrer tambm dentro de um modelo de conhecimento
conceitual geral, por exemplo utilizando outros mtodos de aprendizado automtico ou
atravs de interao com o usurio, conforme AAMODT (1994). Assim, com uma
interface apropriada ao usurio, o modelo de conhecimento geral do sistema pode ser
incrementado e refinado naturalmente ao longo da resoluo de problemas, do mesmo
modo como feito com a memria de casos.
3.5. Vantagens do paradigma RBC sobre os demais
O RBC pode ser usado para vrias tarefas de raciocnio, como por exemplo:
propor solues para novos problemas, antecipar, evitar e explicar fracassos em
solues propostas, e adequar e/ou reparar solues propostas.
extrao do conhecimento: basta ter um banco de dados. A difcil fase de
extrao do conhecimento especialista facilitada nos sistemas de RBC pois a
representao do conhecimento pode ser feita com o preenchimento direto dos fatos que
descrevem uma experincia. O paradigma proporciona um excelente mecanismo de
aprendizagem, que pode ser utilizado para aquisio automtica de conhecimento.
representao do conhecimento: A tarefa de representao do conhecimento
resume-se em escolher o tipo de estrutura da base de casos. Em aplicaes onde a
complexidade exigir, necessria a criao de ndices, entretanto muitas aplicaes
omitem este passo.

47
reutilizao do conhecimento: o conhecimento contido nos casos pode ser
utilizado ou combinado e adaptado para gerar novas solues alm das originalmente
presentes na memria.
aprendizagem: a atualizao do conhecimento feita automaticamente, na
medida que as experincias so utilizadas, assim o sistema pode crescer e incrementar
sua robustez e eficincia.
conscincia: estes sistemas possuem uma certa conscincia com relao a suas
prprias limitaes. Se o sistema no encontra casos com a devida similaridade com o
caso em anlise, o sistema no gera soluo alguma. Isto evita possveis problemas
gerados por sistemas sob outros paradigmas que podem gerar uma soluo aproximada.
fcil acesso s solues: Primeiro, estes sistemas podem recuperar uma
soluo rapidamente, ao contrrio de outros sistemas que precisam fazer todo um
trabalho para buscar uma soluo numa vasta base de conhecimento. Outra vantagem
refere-se ao fato de que o problema deve ser identificado pelo sistema o suficiente para
recuperar uma soluo, no necessrio que o sistema entenda perfeitamente as
condies e circunstncias do problema para propor uma soluo. Os sistemas de RBC
tambm proporcionam um meio de resoluo de um problema quando no houver um
algoritmo disponvel para avaliao e soluo do mesmo.
raciocnio implcito: a incerteza implcita nas informaes contidas nos
casos utilizada sem a necessidade de um tratamento especfico desta incerteza.
3.6. reas de Aplicao do RBC e Implementaes Existentes
O raciocnio baseado em casos uma rea efervescente da Inteligncia Artificial
e, como tal, serve de campo para pesquisas e aplicaes dos mais diversos ramos do
conhecimento humano. Para exemplificar o que se pode fazer com o paradigma RBC,
apresenta-se a seguir uma srie de casos de reas de aplicao e sistemas que foram
implementados usando RBC, retirados dos trabalhos apresentados nos workshops da 4
Conferncia Internacional em Raciocnio Baseado em Casos, realizada em julho de
2001 em Vancouver, no Canad. Sendo essa a mais recente conferncia internacional
exclusiva do assunto podemos traar um panorama do que se faz hoje no mundo em
matria de RBC.
Gerenciamento do conhecimento orientado a processos: uma das reas de
pesquisa e desenvolvimento de aplicaes mais promissoras do RBC a do
gerenciamento de bases de conhecimento visando o reuso de experincias do setor
produtivo das empresas. Um trabalho apresentado por JEDLITSCHKA (2001) mostra
uma fbrica experimental criada no Instituto Experimental de Engenharia de Software
de Fraunhover, em Kaiserlautern, Alemanha. L foi criado o COIN (Corporate
Information Network Rede de Informaes Corporativas), com o objetivo de fornecer
aos seus usurios informao/conhecimento na hora certa, representados
adequadamente, e dentro de um contexto atualizado, seguindo a filosofia just-in-time.
COIN usado como um ambiente de projeto real para o desenvolvimento e validao de
tecnologias e mtodos para experincias de administrao orientadas a objetivos

48
incluindo elucidao, processamento,
avaliao do conhecimento.

disseminao,

apresentao,

manuteno

Ferramentas de suporte a autoria de RBC: um dos maiores problemas dos


sistemas RBC a chamada autoria, a criao de novos casos na base de conhecimento,
esteja ela previamente vazia ou no. Um bom SE que use raciocnio baseado em casos
deve ser capaz de recomendar a incluso de um novo caso em uma biblioteca de casos
existente a partir da deteco da representatividade e ineditismo de um caso apresentado
por um usurio.
McSHERRY (2001) apresenta uma ferramenta de ICAS (Intelligent caseauthoring support Suporte inteligente a autoria de casos) de sua autoria, o CaseMaker,
que recomenda a adio de um caso com base em sua contribuio para cobertura do
sistema. Ou seja, ele recomenda aqueles casos que o sistema RBC atualmente incapaz
de resolver e o autor humano decide quais casos recomendados sero adicionados na
biblioteca. Os casos apresentados so listados na ordem de sua contribuio para
cobertura do espao de soluo.
MULLINS e SMYTH (2001) mostram tcnicas de visualizao de bases de
conhecimento que auxiliam usurios a entender a natural complexidade dos casos
apresentados e a adicionar novos casos s bases. O Sistema de Recuperao de Casos
MacRad uma dessas ferramentas para assistncia no processo de diagnstico
radiolgico: os casos contm imagens mdicas escaneadas como parte de suas estruturas
de soluo. O DRAMA um sistema de auxlio ao desenho para indstria aeroespacial.
O CADRE uma ferramenta de desenho arquitetnico usada na criao de novos
desenhos baseados em antigos.
RBC em comrcio eletrnico: temos vrias pesquisas em RBC que mostram
solues novas e criativas para problemas encontrados no comrcio eletrnico, como a
dificuldade dos compradores em encontrar o produto procurado em meio gigantesca
quantidade de ofertas da WWW.
BRIDGE (2001) descreve em seu artigo um sistema de recomendao de
produtos baseado em contedo. Neste sistema cada produto descrito como um caso e
estes so selecionados de acordo com a aproximao com as descries das preferncias
dos consumidores. O catlogo de produtos visto como a base de casos.
ROTH-BERGHOFER (2001) mostra uma aplicao com raciocnio baseado em
casos para comrcio eletrnico usando o framework orenge. Esta aplicao auxilia o
usurio na tarefa de encontrar anncios on-line de veculos. Uma pgina com
informaes de busca preenchida e o sistema busca os casos (anncios) que mais se
assemelham com aquele desejado.
CUNNINGHAM, et al. (2001) trazem em seu artigo a descrio do projeto
WEBSELL, que visa desenvolver a prxima gerao do suporte inteligente para vendas
on-line. Este sistema usa tcnicas de RBC, rvore de deciso baseada em sistemas de
protocolos, perfil de usurios e recomendaes cooperativas para produzir assistentes
virtuais de vendas que elicitam desejos de usurios e identificam produtos e servios
que atendam esses desejos.
Soft Computing usando Raciocnio Baseado em Casos: o paradigma RBC
pode ser visto combinado com outras reas da IA visando uma melhor adaptao a um

49
dado problema, ou na tentativa de uma nova abordagem a antigos desafios, como a
previso do tempo.
HANSEN e RIORDAN (2001) apresentam um trabalho que, segundo eles, a
nica linha de pesquisa que combina o raciocnio baseado em casos com a teoria fuzzy
para criar uma aplicao de previso do tempo. Este sistema foi batizado de WIND-1,
que foi proposto, implementado e testado. Os testes consistiam na previso de 6 horas
para teto de nuvens e visibilidade num aeroporto, dado um banco de dados de 300.000
horas consecutivas de observao do tempo no aeroporto (36 anos de registro). A
acuracidade das previses foi comparada com a tcnica padro de previso. Nas
simulaes reais, WIND-1 foi, segundo seus autores, significativamente mais acurado.
SOVAT e CARVALHO (2001) propem o uso de redes neurais artificiais para
fazer as etapas de recuperao e adaptao de casos num sistema RBC. Este mecanismo
foi necessrio devido natureza dos casos tratados pelo sistema RBC desenhado pelos
autores. Cada caso representa uma RNA desenhada por um perito para resolver um
problema em particular. Este trabalho lida com o problema de selecionar e adaptar esses
casos. Esses casos podem ser usados como apoio para o desenho de RNAs que tratem
de novos problemas.
MALEK e KANAWATI (2000) apresentam uma aplicao chamada de CoWing
que faz uma busca nos arquivos favoritos (bookmarks) de usurios do sistema para
identificar grupos de pessoas que compartilham interesse pelo mesmo tipo de
informao, podendo criar ento comunidades virtuais on-line. Um agente pessoal,
chamado wing observa o comportamento do usurio ao gerenciar seu arquivo de
favoritos. Cada agente wing implementa um paradigma hbrido neural/RBC que
aprende como o usurio classifica seus bookmarks.

4. Raciocnio Baseado em Casos Aplicado a um Sistema de Auxlio ao


Diagnstico de Problemas em Computadores
4.1. Motivao

No incio do desenvolvimento do presente trabalho, a posse de um grande banco


de dados de problemas resolvidos em computadores norteou a busca de um foco
fechado dentro do vasto campo da IA para a dissertao. Devido s caractersticas
desses casos resolvidos, que sero estudadas adiante, a escolha do RBC aplicado em um
sistema especialista se mostrou muito lgica e coerente.
O atual estgio de desenvolvimento da Inteligncia Artificial e a facilidade de
acesso a um grande poder de processamento, impensvel at poucos anos atrs, nos leva
a repensar a questo da disseminao do conhecimento. Os Sistemas Especialistas tm o
poder de transferir conhecimentos de especialistas em qualquer rea desejada para
usurios leigos, tomando decises ou apoiando seus usurios a tom-las. Conforme
TEIXEIRA (2000), o conhecimento pode ser preservado e transmitido a outros
profissionais da rea, e desse modo melhorar a formao de uma classe profissional.
Grande parte do conhecimento necessrio para resolver um problema atual se
encontra em experincias anteriores assemelhadas. No necessrio se reinventar a roda
a cada novo caso que se apresenta. A formao de um tcnico que resolva
satisfatoriamente toda a gama de problemas surgidos em microcomputadores demanda
um grande investimento em tempo e dinheiro, e um sistema especialista agilizaria o
processo.
Sem contar o fato que quando um tcnico experiente, um especialista, sai da
empresa onde trabalha ele leva junto consigo seus conhecimentos fazendo com que
novos funcionrios comecem do zero novamente, o que no ocorre se esses
conhecimentos estiverem sistematizados num SE. YAZDANI (1986) afirma que os
especialistas humanos so raros e nem sempre so dignos de confiana, requerem
pagamento continuamente ao longo do tempo para usar seus conhecimentos, e morrem
levando seu saber.
Outra motivao para o desenvolvimento de um SE a rpida disseminao de
novas solues. Quando nenhum dos casos presentes na base de conhecimento do SE
servir e o usurio descobrir a soluo por conta prpria, este poder lanar seu novo
caso se tiver permisso para tal e todos demais usurios a usaro a partir da.

4.2. Aquisio do Conhecimento: o Banco de Dados Disponvel

A aquisio de conhecimento, num sistema que usa o paradigma de raciocnio


baseado em casos, consiste nas formas que o sistema vai usar para alimentar sua base de
casos, aumentando assim as chances de que um caso novo apresentado seja resolvido a
partir daqueles armazenados. As formas de aquisio de conhecimento podem ser:

51
automtica sem superviso, automtica com superviso e manual. A aquisio
automtica assim chamada quando o prprio sistema conta com um mdulo que
recolhe informaes do ambiente, atravs de sensores, e quando detecta que o conjunto
de dados recolhidos difere dos casos j armazenados este novo caso armazenado
diretamente na base de casos. Se essa armazenagem feita sem consultar usurios
humanos ela automtica, caso contrrio ela supervisionada. A armazenagem manual
aquela onde a responsabilidade por coletar, organizar, transformar e/ou guardar os
dados na base dos usurios humanos. No nosso sistema proposto a forma de aquisio
de conhecimento manual, com dois momentos distintos: a filtragem, organizao e
transformao dos dados que j esto armazenados em outro formato num primeiro
momento, e o lanamento de novos casos a partir da interao com os usurios do
sistema num segundo momento.
O primeiro momento ser elucidado a seguir, com a apresentao do banco de
dados disponvel e com a metodologia a ser adotada para filtrar, organizar e transformar
esses dados de modo a formar a base de casos do SE.
4.3. Apresentao do Banco de Dados

Para a criao da base de casos dispe-se de um banco de dados inicial de 10804


ordens de servio de uma empresa de assistncia tcnica de informtica, da qual o autor
do presente trabalho scio-proprietrio, descrevendo o problema que o equipamento
apresenta e a soluo adotada para resolver o problema. Essas ordens de servio
referem-se ao perodo de setembro de 1998, quando foi implantado um sistema de
armazenamento das OS, a julho de 2001, quando comeou o trabalho de organizao e
filtragem com vistas ao desenvolvimento do prottipo de SE.
Logo a seguir vemos o leiaute da OS, e nas sees seguintes a descrio de cada
um dos campos da mesma. Como podemos notar a maioria das informaes que
interessam ao desenvolvimento do SE so escritas em linguagem natural, sujeitas a
todos os tipos de no-padronizao imaginveis. Como a grande maioria das ordens de
servio preenchida por uma funcionria de formao inadequada, tanto do ponto de
vista dos conhecimentos em lngua portuguesa quanto da formao tcnica e domnio do
glossrio dos termos de informtica, que recebe os equipamentos, grande a incidncia
de erros sintticos e semnticos no preenchimento dos campos. Tambm freqente o
uso de termos sinnimos na descrio de um mesmo defeito ou de um equipamento,
dificultando a posterior separao dos casos. Um equipamento como um disco
winchester pode aparecer tambm descrito como HD, WT, disco rgido ou winchester.
Este mais um desafio a ser superado na anlise do banco de dados e na formao da
base de casos.
O exemplo mostrado de uma ordem de servio real, extrada do banco de
dados original, onde somente foram alteradas algumas informaes com a finalidade de
manter sigilo de dados pessoais, como os dados de identificao do cliente, nmero da
OS, sua data, hora e valor do servio.

52
+--------------------------------------------------+-----------+-------------+
|Compunew Computadores e Assistncia Tcnica Ltda. |Atendimento|N.OS: 000000 |
| Upgrades - Redes Locais - Assistncia a Micros
|(X) Balcao |
01/01/99 |
|
Av. Amrica, 196. Fone/Fax: (055) 3512-5214
|( ) Externo|
10:10:10 |
|
CGC: 68.846.500/0001-82 IE: 110/0053740
|( ) Misto |
USURIO |
+--------------------------------------------------+-----------+-------------+
|Cliente : Fulano de Tal da Silva (9999)
|
|Endereo: Rua no sei qual S/N
|
|Complem.: Bairro das Dores Partidas - Cidade sem Rumo/RS
|
|Telefone: (99) 999-9999
Fax/Cel: (99) 999-9999
Contato: Fulano de Tal |
+----------------------------------------------------------------------------+
| Servio a ser prestado / Problema que o equipamento apresenta
|
|
|
| Puxa folha, mas no imprime e fica piscando luz de cima
|
|
|
|
|
|
|
+----------------------------------------------------------------------------+
| Equipamentos e acessrios recebidos
| Volt
|
|
|
|
| Impressora HP 692C NS: BR60XG109A com fonte e cartuchos
| 110
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+----------------------------------------------------------------------------+
| Descrio dos servios prestados
| Tcnico | Horas | TA | Preo |
|
|
|
|
|
|
| Deteco de defeito no circuito do cartucho| NomeTec | 1.00 | 4 | 00,00 |
| colorido
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+----------------------------------------------------------------------------+
| Peas e componentes substitudos
| Preco |
|
|
|
| 01 cartucho color original HP692C
| 00,00 |
|
|
|
|
|
|
|
|
|
+----------------------------------------------------------------------------+
|
| Total
:
00,00
|
|
|
|
| _____________________
__________________
| Dt.Fecha: 99/99/99
|
| Visto do Entregador
Visto do Cliente
|
|
+----------------------------------------------------------------------------+
|
|
|Compunew Computadores e Assistencia Tcnica Ltda.
N.OS: 123456 |
| Upgrades - Redes Locais - Assistncia a Micros
01/01/99 |
|
Av. Amrica, 196. Fone/Fax: (055) 512-5214
10:10:10 |
|Cliente : Fulano de Tal da Silva (9999)
|
|Puxa folha, mas no imprime e fica piscando luz de cima
|
+----------------------------------------------------------------------------+

Figura 4.1. Leiaute da Ordem de Servio

53
4.3.1. O Cabealho e o Rodap da Ordem de Servio

O cabealho da OS traz dados de identificao da empresa prestadora de


servios e do usurio do equipamento com problema, nome de quem preencheu a OS,
alm da data e hora do preenchimento. O rodap traz informaes semelhantes, tendo
ainda um espao para assinatura das partes envolvidas.
Para o prottipo de sistema especialista proposto estas partes da OS no trazem
nenhum tipo de informao relevante. Num posterior desenvolvimento poderia se fazer
estatsticas a respeito do tempo mdio de soluo de um determinado problema a partir
da data e hora de abertura e fechamento de uma OS, ou ainda a respeito da reincidncia
de um determinado problema com um mesmo usurio. Essas questes voltam a ser
discutidas no captulo 6.
4.3.2 A Seo Servio a ser prestado / Problema que o equipamento apresenta

A primeira parte preenchida no corpo de nosso modelo de ordem de servio a


descrio do problema que o equipamento apresenta, em linguagem natural. So muito
comuns descries do tipo: no liga, impressora no puxa o papel, cpu1 liga mas no d
sinal de vdeo, remover vrus, instalar processador de texto, reinstalar windows, etc.
Um dos rudos mais freqentes nos dados desta seo a presena de nomes,
endereos e telefones de clientes. Quando um equipamento deixado por uma pessoa
que no possui cadastro e esta tem muita pressa ou no possui todos os dados para
preenchimento do cadastro (CPF, telefone, etc.), a OS emitida com o nome Cliente
sem Cadastro e na primeira linha desta seo colocam-se alguns dados da pessoa para
futura identificao.
O prprio ttulo dessa seo da OS mostra que esses documentos no so
emitidos somente quando existe um problema, mas tambm quando o equipamento est
em perfeitas condies e seu usurio deseja somente uma manuteno preventiva, a
instalao de algum software novo ou algum outro tipo de configurao que no denota
defeito.
A principal filtragem a ser executada no banco de dados antes de transferir suas
informaes para a base de casos justamente a eliminao daquelas OS que no
representam equipamentos com defeitos, e a descrio dos critrios dessa seleo feita
numa seo mais adiante neste mesmo captulo.
4.3.3 A Seo Equipamentos e acessrios recebidos

Essa parte da ordem de servio , daquelas preenchidas em linguagem natural, a


que pode se dizer ser mais estruturada, ou mais fcil de ser processada, pois no contm
rudos como dados dos clientes, e quase sempre segue a ordem: equipamento, nmero
1

CPU deve ser entendida neste texto como o gabinete do microcomputador com todo o hardware interno.

54
de srie e acessrios. Uma das dificuldades de processamento o fato de que muitos
equipamentos no so descritos por seu nome genrico, mas sim por sua marca. Desta
forma, muitas vezes encontramos OS com o equipamento descrito como Epson Stylus
Color, por exemplo, sem citar a palavra impressora.
A escrita do nmero de srie dos equipamentos tambm um fator complicador,
j que muitos so compostos de letras e nmeros, ou somente letras, podendo confundir
o filtro separador de palavras que os detectaria como um nome de equipamento e no
um nmero de srie, mas isso j assunto para o captulo sobre ordenamento de casos.
4.3.4 A Seo Descrio dos servios prestados

Como o prprio nome j diz, nessa seo o tcnico que executou o reparo no
equipamento descreve o que foi feito visando chegar na soluo. Alm disso, tambm
so preenchidos o nome do tcnico, o tempo em horas que o conserto levou, o tipo de
atendimento (1=Conserto em garantia de fbrica, 2=Conserto em garantia do
revendedor, 3=Oramento, 4=Conserto de hardware fora de garantia, 5=Conserto de
software fora de garantia) e o preo do conserto.
Entrevistas com os tcnicos mostraram que nem sempre tudo que foi feito
descrito na OS, basicamente porque num pequeno percentual dos casos ocorre um dos
trs motivos abaixo:
-

a descrio pode se tornar demasiadamente extensa tomando muito tempo do


tcnico que a preenche e da secretria que a digita posteriormente;

a descrio muitas vezes conteria termos de jargo tcnico ininteligveis para


os donos dos equipamentos;

alguns procedimentos de soluo de problemas so considerados segredos


tcnicos que se tornariam de domnio pblico e no gerariam mais servios
daquela natureza.

Obviamente este procedimento prejudicial para a formao da base de casos, j


que a relao direta [descrio do defeitodescrio da soluo] pode no ser
verdadeira em todos os casos. Para contornar essa situao a base de casos deve sofrer
uma reviso de especialistas aps sua formao visando eliminao de incoerncias,
que devem ocorrer, repetindo, em um pequeno percentual.
Outras ordens de servio simplesmente no contm descrio nenhuma acerca
dos servios prestados, por no ter sido feito nenhum servio mesmo. Essas ordens
sero descartadas do banco de dados durante o processo de filtragem, como veremos
mais adiante. Essa situao de falta de descrio de servios pode acontecer em quatro
situaes distintas:
-

quando a soluo no foi encontrada pelos tcnicos;

quando a soluo existe, conhecida, mas no foi possvel aplic-la por


razes como falta de peas ou componentes para substituio;

quando a soluo conhecida e vivel de ser aplicada mas o cliente no


aprovou o oramento;

55
-

quando o tcnico trocou a pea ou componente e somente preencheu a seo


peas e componentes substitudos, no descrevendo o servio feito.

4.3.5 A Seo Peas e componentes substitudos

Quando a soluo de um defeito em um equipamento exige a substituio


de alguma pea ou componente, a descrio do mesmo aparece nesta seo. Um
problema srio para a filtragem ocorre quando eventualmente um tcnico resolve o
problema trocando uma pea e no escreve nada na descrio dos servios prestados
s vezes isso acontece. Na base de casos a sugesto de soluo para esse defeito dever
ser a substituio da pea/componente apesar de no termos descrio de servios
prestados.
4.4. A Filtragem dos Problemas Reais e com Soluo

Conforme foi visto anteriormente, no item 4.3.2., o banco de dados que servir
de fonte para a base de casos no contm somente ordens de servio descrevendo a
soluo de problemas em equipamentos de informtica, mas tambm contm a
descrio de servios de manuteno preventiva, a instalao de softwares, ou a
configurao de algum componente que no est com defeito.
Dito isso, a seguinte questo se impe: como fazer para separar as ordens de
servio que descrevem problemas, que so as que nos interessam no desenvolvimento
deste trabalho, daquelas que no tratam problemas? Qual o melhor mtodo de filtragem,
visto que ler e classificar manualmente uma a uma mais de dez mil ordens disponveis
no seria vivel?
Comeamos pensando em como a tarefa seria feita caso fosse adotada a soluo
de separao manual. A primeira seo da OS seria lida, aquela que traz por ttulo
Servio a ser prestado / Problema que o equipamento apresenta. A partir do texto desta
seo, sem precisar do restante dos dados da OS, parece lgico que j seria possvel
fazer a classificao. De um lado apareceriam as ordens com descries do tipo: cpu
no liga, impressora no puxa o papel, oscila imagem do monitor. De outro lado
apareceriam ordens com descries como: instalar processador de texto, reinstalar
windows, configurar scanner. A partir de conversas com 5 tcnicos especialistas, foi
criada uma lista das palavras que mais provavelmente apareceriam na descrio de um
equipamento com defeito. Vrias das palavras relacionadas continham o mesmo radical,
o que levou a uma condensao, reduzindo palavras como tranca, trancou, trancava ao
radical tranc. Tambm outras palavras que so escritas de forma errada com freqncia,
como oscilar, foram procuradas nas duas formas comumente escritas: oscila e ocila.
O resultado destas entrevistas e a compilao final da lista de palavras
descritivas de problemas aparecem logo a seguir na tabela 4.1.

56
Palavra ou radical
Barulho
Borr
Chuvisc
Consert
Corrig
Erro
Esquent
Falh
Funciona
Imagem
Nao2
Ocila
Oscila
Pendura
Problema
Quebr
Queim
Recuper
Reset
Tela azul
Tranc
Trav
Trem
Troc
Vaz
220
Tabela 4.1. Palavras que indicam equipamentos com problemas
Um programa criado para esse fim fez uma varredura na primeira seo do
banco de dados de ordens de servio buscando as palavras constantes na tabela
anteriormente apresentada e separou as mesmas em 2 arquivos distintos: o de ordens
descritivas de problemas, aquelas onde pelo menos uma das palavras da lista apareceu; e
o de ordens descritivas de outros servios, onde nenhuma das palavras da lista constou.
Aps a realizao desta varredura, o banco de dados inicial de mais de dez mil ordens
ficou dividido conforme a tabela 4.2.
N de ordens descrevendo problemas/defeitos
N de ordens descrevendo outros servios
TOTAL DE ORDENS DE SERVIO

5.084
5.720
10.804

Tabela 4.2. Diviso do Banco de Dados de Ordens aps a Filtragem.


2

Deve-se observar que se buscou no texto a palavra nao sem o acento til, pois o banco de dados original
tem todas palavras armazenadas sem acentuao. Esta situao se repete ao longo do texto.

57

Visando conferir o grau de preciso do mtodo de filtragem adotado, as


primeiras 100 ordens do banco de dados foram conferidas uma a uma manualmente,
comparando-se o resultado obtido desta maneira com aquele obtido automaticamente
pelo programa. O resultado desta comparao aparece na tabela 4.3.
Mtodo de Filtragem
Manual

Automtico

N de ordens com problema/defeito

72

73

N de ordens com outros servios

28

27

TOTAL

100

100

N de ordens em que os dois mtodos coincidiram no resultado da filtragem: 91


Tabela 4.3. Comparao dos mtodos de filtragem manual e automtico.
Ressaltamos ainda que das 9 ordens classificadas de forma errada pelo mtodo
automtico, 5 delas foram classificadas como ordens com problema/defeito quando
eram ordens de outros servios, e 4 delas foram classificadas como OS de outros
servios quando eram ordens com problemas/defeitos.
Podemos ento estimar por esta amostragem apresentada, que nosso mtodo
automtico de filtragem de OS tem cerca de 91% de preciso, o que permite um clculo
de que, das 5.084 ordens selecionadas para compor a base de casos, mais de 4.600
devem conter efetivamente a descrio de equipamentos com problema.
Alm de filtrar as ordens do banco de dados que se referem efetivamente a
problemas, tambm devemos nos preocupar em manter no BD somente as que tm
soluo efetiva, eliminando aquelas que no trazem descrio de servio efetuado, ou
que no trazem substituio de peas ou componentes, que poderia ser entendido como
uma soluo.
Esse passo seguinte da filtragem foi realizado, separando e eliminando do banco
de O.S. aquelas que traziam em branco as sees Descrio dos servios prestados e
Peas e componentes substitudos. O resultado desta segunda filtragem, realizada
somente sobre as 5.084 ordens restantes do primeiro passo aparece na tabela 4.4.
N de ordens aps a primeira filtragem

5.084

N de ordens com as duas ltimas sees em branco

1.118

N de ordens aps a segunda filtragem

3.966

Tabela 4.4. Composio do banco de ordens aps a segunda filtragem.

58
4.5. O Ordenamento dos Casos

Agora que temos em mos as ordens de servio que iro compor a base de casos,
deve ser desenvolvida uma forma de ordenamento das mesmas visando agrupar aquelas
que se referem a problemas semelhantes, facilitando a posterior localizao de solues
na base de casos. A princpio podemos pensar em trs diferentes abordagens para o
problema de ordenamento de casos semelhantes: por descrio do problema, por
descrio da soluo adotada, e por equipamento que apresenta o defeito.
Caso fosse adotada a classificao por descrio do problema, aparentemente a
mais lgica, o leque de possibilidades de soluo tenderia, em alguns casos, a se abrir
demasiadamente. Por exemplo, uma descrio de problema freqente no liga. Essa
descrio pode estar se referindo a um monitor de vdeo, uma CPU, uma impressora,
um estabilizador, etc., dificultando o encontro de uma soluo eficiente para tantas
situaes possveis.
J se fosse adotada a classificao por descrio da soluo adotada, um
paradoxo seria criado, pois o usurio teria que saber a soluo para o problema de
antemo para encontrar o caso pretendido, no fazendo sentido ento o uso de um
sistema especialista que se prope justamente a encontrar para ele o caso mais
semelhante da base de casos e ento dar a soluo.
Parece ento ter sobrado a classificao por equipamento que apresenta o
defeito. Mas esse tipo de ordenamento tambm traz embutido em si o problema de abrir
inmeras possibilidades, j que uma CPU, por exemplo, pode ter centenas de defeitos,
assim como qualquer outro tipo de equipamento. Propomos ento uma soluo mista:
que classifique inicialmente os casos pelo equipamento defeituoso, e dentro de cada
equipamento pela descrio do problema apresentado. Existe uma exceo que deve ser
prevista nesta ordenao, que so os chamados defeitos de software, que abrange as
configuraes incorretas, a falta ou corrupo de arquivos, os conflitos de verses e
outros problemas tpicos. Nesse caso no temos nenhum equipamento defeituoso
propriamente dito, mas a seo Equipamentos e acessrios recebidos ter com certeza a
presena de uma CPU. O tratamento para esta questo ser esclarecido no item 4.5.1.
Como nosso banco de dados de OS no tem um ordenamento prvio pelos
critrios que acabamos de definir, foi criado um programa que classifica palavra por
palavra os textos da seo Equipamentos e acessrios recebidos das OS. Ordenando o
nmero de vezes que cada palavra aparece teremos subsdios para comear o
cruzamento com a seo Problema que o equipamento apresenta e finalmente comear
a criao da base de casos.
4.5.1. Os Equipamentos Mais Freqentes

O programa que classificou por nmero de ocorrncias as palavras da seo


Equipamentos e acessrios recebidos das OS no levou em conta sinnimos j
mencionados anteriormente no trabalho. Desta forma, as palavras micro, CPU,
computador e microcomputador foram contabilizadas como sendo equipamentos
distintos. Tambm no foram
levadas em conta as palavras denotando marcas

59
comerciais como sinnimos de equipamentos. Assim, os tcnicos, especialistas e
usurios sabem que o equipamento descrito como Epson Stylus Color se refere a uma
impressora, mas o programa contou como 3 palavras distintas e nenhuma delas como
sendo impressora.
O resultado parcial dessa primeira triagem aparece na tabela 4.4., onde so
listadas as 50 palavras que mais apareceram, de um total de 4.517 palavras diferentes,
totalizando 30.598 ocorrncias nesta seo. Lembramos que esses nmeros se referem
somente s 3.966 ordens selecionadas para compor a base de casos, e no s mais de
10.000 ordens iniciais.
A palavra NS a que mais ocorre pois todo equipamento tem seu nmero de
srie anotado na OS, e a letra C isolada aparece em segundo lugar pois sempre que o
equipamento est acompanhado de acessrios escreve-se c/cabo, c/cartuchos, c/capa,
etc.
Seqncia
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Palavra
Ns
C
Cpu
Imp
Micro
Hp
Impressora
E
S1
Epson
Monitor
Cartuchos
Fita
Cabo
De
Tampa
Com
Sem
No1w6x01069
Compunew
Nobreak
Cart
300
692c
Olivetti

N.Ocorrncias
3708
1223
1136
953
775
759
650
614
594
509
486
483
394
357
311
289
286
255
247
236
208
191
191
187
181

Seqncia
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

Palavra
Fonte
Alfa
Compaq
Manopla
Lx
Megatropic
Uis
Break
Digital
Paralelo
Teclado
N5455
Transformador
Mouse
600
Marca
Stylus
Forca
Cd
680c
Drive
Color14
Emilia
M
Pc

N.Ocorrncias
173
171
171
168
164
156
155
143
141
141
133
131
130
126
114
113
112
109
102
95
89
85
83
79
79

Tabela 4.5. Palavras com maior ocorrncia na seo Equipamentos e acessrios


recebidos
Pela simples leitura da tabela apresentada fica claro que deve ser feito um
trabalho de limpeza e agrupamento, permanecendo apenas as palavras que se referem
efetivamente a equipamentos e se eliminando marcas comerciais, nmeros de srie,

60
erros ortogrficos e outras palavras que no contribuem para a formao da base de
conhecimentos.
Esse trabalho se limpeza e agrupamento da relao dos equipamentos foi feito a
pedido do autor por 5 tcnicos especialistas em informtica resultando ento na tabela
4.6., que pode ser considerada a relao de todos diferentes tipos de equipamentos que
foram consertados e descritos nas quase 4.000 ordens de servio usadas no
desenvolvimento deste trabalho. O nmero de vezes que cada equipamento apareceu nas
OS no foi levantado com preciso pois os sinnimos so vrios para cada equipamento
e o fato de alguns serem descritos por mais de uma palavra traria a necessidade de uma
contagem manual. Porm, a ordem com que as palavras aparecem na tabela de acordo
com o nmero de ocorrncias do principal sinnimo de cada equipamento, o que j d
uma boa idia a respeito dos equipamentos mais freqentes, afirmao essa confirmada
pelos tcnicos especialistas quando confrontados com a tabela.
Seqncia
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

Equipamentos
Cpu
Impressora
Monitor
Nobreak
Fonte
Teclado
Mouse
Drive de Disquete
Fax
Estabilizador
Winchester
Notebook
Scanner
Cabea de Impresso
Zip Drive
Palmtop
Hub
Cd-Rom
Modem
Caixas de Som
Memoria
Bloco Movel
Joystick
Fita Dat
Microfone
Cooler
Motherboard

Tabela 4.6. Equipamentos e acessrios das ordens de servio aps filtragem.

61

Observando a tabela acima podemos perceber que muitos dos equipamentos


listados so componentes menores de outros equipamentos da tabela, alguns da CPU
(memria, cooler, motherboard, drives,etc.), outros das impressoras (bloco mvel,
cabea de impresso) e assim por diante. Para facilitar ao usurio do sistema especialista
a determinao do equipamento ou acessrio com problema foi pensada numa estrutura
em rvore hierrquica onde aparecesse de forma clara que componentes fazem parte de
cada equipamento e onde o usurio pudesse apontar de maneira unvoca o que est
apresentando defeito. Nesta rvore seriam tambm encaixados os defeitos de software,
citados como exceo no item anterior do texto, aparecendo como uma ramificao dos
defeitos de CPU naquela que foi batizada como rvore hardware/software e doravante
citada como rvore HS.
Visando uma melhor delimitao dos problemas cobertos pelo SE, foram
eliminadas algumas das entradas da tabela 4.6 em sua transio para a criao da rvore
HS. Alguns itens foram eliminados por seu carter descartvel, sendo que na maior
parte dos casos vale mais a pena trocar o equipamento por um novo do que consert-lo,
tais como: teclado, mouse, joystick, caixas de som e microfone. Os itens notebook e
palmtop foram eliminados porque seus defeitos podem ser encaixados em um dos outros
itens da rvore (CPU ou monitor). O item fax foi eliminado por no ser considerado
propriamente um equipamento de informtica. Uma nova triagem de ordens ser feita
mais adiante para refletir esta delimitao do universo dos problemas cobertos pelo SE.
Esta nova relao de equipamentos com uma sugesto de diviso hierrquica
aparece na tabela 4.7 e no se pretende que seja definitiva, mas pelo contrrio, seja
apenas o ponto de partida dentro do SE para a incluso de novos equipamentos e para
um futuro refinamento.
EQUIPAMENTOS
CPU
Ligamento
Armazenamento
Windows
Internet
Outros
Impressora
Matricial
Jato de Tinta
Laser
Monitor
Ligamento
Botes/Painel
Imagem
No Break
Estabilizador
Scanner
Tabela 4.7. A primeira verso da rvore HS.

62

Quando o usurio do SE interagir com o sistema, com freqncia ele ir se


deparar com a questo de no saber delimitar exatamente onde est o defeito, optando
ento por um nvel mais acima na rvore HS e esperando ento que dentre as
alternativas de problemas apresentados ele encontre o que melhor se encaixe no seu
caso. O SE deve permitir essa atitude, mas com a ressalva que a automatizao do
processo de casamento do melhor caso da base de casos com o novo caso apresentado
fica comprometida.
4.5.2. Os Problemas Mais Freqentes
Assim como foi feito com os equipamentos, criou-se um programa para
classificar as palavras com maior ocorrncia na seo de problemas/defeitos. O
resultado parcial dessa primeira triagem aparece na tabela 4.7., onde so listadas as 50
palavras que mais apareceram, de um total de 3.681 palavras diferentes, totalizando
33.437 ocorrncias nesta seo. Lembramos que esses nmeros se referem somente s
3.966 ordens selecionadas para compor a base de casos, e no s mais de 10.000 ordens
iniciais.
Seqncia
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Palavra
No
E
Declara
Liga
Imprime
Micro
Acessa
Problema
Windows
Da
Do
Impressao
No
Funciona
Verificar
Trancada
Barulho
Trocar
Para
Nacional
Faz
Papel
Error
Falha
Obedece

N Ocorrncias
3241
750
671
617
478
473
462
408
398
387
370
354
347
332
282
257
249
244
241
239
227
220
218
213
193

Seqncia
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

Palavra
Impressora
Com1
As
Placa
Esta
Drive
Imagem
Monitor
Orcamento
Vezes
Def
Rede
Cd
512
Oab
Fazer
Hd
A20
Limpeza
Inicializa
Ao
Passar
Tem
Emilia
Trava

N Ocorrncias
192
184
182
179
175
174
172
170
169
166
166
163
160
159
156
153
148
148
144
142
142
137
136
136
133

Tabela 4.8. Palavras com maior ocorrncia na seo Problema que o equipamento apresenta

63

A palavra no a que mais ocorre, com grande diferena sobre as demais, o que
motivou a criao da tabela 4.8, onde aparecem os desdobramentos dos casos onde a
palavra no aparece, juntamente com a palavra que a acompanha. Somente foram
listados os primeiros 50 nos compostos, de um total de 184 diferentes combinaes
encontradas no banco de dados.

Seqncia
Palavras
N Ocorrncias
1
Nao Liga
565
2
Nao Acessa
462
3
Nao Imprime
409
4
Nao Funciona
311
5
Nao Inicializa
136
6
Nao Segura
103
7
Nao Tem
96
8
Nao Traciona
94
9
Nao Carrega
87
10
Nao Puxa
86
11
Nao Le
81
12
Nao Comunica
69
13
Nao Abre
53
14
Nao Esta
50
15
Nao Da
43
16
Nao Reconhece
34
17
Nao Entra
32
18
Nao Detecta
28
19
Nao Conecta
26
20
Nao Passaram
25
21
Nao Aparece
24
22
Nao Faz
21
23
Nao Funcionam
18
24
Nao Aceita
15
25
Nao Roda
15

Seqncia
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

Palavras
Nao Sai
Nao Desliga
Nao Eh
Nao Grava
Nao Responde
Nao Consegue
Nao Ligam
Nao Anda
Nao Aciona
Nao Disca
Nao Instala
Nao Recebe
Nao Clica
Nao Comunicam
Nao Estao
Nao Imprimem
Nao Imprimia
Nao Navega
Nao Obedece
Nao Carega
Nao Completa
Nao Escaneia
Nao Formata
Nao Transmite
Nao Apagar

N Ocorrncias
15
13
12
10
10
9
9
8
6
6
6
6
5
5
5
5
5
5
5
4
4
4
4
4
3

Tabela 4.9. Amostra das combinaes da palavra no.


4.6. Montando a Base de Casos

Dado o fato que no item 4.5 propusemos uma classificao dos casos
inicialmente pelo equipamento defeituoso, e dentro de cada equipamento pela descrio
do problema apresentado, e como a anlise das tabelas com palavras descritivas de
problemas (tabelas 4.8 e 4.9) no elucidativa, fez-se ento o cruzamento dos
equipamentos cobertos pelo SE com os defeitos encontrados. Inicialmente dividiram-se
as ordens de servio de acordo com o tipo de equipamento que elas traziam, e o
resultado aparece na tabela 4.10.

64
Para realizao desta separao, foram buscadas ordens que tivessem na
descrio do equipamento uma das palavras sinnimas constantes da tabela. O total de
ordens encontradas superior as 3.966 OS do banco de dados de trabalho pois vrias
ordens contam com mais de um equipamento.
Equipamento

Sinnimos buscados

N de Ordens

CPU
Monitor

Micro, computador, PC
Video, Tela

1.540
386

Impressora
No-Break
Estabilizador

Epson, HP, Olivetti, Canon, Imp


Nobreak

2.347
159
43

Scanner
TOTAL

21
4.496

Tabela 4.10. Diviso das OS por equipamento


As ordens relativas a scanners, estabilizadores e no-breaks, por serem em menor
quantidade, foram classificadas manualmente de acordo com os diferentes tipos de
problemas apresentados. As demais ordens passaram por mais uma fase de separao
por palavras mais freqentes em trs tabelas diferentes, uma para CPUs, uma para
impressoras e outra para monitores e ento foram extrados os defeitos mais comuns
para a montagem da base de casos. O anexo 1 traz a relao dos defeitos encontrados
em cada um dos 6 diferentes tipos de equipamentos cobertos pelo sistema e as palavraschave relacionadas a cada defeito.
4.7. Apresentao da Proposta de Algoritmo de Casamento
No desenvolvimento de Sistemas Especialistas que usam o RBC, como j vimos
no captulo 3, casamento o termo que designa a proximidade de um caso armazenado
na base com aquele novo caso apresentado pelo usurio. Quanto mais afinidade entre
um caso da base e o novo caso, se diz ser melhor o casamento.
O algoritmo de casamento portanto, a forma de calcular a proximidade entre
dois casos, estabelecendo diferentes graus de casamento, ou distncias, para diferentes
pares de casos, sempre visando encontrar o par mais prximo. Esses pares sempre so
formados de um lado pelo caso novo trazido pelo usurio do SE e de outro lado por um
dos casos j resolvidos e armazenados na base.
Como nossas ordens de servio que formaro a base de casos tm descries
textuais dos problemas e solues, o algoritmo de casamento buscar palavras em
comum, presentes na descrio do problema novo trazido pelo usurio e nas descries
dos problemas armazenados na base do SE. Visando uma otimizao do tempo de
busca, no precisando varrer toda a base de casos, e tambm uma maior probabilidade
de acerto, o usurio indicar no incio da sua interao qual o equipamento com

65
problema dentre os seis tipos cobertos pelo SE (CPU, monitor, impressora,
estabilizador, no-break e scanner) e, se possvel ou cabvel, que parte do equipamento
a defeituosa. A busca de palavras em comum ocorrer somente nos casos pertencentes
categoria de equipamento discriminada pelo usurio e os casos semelhantes que forem
encontrados sero apresentados ordenados de acordo com o grau do casamento
calculado pelo algoritmo do sistema. Teoricamente a melhor soluo para o problema
apresentado ser a primeira da lista, caso um problema semelhante j tenha sido
resolvido e armazenado no SE.
O sistema conta com um dicionrio das palavras descritivas de defeitos,
chamadas no texto daqui para frente de PDD, armazenadas juntamente com o
equipamento a que ela se refere e o grau de importncia daquela palavra na descrio do
problema em questo. Por exemplo, um defeito bastante comum em monitores a
oscilao da imagem. Neste caso, a palavra oscila armazenada com grau de
importncia 2, j que descreve o defeito de maneira clara e unvoca. J a palavra
imagem armazenada com o grau de importncia 1, pois apesar de ser importante,
outros defeitos de imagem existem.
Neste dicionrio uma mesma palavra pode aparecer diversas vezes, se referindo
a diferentes casos, e at mesmo a equipamentos diversos, e podendo assumir pesos ou
graus de importncia diferentes.
A figura 4.2 mostra um fluxograma descritivo de como funcionaria o algoritmo
de casamento proposto e desenvolvido para o SE apresentado neste trabalho. Nesta
figura assumimos que o equipamento com defeito faz parte do domnio do
conhecimento do sistema e que foi encontrado pelo menos um caso semelhante.
Internamente o sistema ter de tratar tambm essas excees.

Escolha do equipamento defeituoso na rvore HS

Seleciona do dicionrio de palavras aquelas que se


referem ao equipamento defeituoso
Monta um vetor com as diferentes palavras constantes no dicionrio

O usurio seleciona quais palavras se encaixam na descrio de seu novo caso

Busca no dicionrio cada caso em que h coincidncia de


equipamento e palavras selecionadas pelo usurio
Monta uma matriz com o cdigo dos casos encontrados, e acumula para cada caso o
grau de importncia das palavras encontradas, mostrando depois em ordem
decrescente de grau acumulado.

Figura 4.2. Fluxograma do algoritmo de casamento proposto.

66

4.7. Consideraes sobre os Problemas do Domnio


Sabemos que Sistemas Especialistas, como o prprio nome diz, restringem seus
conhecimentos a uma rea muito particular e especializada do saber. Quanto mais
restrita for esta rea coberta pelo SE, tambm conhecida como domnio do
conhecimento, mais provvel ser que a base de casos tenha a informao buscada pelo
usurio do sistema.
Posto isso, os usurios deste prottipo apresentado devem sempre ter em mente
as restries impostas pelo domnio do conhecimento delimitado para este sistema.
Somente so cobertos defeitos em 6 tipos de equipamentos: CPUs, monitores,
impressoras, no-breaks, estabilizadores e scanners. Tambm se deve lembrar que o
banco de dados que deu origem base de casos foi gerado no perodo de 1998 a 2001.
Assim sendo, dificilmente encontraremos solues para equipamentos muito mais
antigos ou novos que estas datas-limite, a no ser que a base de casos sofra manutenes
preenchendo perodos fora deste descrito.
O perfil dos clientes da empresa de assistncia tcnica que forneceu o banco de
dados inicial tambm molda os tipos de problemas cobertos pelo sistema. A maioria dos
equipamentos atendidos funcionava no chamado mercado SOHO 3 . Dessa forma
dificilmente encontraremos respostas para problemas comuns a equipamentos de
mercados corporativos, de grandes empresas, como por exemplo defeitos em
implementao de RAID via hardware, comuns em servidores de porte mdio ou
grande, mas com facilidade teremos respostas para problemas em impressoras de baixo
custo.
Finalmente ressaltamos ainda a questo do engano, bastante comum, acerca de
qual equipamento est efetivamente com defeito. Na maioria dos casos fcil de
diagnosticar, mas nem sempre. Por exemplo, uma impressora que no imprime leva a
crer em problema de impressora, mas pode ser defeito na interface paralela do
computador. Como o funcionamento de nosso prottipo se baseia em inicialmente o
usurio apontar qual equipamento est com problema, um erro destes pode levar a uma
frustrao do algoritmo de casamento, levando o usurio a crer que o seu problema no
tem caso semelhante armazenado no SE. Portanto, na dvida deve-se marcar mais de
um equipamento na primeira etapa da interao e analisar as PDDs apresentadas com
bastante ateno.

SOHO = Small Office - Home Office. Refere-se ao mercado das pequenas empresas e escritrios e
usurios domsticos de computadores.

5. Modelagem e Implementao do Sistema SADPC


Este captulo visa apresentar o sistema especialista desenvolvido em forma de
prottipo, com o intuito de mostrar na prtica como funcionariam as idias
desenvolvidas ao longo do presente texto. Comeamos falando das ferramentas
utilizadas para o desenvolvimento do software e como o mesmo foi analisado,
modelado e implementado. Posteriormente feita a descrio de cada mdulo do
programa, qual sua funo e como us-lo.
5.1. Uma Viso Geral das Tcnicas Adotadas
A criao do prottipo depende de algumas decises tcnicas, do tipo: escolher o
mtodo de modelagem do sistema, a plataforma de hardware e sistema operacional
adotada, a linguagem de programao, etc.
A modelagem do sistema foi feita usando o mtodo middle-out (Ricardo Pereira
e Silva, 2001), comeando pela identificao dos elementos do sistema, posteriormente
refinando estes elementos para reduzir o grau de abstrao e chegar nos atributos,
mtodos e algoritmos dos mtodos, e chegando enfim composio do sistema, com o
desvendamento do relacionamento entre cada mdulo.
A plataforma escolhida foi o hardware de computadores do tipo PC Intel
compatvel rodando o sistema operacional Windows 9X/ME, pela sua popularidade e
grande aceitao.
A busca da linguagem de programao a ser usada para a criao deste sistema
especialista foi norteada pelos seguintes fatores:
- Ser popular, de grande aceitao e conhecimento do pblico da informtica em
geral, pois o cdigo do sistema deve ser facilmente compreendido;
- Ter possibilidade de desenvolvimento em plataforma Windows, por ser o
sistema operacional encontrado na maioria dos computadores;
- Poder ser migrado facilmente para outras plataformas caso seja necessrio;
- Apresentar os recursos necessrios para a representao adequada dos casos.
A partir destas orientaes, a linguagem escolhida foi o Delphi, da Borland. Os
arquivos de dados do sistema foram criados no formato Paradox 7 e o desenvolvimento
do sistema foi feito em um microcomputador do tipo PC, com processador AMD-K7
Duron de 800Mhz, 128Mb de memria RAM, disco winchester de 20Gb, rodando o
sistema operacional Windows 98 (Segunda Edio).

68
5.2. Apresentao do Sistema SADPC
A tela de abertura do sistema aparece logo a seguir, na figura 5.1, onde
preenchemos o apelido do usurio atual, para que o sistema saiba que se trata de um
usurio final, um tcnico ou um engenheiro do conhecimento.

Figura 5.1. A tela de acesso ao sistema.


Em seguida, a partir do correto preenchimento de um apelido de usurio vlido
(cadastrado), temos a tela principal do sistema, mostrada na figura 5.2.

Figura 5.2. A tela principal do sistema

69
Nesta figura podemos distinguir de sada o menu com acesso aos 4 principais
mdulos do prottipo, alm da ajuda. Os mdulos constituintes so: a base de casos, a
rvore de equipamentos, o dicionrio de PDDs e o controle de usurios,
correspondendo a cada mdulo um arquivo de dados fsico. Os trs primeiros arquivos,
de casos, equipamentos e o dicionrio de PDDs, formam a base de conhecimento do
SE, e o arquivo de usurios define como ser a interao das pessoas com o sistema. A
descrio do funcionamento de cada mdulo e a forma como eles interagem para o
funcionamento do sistema so descritos a seguir.
5.3. Os Usurios do Sistema
Por definio durante a anlise e modelagem do SE, permitido o acesso ao
sistema por 3 tipos de usurios: os especialistas tcnicos de informtica, os engenheiros
do conhecimento e os usurios leigos. Os direitos de cada tipo de usurio e o papel de
cada um no uso do sistema descrito nos tpicos pertinentes a seguir.
As informaes armazenadas sobre cada usurio do sistema so: apelido, nome
do usurio e tipo de usurio. A estrutura deste arquivo pode ser vista na tabela 5.1 e a
chave primria de acesso deste arquivo o campo apelido.
Nome do campo
APELIDO
NOME
TIPO

Tipo
Alpha
Alpha
Alpha

Tamanho
6
40
1

Tabela 5.1. A estrutura do arquivo de usurios.


A tela do sistema onde so feitos o cadastro e manuteno na tabela de usurios
mostrada logo a seguir, na figura 5.3.

Figura 5.3. A tela de manuteno da tabela de usurios.

70

5.3.1. Os Especialistas Tcnicos de Informtica


Os especialistas tm como papel principal, juntamente com os engenheiros do
conhecimento, de alimentar e manter a base de casos. o especialista que vai resolver
problemas ainda no cobertos pelo sistema e fornecer a explicao da soluo adotada
para o engenheiro. Tambm cabe ao especialista perceber quando um caso da base est
obsoleto, ou por ter uma soluo diferente mais eficiente ou por algum avano
tecnolgico que faa com que o problema no acontea mais. Nesses casos, o caso deve
ser corrigido ou apagado da base. Deve-se notar que sem um usurio do sistema fazendo
o papel de especialista a base de casos se torna esttica e pode ficar obsoleta
rapidamente.
5.3.2. Os Engenheiros do Conhecimento
Os engenheiros do conhecimento so o elo de ligao entre os especialistas e o
SE. Mais adiante veremos que a forma com que um caso representado na base de
casos pode ter um grau de abstrao bastante elevado e o tcnico nem sempre ir
dominar a forma de transformar conhecimento real em um novo caso da base. Este
profissional deve ter conhecimentos de informtica e dominar a cincia da
representao do conhecimento real na forma eletrnica.
5.3.3. Os Usurios Leigos
Os usurios leigos sero os maiores beneficiados do uso do sistema para
descobrir defeitos em novos equipamentos. Quase sempre ser ele que apresentar
novos casos ao SE buscando uma soluo dentre a base armazenada. Devemos sempre
lembrar que o usurio leigo no faz manuteno na base de casos, acrescentando,
removendo ou alterando casos. A ele cabe somente a consulta, e caso no seja
encontrada uma soluo satisfatria, um tcnico dever ser contatado e quando a
soluo real for encontrada por ele o engenheiro do conhecimento cria na base o novo
caso.
5.4. A Representao de um Equipamento: a Arvore H/S
O incio da interao do usurio com o sistema ao apresentar um novo caso,
justamente apontando qual o equipamento defeituoso a ser consertado ou configurado.
Para apontar ao SE qual dos equipamentos cobertos pelo domnio do conhecimento est
sendo apresentado o usurio tem a disposio a rvore H/S.

71
Nome do campo
COD_HS
SINTETICO
COD_ESTRUT
DESCRICAO

Tipo
Autoincrement
Alpha
Alpha
Alpha

Tamanho
4
1
5
20

Tabela 5.2. A estrutura do arquivo de equipamentos.


Esta rvore est armazenada em um arquivo do sistema, onde cada registro
representa um tipo de equipamento, e para cada equipamento so guardadas as seguintes
informaes: cdigo reduzido, cdigo estruturado, descrio do equipamento e tipo de
representao sinttica ou analtica4 . A estrutura deste arquivo pode ser vista na tabela
5.2, a chave primria de acesso deste arquivo o campo cod_hs e existe uma chave
secundria de acesso atravs do campo cod_estrut.

5.4.1. A rvore Hardware/Software: Organizao e Indexao


Nem sempre um usurio leigo do sistema vai saber com preciso em que
componente do equipamento est localizado o defeito. Assim o sistema deve prover
uma forma de ser apontado o equipamento como um todo, e posteriormente o defeito
ser apontado dentre os casos filtrados. Por exemplo, imaginemos uma CPU com
defeito no disco winchester. O usurio mais experiente poderia selecionar diretamente o
registro da rvore H/S correspondente a defeitos de unidades de armazenamento, que
uma subdiviso do equipamento CPU. Porm o usurio leigo deve poder apontar
somente CPU e receber como resposta, a seleo de todas palavras do dicionrio
referentes a CPU e dentre elas filtrar somente as que se referem ao seu problema.
Para facilitar a seleo e a escolha os registros da rvore H/S devero ser
apresentados aos usurios do sistema segundo a ordem de seu cdigo estruturado, pois
dessa forma ficar evidente a hierarquia presente nos componentes dos equipamentos.
Por exemplo, o equipamento CPU tem cdigo estruturado 01.00, significando que todos
equipamentos que tm o cdigo estruturado comeando por 01. so partes
componentes do equipamento CPU. Na apresentao da rvore ao usurio visando a
seleo do item com defeito vai aparecer ento o cdigo da CPU seguido de todos seus
componentes, a cdigo de monitor com seus componentes, e assim por diante.
5.4.2. Cadastrando um novo equipamento
Inicialmente, quando da definio do domnio do problema que este prottipo
abrangeria, ficaram definidos que seriam seis os tipos de equipamentos com defeitos
4

Registros sintticos so aqueles que representam grupos de componentes de um dado equipamento mas
que no possuem casos vinculados diretamente a eles. Registros analticos so vinculados a casos.

72
cobertos na base de casos: CPUs, impressoras, monitores, no-breaks, estabilizadores e
scanners. Porm, independentemente deste fato, o sistema permite a incluso de novos
equipamentos a serem cobertos. Recomenda-se no expandir por demais o foco do SE
sob a pena de haver perda de performance e aumento da dificuldade de busca numa base
de casos muito grande.
A opo de incluso de novos equipamentos no SE ser mais comumente usada
para o cadastro de uma nova subdiviso de um dos seis equipamentos j existentes. Por
exemplo, os no-breaks poderiam ter subdivises de acordo com suas partes
componentes: circuito de entrada, baterias, transformador, inversor e circuito de sada.
Enquanto o nmero de diferentes defeitos presentes em um dado equipamento for
pequeno, a subdiviso s tende a complicar o encontro do caso com melhor matching,
mas medida que um equipamento tem muitos diferentes problemas, a diviso facilita o
uso, como o caso das CPUs, monitores e impressoras.
A tela de incluso de novos equipamentos aparece abaixo na figura 5.4.

Figura 5.4. A tela de incluso de novos equipamentos.


5.4.3. Escolhendo um equipamento existente
Estando o novo equipamento com defeito cadastrado na rvore HS, o usurio
dever interagir com o sistema atravs do menu Casos, na opo Apresentao de
Novos Casos, onde ser feita a escolha do equipamento a partir da apresentao da
rvore existente.

73
5.4.4. Quando no Sabemos o Equipamento Envolvido
O sistema especialista deve ser capaz de dar alguma resposta til ao usurio
mesmo quando este no tem certeza sobre onde est o defeito. Esta situao mais
comum do que podemos imaginar num primeiro momento. Alguns defeitos, segundo os
tcnicos especialistas responsveis pela base de casos em uso neste prottipo,
confundem o usurio e o levam a acreditar que o equipamento defeituoso outro que
no o verdadeiro.
Um exemplo muito claro aquele onde no aparece imagem no monitor de
vdeo quando ligamos o computador. Os usurios leigos tendem a imaginar que o
problema est no monitor, quando na verdade, na maioria das vezes, o defeito est na
CPU que no envia sinal de vdeo para o monitor. Na interao com o sistema o usurio
vai procurar dentro dos defeitos de monitores aqueles que se parecem com o seu, mas o
dicionrio de PDDs no ir trazer nada muito parecido com o seu defeito particular.
Para estas situaes o SE traz basicamente duas sadas diferentes: uma delas
permitir ao usurio selecionar mais de um equipamento na rvore, o que ir aumentando
proporcionalmente o nmero de PDDs apresentadas ao usurio para que ele selecione
as mais adequadas ao seu caso. A outra sada o usurio selecionar um equipamento do
tipo sinttico, daqueles com o cdigo estruturado terminando em .00, o que ir
acarretar na apresentao de todas PDDs ligadas a todas divises daquele equipamento.
5.5. A Representao dos Casos
A forma como representamos um caso num SE que utiliza raciocnio baseado
em casos obviamente um dos pontos-chave de funcionamento do sistema. Quando se
consegue fazer uma abstrao adequada da realidade, todos aspectos importantes de um
dado objeto se fazem presentes de forma clara e lgica na representao digital daquele
objeto dentro do programa.
No prottipo de SE aqui apresentado buscou-se fazer a representao dos casos
da forma mais direta e simples possvel, visando tanto facilitar o desenvolvimento do
sistema, dado o limite de tempo para faz-lo, quanto facilitar o uso por pessoas leigas. A
idia bsica representar o equipamento com defeito, a descrio do defeito e a
descrio da soluo. Adicionalmente acrescentou-se um cdigo identificador de cada
caso, a data de cadastramento do caso e a freqncia com que o problema acontece5 .
A estrutura do arquivo que armazena a representao de cada caso pode ser vista
na tabela 5.3 e a chave primria de acesso deste arquivo o campo cod_caso.
Complementando esse arquivo ainda temos o dicionrio de PDDs, descrito mais
adiante, e o arquivo de equipamentos. Esses trs arquivos compem, como j foi dito
anteriormente, a base de conhecimentos do sistema.

As possibilidades de freqncia so: S=Sempre, I=Intermitente, R=Raro, N=No sei.

74
Nome do campo
COD_CASO
COD_HS
DESC_SUCINTA
DESC_DETALHE
SOLUCAO
DATA_CAD_CASO
FREQUENCIA

Tipo
Autoincrement
Alpha
Alpha
Alpha
Alpha
Date
Alpha

Tamanho
4
5
40
200
200
8
1

Tabela 5.3. A estrutura do arquivo de casos.

5.5.1. Base de Casos: Organizao e Indexao


O termo indexao, como vimos no captulo 3, empregado no raciocnio
baseado em casos para designar tcnicas utilizadas visando otimizar a busca na base de
casos por um casamento adequado do caso novo com aqueles armazenados. Segundo a
sua definio, os ndices so combinaes dos descritores importantes de um caso, isto
, daqueles descritores que distinguem um caso dos outros.
Os ndices devem permitir que sejam reconhecidas as similaridades entre a
situao corrente e os casos armazenados que podem contribuir para atingir os objetivos
do caso corrente. Apesar do sucesso de muitos mtodos automticos de organizao e
indexao, descritos por WATSON (1994), Janet Kolodner alerta que os ndices tendem
a ser mais bem escolhidos pelo modo manual, e em aplicaes prticas devem ser
escolhidos desta forma.
No prottipo aqui apresentado os casos esto indexados primariamente de
acordo com o equipamento em que o defeito foi observado. Desta forma, somente com a
indicao do usurio de qual dos equipamentos apresentados est com problema j so
descartadas da busca pelo algoritmo de recuperao da grande maioria dos casos,
agilizando o casamento do melhor caso.
5.5.2. Cadastrando um Novo Caso
Quando o usurio do sistema procura como fazer para resolver um problema em
equipamento coberto pelo domnio do conhecimento do SE e no encontra uma soluo
satisfatria, ele deve cadastrar no sistema seu caso deixando a soluo em branco, para
que seja preenchida posteriormente pelo engenheiro do conhecimento assim que um
especialista descubra qual a soluo.
A deciso final sobre as solues propostas pelo sistema serem vlidas para o
caso novo ou no do usurio, mas o sistema sugere a atitude a ser tomada com base no
grau de casamento calculado. Como ser explicado mais adiante, se o ndice de
casamento ficar abaixo de 2 o sistema ir sugerir que o caso seja cadastrado como novo,
e se o usurio concordar com a sugesto a tela apresentada na figura 5.4 ser mostrada.

75
Ao usurio leigo no ser liberado para preenchimento o campo soluo, j que
este somente pode ser cadastrado por especialistas ou engenheiros do conhecimento. Os
seguintes campos j vm preenchidos automaticamente pelo sistema: cdigo do caso e
data de cadastramento do caso.

Figura 5.5. A tela do programa de cadastro de novos casos


5.6. A Interao de um Novo Caso com o Sistema
Esta opo do sistema especialista deve ser a mais utilizada no dia-a-dia , j que
o principal objetivo deste SE encontrar solues para problemas em equipamentos de
informtica, e nesta parte do programa que este objetivo se concretiza. Esta
apresentao de um novo caso foi dividida em trs etapas, como num assistente.
O primeiro passo a ser realizado a escolha na rvore HS indicando qual o
equipamento com defeito, se possvel e aplicvel
dever ser selecionado o
subcomponente dos equipamentos (por exemplo no caso de CPU indicar se o problema
est no ligamento, armazenamento, no windows, etc.) Se o equipamento no tiver
divises ou o usurio no souber em qual diviso est o problema, ser escolhido o
cdigo de nvel mais alto da rvore no que se refere quele equipamento. Este primeiro
passo pode ser visualizado na figura 5.5.
A escolha do equipamento ir disparar no sistema a montagem de um vetor
contendo todas PDDs relacionadas. Como j foi dito no item 5.4.4, o usurio poder
escolher mais de um equipamento ou componente na dvida de qual o correto a ser
apontado. As palavras do arquivo de dicionrio de PDDs que, na opinio do usurio,
so descritivas do problema que ele quer relatar sero marcadas na relao. Esta
segunda etapa, de escolha das PDDs, pode ser visualizada na figura 5.6. Aps esta
etapa ser iniciado o algoritmo de casamento, buscando os casos que mais se
assemelham ao novo apresentado.

76

Figura 5.6. Selecionando o equipamento com defeito

Figura 5.7. Selecionando Palavras Descritivas de Defeitos

77

Figura 5.8. Apresentao das possveis solues encontradas


Durante o processamento do algoritmo de casamento, todas PDDs do arquivo
de dicionrio que tem relao com o equipamento assinalado (ou os equipamentos
quando for mais de um) sero varridas e quando uma que coincida com as palavras
assinaladas pelo usurio como descritiva do defeito for encontrado o peso dela ser
acumulado soma de pesos de seu caso. Ao final, teremos uma matriz com os casos que
possuem PDDs iguais quelas assinaladas pelo usurio, apresentada em ordem
decrescente de peso acumulado, significando que o caso que mais se assemelha ao novo
o primeiro da lista. Se nenhum dos casos encontrados acumular 2 pontos ou mais
muito provvel que este novo caso no tenha soluo coberta pelo sistema, e ser
recomendado que seja cadastrado como novo caso, com a soluo em branco. A figura
5.8 traz o algoritmo de casamento aps a escolha das PDDs por parte do usurio.
5.6.1. A Apresentao das Possveis Solues
Depois de processado o algoritmo de casamento conforme vimos na figura 5.8, o
sistema far a apresentao da matriz de casos-resposta encontrada. Todo caso que
tenha pelo menos uma PDD em comum com aquelas assinaladas pelo usurio ser
listado, mas aquele caso com maior probabilidade ser o primeiro a ser mostrado, sendo
sucedido em ordem decrescente de grau de probabilidade de soluo. A figura 5.6.traz a
tela do programa de interao de novos casos j com a matriz de casos-resposta sendo
apresentada. Pode-se observar no campo da pontuao acumulada (identificado como
grau) que este o critrio de classificao. Casos que obtiverem pontuao acumulada

78
abaixo de 2 apresentam semelhanas com o novo caso apresentado mas dificilmente
ser a soluo procurada.

Inicializa matriz de casos-resposta

Abre arquivo de dicionrio de PDDs com


registros organizados por equipamento.

Palavra
do arquivo =
Palavra selecionada do
usurio?

Caso relacionado
palavra j estava
na matriz?

N
Adiciona caso
matriz

ltima
palavra do
equipamento
selecionado?

Acumula peso da palavra


quele caso na matriz
N
L a prxima palavra

Apresenta a matriz de solues por


ordem de peso acumulado ao usurio

Figura 5.9. O fluxograma do algoritmo de casamento


5.6.2. Quando a Soluo Proposta Vlida
O presente prottipo se prope a ser um sistema de auxlio ao diagnstico, pois a
certeza do diagnstico correto s poder ser efetivamente dada pelo tcnico que testar a
soluo no equipamento defeituoso. Do jeito como foi concebido, este sistema no
armazena estatsticas sobre casos de diagnstico bem-sucedidos (nem mal-sucedidos).
Dessa forma, se a soluo proposta vlida, ela simplesmente ser implementada e
nenhuma outra atitude ser tomada no SE.
Caso a soluo proposta pelo sistema no tenha sido exatamente a adotada mas
levou soluo real por associao, o usurio deve convocar um especialista e um
engenheiro do conhecimento para decidir se o caso armazenado na base de

79
conhecimentos pode ser alterado para abranger a nova situao, tornando-se mais
generalista, ou se deve ser includo um novo caso com a experincia recm adquirida.
5.6.3. Quando a Soluo Proposta no Vlida
Um sistema especialista como este de nosso prottipo no ir sempre responder
a todas questes apresentadas de maneira inequvoca. Faz parte da natureza dos
sistemas desenvolvidos sob os paradigmas da IA a no necessidade de preciso nas
respostas. Posto isso, veremos com freqncia os usurios recebendo do sistema
solues propostas para resolver os defeitos em seus equipamentos que no so vlidas,
ou seja, no funcionam.
Nestes casos, durante a anlise do sistema foi previsto que um novo registro de
caso seria aberto onde apareceriam a descrio sucinta e a descrio detalhada do
problema, com cdigo estruturado do equipamento, cdigo do caso e freqncia,
faltando somente descrever a soluo. Um relatrio de todos casos que tenham a
soluo em branco dever ser emitido pelo usurio responsvel pela manuteno do
sistema, para que os tcnicos especialistas busquem as solues mais adequadas a cada
caso e o engenheiro do conhecimento possa preencher adequadamente a base de
conhecimentos.
5.7. Relatrios do Sistema
Dado que o sistema aqui apresentado to somente um prottipo, foram
definidos inicialmente trs tipos de relatrios de apoio aos usurios, sendo que os dois
primeiros so emitidos ao final da apresentao de um novo caso ao sistema, utilizando
os botes Imprimir Atual e Imprimir Possveis, que podem ser vistos na figura 5.7, e o
terceiro tem acesso via menu e consiste nos casos lanados no sistema e ainda sem
soluo. Qualquer um dos trs relatrios inicialmente visualizado em tela e o usurio
escolhe posteriormente se deseja realmente imprimi-lo em papel ou no. Estes relatrios
esto explicados logo a seguir.
5.7.1. Listagem das Solues Possveis em um Novo Caso
Ao final da apresentao de um novo caso ao sistema a tela anteriormente vista
na figura 5.7 traz dois botes de listagem: Imprimir Atual e Imprimir Possveis. O
primeiro boto resultar num relatrio de uma pgina com os dados relativos ao caso
atualmente apresentado na tela e servir normalmente para o usurio que tem o
equipamento a ser consertado longe do micro com o SE e que deseja levar a soluo
impressa para aplica-la. O segundo boto trar um relatrio com um nmero de pginas
igual ao nmero de solues encontradas, mostrando um caso por pgina. Este relatrio
possibilita ao usurio ir testando uma soluo por vez quando existe dvida entre as
vrias solues apresentadas pelo sistema.

80
Alm disso, o boto imprimir possveis traz uma funcionalidade que no fica
clara primeira vista, que a de listar todos os casos relativos a um determinado
equipamento. Se o usurio marcar todas as PDDs mostradas na etapa 2, sero
apresentados na etapa 3 todos os casos relativos ao equipamento marcado na primeira
etapa. Um usurio leigo pode usar este relatrio quando o resultado de uma busca sua
for uma longa lista de casos possveis e este quiser analisar as possibilidades com calma
tendo-as impressas no papel. O Engenheiro do Conhecimento poder usar uma relao
de casos de um determinado equipamento para dar manuteno na base de
conhecimento, eliminando aqueles casos obsoletos ou estudando a possibilidade de
dividir um equipamento em suas partes componentes quando o nmero de casos daquele
cdigo estruturado fica muito grande e a busca ineficiente.

Figura 5.10. Listagem das solues possveis em um novo caso


5.7.2. Relao de casos ainda sem soluo
Com certeza para o usurio leigo que busca respostas no SE, uma relao de
problemas sem soluo no serve para nada, mas para o especialista e o engenheiro do
conhecimento um relatrio fundamental. atravs dessa relao que o sistema pode
crescer, incorporando novos conhecimentos a sua base de casos medida que os casos
no resolvidos vo sendo preenchidos. Como j vimos anteriormente, um caso fica
cadastrado no sistema com a soluo em branco quando um novo caso apresentado
por um usurio e nenhuma das respostas encontradas satisfaz. A figura 5.10. apresenta o
leiaute deste relatrio.

81

Figura 5.11. Listagem dos casos ainda sem soluo

5.8. Avaliando o Prottipo


Uma vez que o prottipo esteja desenvolvido e funcional, resta saber se o
mesmo eficiente, ou melhor, medir o grau de eficincia do sistema a fim de saber se
ele pode realmente auxiliar no diagnstico de problemas em computadores. Para si so,
deve-se desenvolver uma forma de avaliao do SE, em situao real de trabalho e
verificar se suas respostas so as mesmas dos especialistas humanos.
Como vimos no captulo 4, a base de casos foi formada a partir de um banco de
dados de mais de 10.000 ordens de servio preenchidas no perodo de setembro de 1998
a julho de 2001. O ms de julho de 2001 marcou o incio dos trabalhos de anlise do
banco de dados e transformao deste em base de casos, mas os especialistas da
empresa onde as ordens foram coletadas continuaram trabalhando e preenchendo novas
ordens, a uma razo mdia de pouco mais de 300 novas OS por ms, resultando em
mais de 4.000 ordens inditas at a concluso do prottipo.
Estas novas OS, inditas para o sistema, formam a base dos testes de avaliao
do prottipo aqui desenvolvido e apresentado, da OS de nmero 10.805 a OS de nmero
15.000. De maneira aleatria foram escolhidas 100 ordens de servio inditas e o
defeito nelas relatado foi apresentado ao sistema e a soluo sugerida pelo mesmo foi
comparada com a soluo preenchida pelo tcnico especialista.
Para a escolha aleatria das ordens foi usada a funo =ALEATRIO() do
Microsoft Excel, que retorna um nmero em ponto flutuante entre 0 e 1. Foram geradas
350 clulas com a seguinte frmula:
=INT(ALEATRIO()*4195+10805)
o que garante nmeros randmicos no intervalo entre 10.805 e 15.000, que o intervalo
dos nmeros das ordens inditas a serem usadas nos testes. Foram necessrios 334
nmeros aleatrios diferentes para obter 100 O.S. vlidas, um aproveitamento de cerca

82
de 29,94%, quando na primeira fase 10.804 ordens resultaram em 3.966 vlidas, tendo
um aproveitamento de 36,71%. Como relatamos no captulo 4, algumas ordens de
servio no so relacionadas a defeitos reais, ou no possuem a soluo preenchida, ou
ainda se referem a equipamentos no cobertos pelo domnio do conhecimento deste
prottipo. Sendo assim, cada nmero de OS sorteado era conferido e filtrado a fim de
obter-se 100 ordens aproveitveis, e encima somente de ordens aproveitveis que a
anlise foi feita.
Para interagir com o sistema escolheu-se uma pessoa com conhecimento
intermedirio de informtica, um estudante do 4 semestre do curso de informtica da
UNIJU. Essa informao relevante pois durante a apresentao dos casos ao sistema,
o usurio deve escolher quais palavras mostradas melhor descrevem o defeito do novo
caso, e esta escolha envolve um grau de subjetividade, que pode resultar em respostas
diferentes com diferentes usurios. Na busca de obter um comportamento mdio do
sistema buscou-se um usurio que no fosse especialista mas tambm que no fosse
totalmente leigo.
Para uma avaliao mais acurada deveriam ser feitos testes com pessoas com
nvel de conhecimentos diferentes acerca do domnio do problema coberto pelo sistema
e os resultados comparados entre si, mas o tempo restante no cronograma para a
avaliao do sistema no permitiu tal trabalho. Isso fica como sugesto para trabalhos
futuros como descrito no captulo 6.
O resultado da avaliao do prottipo aparece na tabela 5.4, e como podemos
perceber pela sua anlise, o sistema apresenta um grau bastante alto de confiabilidade
nas suas respostas.
Grupo

Grupo

Grupo

Grupo

Grupo

Grupo

01

02

03

04

05

06

TOTAL

OS de equipamentos com defeito

54

10

31

100

Diagnsticos corretos do SE

34

24

67

Casos no cobertos pelo SE

12

19

Diagnsticos errneos do SE

14

63%

70%

77%

25% 100%

67%

Percentual de acerto por grupo

Tabela 5.4. Resultado da avaliao do prottipo SADPC


A tabela acima retrata uma avaliao mais quantitativa do que qualitativa,
mostrando basicamente nmeros, mas pode ser bastante esclarecedora se devidamente
abordada. Os casos onde o sistema falhou foram divididos para melhor anlise em casos
no cobertos pelo SE e diagnsticos errneos do SE.
Os casos no cobertos pelo SE so aqueles onde as PDDs apresentadas ao
usurio no se encaixavam no seu novo caso e por conseqncia a base de
conhecimento atual do sistema no tem uma soluo satisfatria em um caso semelhante
para ser apresentado. Esses casos no devem ser encarados como um fracasso do

83
sistema, pois uma base de conhecimento nunca ser capaz de cobrir todas as situaes
reais do dia-a-dia. Uma das caractersticas que fazem de um SE um software inteligente
a sua capacidade de aprender. Esses casos no cobertos pelo sistema seriam
cadastrados como novos casos, onde o ndice acumulado de pontos no atingiu o ponto
mnimo (soma acumulada de 2 pontos), e ficariam com o campo da soluo em branco
aguardando ser preenchida pelos especialistas em conjunto com o engenheiro do
conhecimento. uma situao normal de ocorrer, e se for considerada assim a
eficincia mdia do sistema na avaliao passa de 67% para 86%.
J os diagnsticos errneos do sistema so aqueles casos onde as PDDs
selecionadas pelos usurios fizeram com que o caso mais provvel apresentado no
tivesse a soluo que de fato resolveria o novo caso apresentado. Ou seja, a soluo
sugerida pelo SE no resolveria o novo caso. Estes casos representaram 14% dos 100
casos selecionados para avaliao e podemos consider-los como falhas do sistema.
Essas falhas podem ser corrigidas analisando-se os casos em que isso ocorre e buscando
PDDs que diferenciem os casos j armazenados na base de conhecimento destes novos
apresentados e cadastrando os novos casos com suas prprias PDDs e com a soluo
em branco. Uma possibilidade que no foi pensada no prottipo aqui apresentado e que
poderia vir a melhor-lo seria a possibilidade de cadastrar os casos diagnosticados
erroneamente para que os especialistas e o engenheiro do conhecimento achem as
solues corretas e as PDDs que melhor descrevem o caso diferenciando-o daquele j
armazenado.
Os nmeros da anlise separados por grupo ainda trazem algumas
peculiaridades. Podemos perceber que os primeiros 3 grupos, alm de concentrarem a
grande maioria dos casos (95% dos casos) ainda mantm, cada um deles, a mdia de
acertos prxima da mdia geral. Os ltimos 3 grupos destoam muito da mdia, sendo
que o ltimo, o dos scanners, nem apresentou caso sorteado. O grupo 04, dos no-breaks
teve 3 dos 4 casos sorteados no cobertos pelo sistema, o que denota uma grande
variedade de problemas possveis, ou pelo menos uma falta de PDDs adequadas para
descrever os problemas apresentados.

6. Concluses e Consideraes Finais


6.1. Concluses
O presente trabalho se props a estudar a aplicabilidade de Sistemas
Especialistas com Raciocnio Baseados em Casos como ferramenta de suporte soluo
de problemas surgidos em microcomputadores, conforme descrito em seu objetivo geral
na introduo. Para isso foi feita a anlise e a modelagem de um sistema especialista,
desenvolvido utilizando o paradigma do raciocnio baseado em casos aplicado sobre um
banco de dados pr-existente de 10.804 ordens de servio de uma empresa de
assistncia tcnica.
A aplicabilidade pode ser vista sob dois pontos de vista, que so: em primeiro
lugar ser possvel modelar o tipo de problema aqui apresentado com o paradigma RBC,
e em segundo lugar ser vivel o uso de um sistema de auxlio para diagnstico de
problemas em computadores. A questo da possibilidade foi comprovada a partir da
elaborao do formato que a base de conhecimentos iria ter e da apresentao do
algoritmo de casamento que recuperaria os casos dessa base. J a viabilidade foi
comprovada durante a avaliao do prottipo, aonde vimos que 67% dos casos
apresentados ao SE foram corretamente diagnosticados e mais 19% dos casos poderiam
ter sido corretamente diagnosticados mas no estavam presentes na base de casos,
podendo ento chegar a eficincia do sistema a 86%. Podemos concluir ento pelos
nmeros apresentados que o objetivo geral do trabalho foi plenamente atingido.
Alm do objetivo geral, foram traados 4 objetivos especficos, que passaremos
a analisar. O primeiro destes objetivos, que consistia na disseminao do estudo e uso
do RBC, j foi atingido. Este trabalho j rendeu 2 palestras para um total de mais de 100
alunos de informtica em Trs de Maio e Horizontina e a prpria dissertao auxilia
nesta disseminao. O segundo objetivo era avaliar o atual estado da arte do RBC, que
pde ser concretizado com as pesquisas bibliogrficas feitas para a escrita do segundo e
terceiro captulos, especialmente com a leitura dos artigos da 4 Conferncia
Internacional em Raciocnio Baseado em Casos realizada em Vancouver, em 2001. O
terceiro objetivo consistia em propor novas funcionalidades em SEs que usam RBC
especficas para o domnio do conhecimento estudado. Acreditamos que o conceito
adotado na mquina de inferncia do prottipo apresentado, de palavras descritivas de
defeitos, tenha trazido uma possibilidade a mais no desenvolvimento de SEs que usam
RBC, j que permite uma forma diferente de interao com o usurio. O quarto objetivo
era desenvolver um prottipo funcional de um sistema computacional que demonstre o
RBC em ao, o que foi feito e demonstrado no captulo 5.

6.2. Recomendaes e Consideraes Finais


normal chegar ao final do desenvolvimento de um trabalho extenso, do porte
deste aqui apresentado, com a sensao de que mais coisas poderiam ter sido feitas,
certos tpicos poderiam ter sido mais bem desenvolvidos ou exemplificados, apesar da
exaustiva reviso feita. como o desenvolvimento de um software: sempre possvel

85
apresentar uma nova verso com melhorias e implementao de sugestes. Mas com
certeza este trabalho no termina aqui. Este somente o final de uma etapa e neste
tpico sero apresentadas algumas recomendaes e sugestes para o futuro.
A primeira questo a ser levantada a forma de interao do usurio com o
sistema. Sabe-se que a maneira mais adequada seria possibilitar a descrio do defeito
no equipamento em linguagem natural, como: a imagem do monitor oscila, e esse no
foi o jeito adotado em funo do tempo reduzido para o desenvolvimento do prottipo.
Teria de ser construdo um analisador sinttico e semntico, auxiliado por um dicionrio
de sinnimos, para que o sistema entendesse, por exemplo, que vdeo, tela e monitor se
tratam do mesmo equipamento. O arquivo de usurio, o banco de dados de casos e a
rvore de equipamentos poderiam continuar os mesmos. O dicionrio de PDDs que
seria substitudo por outro mecanismo, constituindo uma nova mquina de inferncia, e
um novo algoritmo de casamento deveria ser construdo.
Aps a realizao da avaliao do prottipo, onde foram constatados 14 casos
diagnosticados erroneamente pelo sistema, de um total de 100 casos, o autor levantou
outra questo a ser desenvolvida: a possibilidade de se criar no prottipo uma
funcionalidade extra, que permitisse o cadastro destes casos. Dessa forma os
especialistas e o engenheiro do conhecimento poderiam buscar as solues corretas e as
PDDs que melhor descrevam este novo caso, de forma a diferencia-lo daquele j
armazenado. Talvez o prprio arquivo de casos possa ser usado, com o acrscimo de um
campo de controle que marcasse esses casos como incompletos enquanto no
solucionados, mas diferenciando-os daqueles no cobertos pelo sistema, que estaro
simplesmente cadastrados com a soluo em branco.
Os testes de avaliao do prottipo tambm comprovaram uma realidade j
detectada na fase de filtragem do banco de dados de ordens de servio, descrita no
captulo 4: os equipamentos cujo cdigo estruturado comea por 05 e 06
estabilizadores e scanners, tm uma representatividade bastante pequena quando
comparados com os quatro primeiros itens CPUs, monitores, impressoras e nobreaks. Das 100 ordens de servio sorteadas para a avaliao, somente uma se referia ao
grupo 05, dos estabilizadores, e nenhuma ao grupo 06, dos scanners. Do total de ordens
de servio que compuseram a base de casos, 0,96% se referiam ao grupo 05 e 0,47% ao
grupo 06, como pode ser constatado na tabela 4.10. Esses nmeros levam concluso
que estes 2 grupos poderiam ser eliminados do sistema com pouca perda para os
usurios e com o ganho de maior foco, o que sempre resulta em maior eficincia de um
SE.
Finalmente a ltima recomendao para futuros trabalhos a adoo de um
nmero maior de pessoas fazendo os testes de avaliao do prottipo, com nvel de
conhecimentos diferentes para se obter um nvel de confiana maior nos resultados
apresentados.

Anexo 1. A rvore de Equipamentos do Sistema

COD_HS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

COD_ESTRUT
01.00
02.00
03.00
04.00
05.00
06.00
01.01
01.02
01.03
01.04
01.05
03.01
03.02
03.03
02.01
02.02
02.03

SINTETICO
S
S
S
S
S
S
A
A
A
A
A
A
A
A
A
A
A

DESCRIO
CPU
Monitor
Impressora
No-Break
Estabilizador
Scanner
Ligamento
Armazenamento
Windows
Internet
Outros
Matricial
Jato de Tinta
Laser
Ligamento
Botes, Painel
Imagem

Anexo 2. O Arquivo de PDDs do Sistema

COD_ESTRUT COD_CASO PALAVRA


01.01
1
Naoliga
01.01
2
Liga
01.01
2
Naosinal
01.01
3
Bip
01.01
3
Naosinal
01.01
4
Carrega
01.01
4
Erro
01.01
4
Naowindows
01.01
4
Winchester
01.01
5
Carrega
01.01
5
Cmos
01.01
5
Erro
01.01
5
Naowindows
01.01
6
Naowindows
01.02
7
Disquete
01.02
7
Erro
01.02
8
Erro
01.02
8
Winchester
01.02
9
Cd-Rom
01.02
9
Erro
01.02
9
Lendo
01.02
10
Cheio
01.02
10
Disco
01.02
10
Erro
01.02
11
Erro
01.02
11
Gravando
01.02
11
Lendo
01.03
12
Erro
01.03
12
Registro
01.03
13
Azul
01.03
13
Erro
01.03
13
Protecao
01.03
13
Tela
01.04
15
Internet
01.04
15
Naoconecta
01.04
16
Conecta
01.04
16
Internet
01.04
16
Naonavega
01.04
17
E-Mail
01.04
17
Naorecebe
01.04
18
E-Mail
01.04
18
Naotransmite
01.05
19
Barulho

GRAU
2
1
2
2
2
1
1
2
2
1
2
1
2
2
2
1
1
2
2
1
2
2
2
1
1
2
2
1
2
2
1
2
1
1
2
1
1
2
2
2
2
2
2

88
01.05
01.05
01.05
01.05
01.05
01.05
01.05
01.05
01.05
01.05
01.05
02.01
02.01
02.02
02.02
02.02
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
02.03
03.01
03.01
03.01
03.01
03.01
03.01

20
20
20
21
21
21
21
22
22
22
22
23
24
25
25
25
26
26
27
27
28
28
29
29
29
30
30
30
31
31
31
32
32
33
33
33
34
34
35
35
36
37
37
38
38
38

Atrasa
Data
Hora
Erro
Programa
Sempre
Trava
Erro
Frequente
Programa
Trava
Naoliga
Naoimagem
Botao
Naoliga
Naosegura
Liga
Naoimagem
Imagem
Oscila
Alteradas
Cores
Cabo
Cores
Mexer
Faixa
Naoimagem
Vertical
Faixa
Horizontal
Naoimagem
Foco
Imagem
Brilho
Fraca
Imagem
Demora
Imagem
Escura
Imagem
Naoliga
Naoimprime
Naosinal
Luzes
Naoimprime
Piscam

2
2
2
2
1
1
2
2
1
1
2
2
2
2
1
1
1
2
1
2
1
2
2
1
1
2
1
1
2
1
1
2
1
2
1
1
2
1
2
1
2
2
1
2
2
1

89
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.01
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02
03.02

39
39
40
41
41
41
42
42
43
44
44
45
45
45
46
46
47
47
47
48
48
48
49
49
50
51
51
52
52
52
53
53
53
54
55
55
56
56
57
57
58
59
60
61
61
62

Carro
Tranca
Alinhamento
Falhas
Horizontais
Linhas
Naopuxa
Papel
Barulho
Fita
Naotraciona
Botao
Naofunciona
Painel
Borra
Impressao
Folha
Naoimprime
Pula
Erro
Falta
Papel
Papel
Pula
Naoliga
Naoimprime
Naosinal
Luzes
Naoimprime
Piscam
Naoimprime
Papel
Puxa
Barulho
Borra
Impressao
Caracteres
Estranhos
Cartuchos
Naoreconhece
Alinhamento
Naocolorido
Naopreto
Algumas
Naocores
Falhas

1
2
2
2
1
2
2
1
2
2
2
2
1
2
2
1
1
1
2
1
2
2
1
1
2
2
1
2
2
2
2
1
2
2
2
1
2
1
2
1
2
2
2
1
2
2

90
03.02
03.02
03.02
03.02
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
03.03
04.00
04.00
04.00
04.00
04.00
04.00
04.00
04.00
05.00
05.00
05.00
05.00
05.00
05.00
06.00
06.00
06.00
06.00
06.00
06.00
06.00
06.00
06.00

62
63
63
63
64
65
65
66
66
66
67
67
68
69
69
70
70
71
71
72
72
73
73
73
73
74
75
75
75
76
77
77
78
78
79
80
80
81
82
82
83
83
84
84

Linhas
Copias
Erro
Muitas
Naoliga
Naoimprime
Naosinal
Luzes
Naoimprime
Piscam
Naopuxa
Papel
Barulho
Borra
Impressao
Caracteres
Estranhos
Falhas
Linhas
Atola
Papel
Desliga
Falta
Luz
Segura
Naoliga
Bateria
Bip
Inversor
Naoliga
Barulho
Vibracao
Barulho
Cliques
Cheiro
Lmpada
Naoliga
Naocomunica
Adquire
Naoescaneia
Lampada
Naoacende
Escaneia
Trava

1
1
1
1
2
2
1
2
2
2
2
1
2
2
1
1
1
2
1
2
2
1
1
1
2
2
1
2
1
2
2
1
2
1
2
1
2
2
1
2
2
2
1
2

Anexo 3. O Arquivo de Casos do Sistema

Caso
1

10

11

12

13

Cod_hs Desc_sucinta/Desc_detalhe/Solucao
Data_cad
Freq
01.01 No Liga
31/07/02
S
CPU no liga e no acende nenhum led nem ventoinhas.
Problema na alimentao de energia. Trocar fonte.
01.01 Liga mas no d nenhum sinal
31/07/02
S
CPU liga leds e ventoinhas mas no tem sinal de vdeo.
Problema na memria. Pode ser placa de vdeo ou placa me com menor
probabilidade.
01.01 Liga mas s d bip sem sinal de vdeo
31/07/02
S
CPU liga leds e ventoinhas, d bip e no tem sinal de vdeo
Problema na memria ou placa de vdeo. Testar primeiro trocando uma
depois outra.
01.01 No carrega Windows, erro HDD
31/07/02
S
CPU liga mas no carrega Windows, acusando erro no HDD
Testar possibilidade de mau contato. Caso no seja trocar HD.
01.01 No carrega Windows, erro CMOS
31/07/02
S
CPU liga mas no carrega Windows, acusando erro na CMOS
Verificar voltagem da bateria CMOS. Se estiver baixa trocar. Caso contrrio
problema na placa-me.
01.01 No carrega Windows
31/07/02
S
CPU liga mas no carrega Windows
Arquivos corrompidos ou faltando. Copiar os arquivos ou reinstalar o SO.
01.02 Erro lendo/gravando disquete
31/07/02
I
Acusa erro durante a leitura ou gravao de disquetes
Tentar com outros disquetes. Continuando o erro trocar drive.
01.02 Erro lendo/gravando winchester
31/07/02
I
Acusa erro durante a leitura ou gravao do winchester
Passar scandisk. Caso volte a acontecer trocar o HD.
01.02 Erro lendo CD
31/07/02
I
Acusa erro durante a leitura de CDs
Fazer limpeza no conjunto tico do CD.
01.02 Erro de disco cheio
31/07/02
I
Acusa erro de disco cheio
Apagar arquivos temporrios, lixeira e arquivo inteis.
01.02 Erro em outras mdias
31/07/02
N
Acusa erro durante o uso de outras mdias
Testar com outras mdias. Persistindo fazer manuteno e limpeza da
unidade.
01.03 Erro de registro
31/07/02
I
Acusa erro no registro do Windows
Passar programa reparador de registro como o scanreg. Testar memrias.
01.03 Erro geral de proteo. Tela azul.
31/07/02
I
Acusa erro geral de proteo (General Protect Failure). D tela azul.

92

14

15

16

17

18

19

20

21

22

23

24

25

26

Trocar memria RAM ou desabilitar cache externa. Pesquisar programas


recentemente instalados. Passar antivrus atualizado.
01.04 No disca para internet
31/07/02
S
No faz a discagem para o provedor internet
Trocar placa de modem e testar sinal de linha com aparelho telefnico.
01.04 No conecta internet
31/07/02
N
Disca mas no conecta no provedor internet
Testar em outra linha e com outro provedor. Verificar vrus. Persistindo
trocar o modem.
01.04 Conecta mas no navega
31/07/02
S
Conecta no provedor mas no abre nenhuma pgina
Verificar os arquivos responsveis pela navegao, devem estar
corrompidos. Passar anti-vrus.
01.04 Conecta mas no recebe e-mails
31/07/02
S
Conecta no provedor mas no recebe e-mails
Verificar configuraes do servidor POP3 no programa usado para e-mails.
01.04 Conecta mas no envia e-mails
31/07/02
N
Conecta no provedor mas no envia e-mails
Verificar configuraes do servidor SMTP no programa usado para e-mails.
01.05 Faz barulho estranho
31/07/02
I
CPU faz barulho estranho
Verificar ventoinhas do processador e fonte. Com menor probabilidade pode
ser o HD com defeito.
01.05 Atrasa data e/ou hora
31/07/02
S
Atrasa data e/ou hora
Verificar voltagem da bateria CMOS. Se estiver baixa trocar. Caso contrrio
problema na placa-me.
01.05 Trava ou d erro em qualquer programa
31/07/02
I
CPU trava ou d mensagem de erro usando qualquer programa
Trocar memria RAM ou desabilitar cache externa. Pesquisar programas
recentemente instalados. Verificar ventoinhas.
01.05 Trava ou d erro em programa especfico
31/07/02
I
CPU trava ou d mensagem de erro usando um programa especfico
Desinstalar e reinstalar o programa. Se no resolver reinstalar tambm o SO.
02.01 Monitor no liga
31/07/02
S
Monitor no liga
Problema de alimentao de energia. Trocar a fonte ou os componentes
queimados da mesma.
02.01 Monitor liga mas no tem imagem
31/07/02
S
Monitor liga mas no tem imagem
Verificar circuitos de deflexo horizontal e vertical.
02.02 Boto de ligar no segura ligado
31/07/02
I
Boto liga/desliga no segura ligado
Trocar o boto
02.03 Imagem do monitor oscila/treme
31/07/02
I
Imagem do monitor oscila/treme
Trocar o potencimetro que regula a posio horizontal e/ou vertical da

93

27

28

29

30

31

32

33

imagem.
02.03 Cores aparecem alteradas
31/07/02
N
Cores aparecem alteradas
Solda fria na placa CRT.
02.03 Cores alteradas mexendo no cabo
31/07/02
I
Cores alteram quando se mexe no cabo de sinal de vdeo
Fio rompido no cabo de sinal de vdeo. Cortar e ressoldar.
02.03 S aparece faixa vertical de luz
31/07/02
N
S aparece faixa vertical de luz no meio
Defeito em componente da deflexo horizontal. Aconselhvel esquema
eletrnico para efetuar conserto.
02.03 S aparece faixa horizontal de luz
31/07/02
N
S aparece faixa horizontal de luz no meio
Defeito em componente da deflexo vertical. Aconselhvel esquema
eletrnico para efetuar conserto.
02.03 Imagem fora de foco
31/07/02
S
Imagem fora de foco
Regular boto de foco no fly-back. Se o problema oscila de com o tempo do
monitor ligado e no fica 100% bom tem que trocar o fly-back.
02.03 Imagem clara demais, muito brilho
31/07/02
S
Imagem clara demais, muito brilho
Regular boto no fly-back. Se no ficar 100% bom tem que trocar o flyback.
02.03 Demora para vir imagem quando liga
31/07/02
S
Demora para aparecer a imagem depois de ligar

34

02.03 Imagem muito escura


Imagem muito escura

35

03.01 No liga
31/07/02
S
Impressora no liga
Problema de alimentao de energia. Trocar a fonte ou os componentes
queimados da mesma.
03.01 No imprime e no d sinal nenhum
31/07/02
S
Liga mas no imprime e no d nenhum sinal
Impressora no est recebendo dados. Provvel defeito na interface de
comunicao da impressora ou do micro. Testar em outro micro para isolar o
defeito.
03.01 No imprime e piscam luzes do painel
31/07/02
S
No imprime e piscam luzes do painel
Verificar no manual da impressora o significado das luzes. Normalmente
sinal que o carro de impresso est trancado.
03.01 Tranca o carro durante a impresso
31/07/02
I
Tranca o carro durante a impresso
Fazer manuteno na impressora. Limpeza e lubrificao do eixo do carro
de impresso.
03.01 Imprime fora do alinhamento
31/07/02
S

36

37

38

39

31/07/02

94

40

41

42

43

44

45

46

47

48

49

50

Imprime caracteres fora do alinhamento vertical


Folga da cabea de impresso no eixo. Trocar as buchas ou ajustar conforme
necessrio.
03.01 Imprime com linhas horizontais falhadas
31/07/02
S
Imprime com linhas horizontais falhadas cortando os caracteres
Falhando
uma ou mais agulhas da cabea de impresso.
Pode ser agulha gasta ou a bobina que dispara a agulha queimada. Fazer
recondicionamento da cabea de impresso ou troca.
03.01 No puxa papel
31/07/02
N
No puxa papel
Fazer limpeza, lubrificao e reviso geral.
03.01 Barulho estranho ao imprimir
31/07/02
I
Barulho estranho ao imprimir
Fazer manuteno na impressora. Limpeza e lubrificao do eixo do carro
de impresso. Verificar buchas do conjunto guia da cabea.
03.01 No traciona a fita
31/07/02
S
No traciona a fita
Engrenagem do conjunto tracionador gasta ou quebrada. Substituir.
03.01 No funciona boto do painel
31/07/02
I
No funciona boto do painel
Remover painel e verificar conexes. Pode ser mau contato, cabo flat
quebrado ou oxidado ou boto quebrado.
03.01 Borra a impresso
31/07/02
I
Borra a impresso com manchas horizontais
A cabea de impresso est muito prxima do papel. Afastar usando
alavanca de posicionamento da cabea. Se a impresso ficar muito fraca
deve-se fazer recondicionamento da cabea de impresso.
03.01 Pula folhas sem imprimir
31/07/02
I
Pula folhas sem imprimir
Verificar driver de impresso usado. Caso esteja correto pode ser defeito na
interface de comunicao da impressora.
03.01 Acusa falta de papel mesmo tendo
31/07/02
S
Acusa falta de papel mesmo quando tem
Sensor de indicao de presena de papel com problema. Trocar ou fechar
curto para desabilit-lo.
03.01 Pula pgina alm do que devia
31/07/02
I
Pula o picote da pgina alm do que devia
Configurao incorreta do tamanho da pgina em uso. Verificar na
configurao da eprom da impressora e no software em uso.
03.02 No liga
31/07/02
S
No liga
Problema de alimentao de energia. Trocar a fonte ou os componentes
queimados da mesma.
03.02 No imprime e no d sinal nenhum
31/07/02
S
No imprime e no d nenhum sinal
Impressora no est recebendo dados. Provvel defeito na interface
de comunicao da impressora ou do micro. Testar em outro micro para

95

51

52

53

54

55

56

57

58

59

60

61

62

isolar o defeito.
03.02 No imprime e piscam luzes do painel
31/07/02
S
No imprime e piscam luzes do painel
Verificar no manual da impressora o significado das luzes. Normalmente
sinal de problema nos cartuchos ou cabea de impresso.
03.02 Puxa papel e no imprime. Pisca luz.
31/07/02
I
Puxa papel e no imprime. Pisca luz do painel.
Provvel problema no cartucho de impresso. Testar com outro. Se no for
verificar conjunto bloco mvel de suporte aos cartuchos, pode estar
quebrado.
03.02 Barulho estranho ao imprimir
31/07/02
I
Faz barulho estranho quando imprime
Fazer manuteno na impressora. Limpeza e lubrificao.
03.02 Borra a impresso
31/07/02
I
Borra a impresso
Fazer manuteno na impressora. Limpeza e lubrificao. Testar com outros
cartuchos se no resolver.
03.02 S imprime caracteres estranhos
31/07/02
N
S imprime caracteres estranhos e no o que foi enviado
Problema na interface de comunicao da impressora ou do micro. Testar
em outro micro para isolar a origem do defeito. Verificar se o driver usado
o correto.
03.02 No reconhece cartuchos
31/07/02
S
No reconhece cartuchos encaixados
Defeito no cartucho ou conjunto do bloco mvel com o encaixe dos
cartuchos quebrado ou cabo flat ca cabea de impresso quebrado ou
oxidado.
03.02 Imprime fora do alinhamento
31/07/02
I
Imprime fora do alinhamento
Fazer alinhamento via software do driver da impressora. Caso no resolva
deve ter folga entre cabea de impresso e eixo. Trocar buchas.
03.02 No imprime colorido
31/07/02
S
No imprime colorido - nenhuma cor
Trocar cartucho color. Se no resolver verificar driver de impresso.
03.02 No imprime preto
31/07/02
S
No imprime preto
Trocar cartucho preto. Se no resolver verificar driver de impresso.
03.02 No imprime algumas cores
31/07/02
I
No imprime algumas cores
Trocar cartucho color. Se no resolver verificar driver de impresso.
03.02 Imprime com linhas falhadas horizontais
31/07/02
I
Imprime com linhas falhadas horizontais
Fazer limpeza da cabea de impresso. Se no resolver trocar o cartucho ou
a cabea (no caso de cabea de impresso fixa como nas Epson).
03.02 Erro quando imprime muitas pginas
31/07/02
I
D erro quando imprime muitas pginas
Pouco espao no winchester do micro ou buffer da impressora muito

96

63

64

65

66

67

68

69

70

71

72

73

74

75

pequeno. Tentar mudar modo de spool no micro.


03.03 No liga
31/07/02
S
No liga
Problema de alimentao de energia. Trocar a fonte ou os componentes
queimados da mesma.
03.03 No imprime e no d sinal nenhum
31/07/02
S
No imprime e no d nenhum sinal
Impressora no est recebendo dados. Provvel defeito na interface de
comunicao da impressora ou do micro. Testar em outro micro para isolar o
defeito.
03.03 No imprime e piscam luzes do painel
31/07/02
S
No imprime e piscam luzes do painel
Verificar no manual da impressora o significado das luzes. Normalmente
sinal de papel atolado.
03.03 No puxa papel
31/07/02
I
No puxa papel
Verificar engrenagens do conjunto de tracionamento do papel.
03.03 Barulho estranho ao imprimir
31/07/02
I
Barulho estranho ao imprimir
Verificar engrenagens do conjunto de tracionamento do papel.
03.03 Borra a impresso
31/07/02
I
Borra a impresso
Conjunto de fuso no est funcionando e o toner est saindo em forma de
p. Verificar lmpada de fuso.
03.03 S imprime caracteres estranhos
31/07/02
S
S imprime caracteres estranhos
Problema na interface de comunicao da impressora ou do micro. Testar
em outro micro para isolar a origem do defeito. Verificar se o driver usado
o correto.
03.03 Imprime com linhas falhadas verticais
31/07/02
S
Imprime com linhas falhadas na vertical
Rolo de fuso riscado ou com marcas. Deve ser trocado.
03.03 Atola papel
31/07/02
I
Atola papel
Papel mido ou engrenagens do conjunto tracionador gastas ou quebradas.
04.01 No segura quando falta luz
31/07/02
N
No mantm os equipamentos ligados quando falta luz
Bateria com defeito. Trocar a bateria. Pode ainda estar com pouca carga,
aps recarregar deve-se refazer o teste.
04.01 No liga
31/07/02
S
No liga
Problema de alimentao de energia. Trocar a fonte ou os componentes
queimados da mesma.
04.01 Mesmo com luz fica s na bateria
31/07/02
N
Mesmo quando tem luz fica s na bateria (inversor)
05.01

No liga

31/07/02

97

76

77

78

79

80

81

82

83

No liga
Problema de alimentao de energia. Trocar a fonte ou os componentes
queimados da mesma.
05.01 Faz barulho de vibrao
31/07/02
I
Faz barulho de vibrao quando est ligado
Transformador mal-fixado na carcaa ou carcaa mal fechada.
05.01 Faz barulho de cliques
31/07/02
I
Faz barulho de cliques quando est ligado
Rel de baixa qualidade, trocar. Pode ainda ser resultado de muita oscilao
na tenso da rede eltrica.
05.01 Cheiro de queimado
31/07/02
N
D cheiro de queimado aps um tempo ligado
Potncia consumida acima da especificao do aparelho. Remover algum
dos equipamentos do estabilizador.
06.01 No liga
31/07/02
S
No liga
Problema de alimentao de energia. Trocar a fonte ou os componentes
queimados da mesma.
06.01 No comunica com o micro
31/07/02
S
Liga mas no comunica com o micro
Reinstalar driver. Verificar se a porta paralela est em EPP na BIOS do
micro.
06.01 No escaneia
31/07/02
S
No acusa erro mas no escaneia imagem nenhuma
Verificar se a lmpada acende e se o carro do sensor se desloca.
06.01 No acende a lmpada
31/07/02
S
No acende a lmpada
Testar com outra lmpada.
06.01 Tranca durante o escaneamento
31/07/02
I
O carro do scanner tranca antes do final do escaneamento
Fazer manuteno e lubrificar o eixo do carro do sensor/lmpada. Verificar
conexes internas.

Anexo 4. O Cdigo-Fonte do Algoritmo de Recuperao e Casamento parte 1


unit NovoCaso;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrls, StdCtrls, Buttons, ExtCtrls;
type
TfrmNovoCaso01 = class(TForm)
lbEquip: TListBox;
Label1: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Memo1: TMemo;
Label2: TLabel;
Bevel1: TBevel;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure lbEquipClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmNovoCaso01: TfrmNovoCaso01;
i,j : integer;
implementation
uses Arquivos, NovoCaso02;
{$R *.DFM}
procedure TfrmNovoCaso01.SpeedButton1Click(Sender: TObject);
begin
Close;
end;
procedure TfrmNovoCaso01.SpeedButton2Click(Sender: TObject);
begin
With Dados.sqlConsultaPalavras Do
Begin

99
Close;
sql.Clear;
sql.Add('Select * From Dicionar Where');
j := 0;
For i := 1 to frmNovoCaso01.lbEquip.Items.Count Do
Begin
If frmNovoCaso01.lbEquip.Selected[i-1] = True Then
Begin
if j = 0 Then
Begin
sql.Add('Cod_Estrut = ' + Copy(lbEquip.Items.Strings[i-1],1,5));
j := 1;
End
Else
sql.Add('OR Cod_Estrut = ' + Copy(lbEquip.Items.Strings[i-1],1,5));
End;
End;
sql.Add('Order By Palavra');
Open;
End;
Close;
frmNovoCaso02.Show;
end;

procedure TfrmNovoCaso01.lbEquipClick(Sender: TObject);


Var
Inicio:String;
begin
If Copy(lbEquip.Items.Strings[lbEquip.ItemIndex],4,2) = '00' Then
Begin
Inicio := Copy(lbEquip.Items.Strings[lbEquip.ItemIndex],1,2);
For i := lbEquip.ItemIndex + 2 to frmNovoCaso01.lbEquip.Items.Count Do
Begin
If Copy(lbEquip.Items.Strings[i-1],1,2) = Inicio Then
frmNovoCaso01.lbEquip.Selected[i-1] := Not
frmNovoCaso01.lbEquip.Selected[i-1];
End;
End;
end;
procedure TfrmNovoCaso01.FormCreate(Sender: TObject);
begin
Dados.TabArvore.First;
lbEquip.Items.Clear;
While Not Dados.TabArvore.Eof Do
Begin

100
lbEquip.Items.Add(Dados.TabArvoreCOD_ESTRUT.Value + ' - ' +
Dados.TabArvoreDESCRICAO.Value);
Dados.TabArvore.Next;
End;
end;
end.

Anexo 5. O Cdigo-Fonte do Algoritmo de Recuperao e Casamento parte 2


unit NovoCaso02;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, Buttons, ExtCtrls;
type
TfrmNovoCaso02 = class(TForm)
lbPalavras: TListBox;
Label1: TLabel;
Label2: TLabel;
Memo1: TMemo;
SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton;
SpeedButton3: TSpeedButton;
Bevel1: TBevel;
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Adiciona(Caso:integer;Grau:integer);
procedure Classificar;
procedure SpeedButton3Click(Sender: TObject);
private
{ Private declarations }
public
R:array[1..100,1..2] Of Integer;
Ultimo:Integer;
{ Public declarations }
end;
var
frmNovoCaso02: TfrmNovoCaso02;
I,J:Integer;
implementation
uses Arquivos, NovoCaso, NovoCaso03;
{$R *.DFM}
procedure TfrmNovoCaso02.FormShow(Sender: TObject);
Var
Palavra : String;
begin

102
lbPalavras.Items.Clear;
Ultimo := 0;
For i:= 0 To 100 Do
Begin
R[I,1] := 0;
R[I,2] := 0;
End;
Palavra:='';
Dados.sqlConsultaPalavras.First;
While Not Dados.sqlConsultaPalavras.Eof Do
Begin
If Palavra <> Dados.sqlConsultaPalavrasPALAVRA.Value Then
Begin
lbPalavras.Items.Add(Dados.sqlConsultaPalavrasPALAVRA.Value);
Palavra := Dados.sqlConsultaPalavrasPALAVRA.Value;
End;
Dados.sqlConsultaPalavras.Next;
End;
end;
procedure TfrmNovoCaso02.SpeedButton1Click(Sender: TObject);
begin
Close;
end;
procedure TfrmNovoCaso02.Adiciona(Caso:integer; Grau:integer);
Var
Achou:Boolean;
Begin
Achou := False;
For I:= 0 to Ultimo Do
If R[I, 1] = Caso Then
Begin
R[I,2] := R[I,2] + Grau;
Achou := True;
End;
If Achou = False Then
Begin
R[Ultimo,1] := Caso;
R[Ultimo,2] := Grau;
Ultimo := Ultimo + 1;
End;
End;
procedure TfrmNovoCaso02.Classificar;
Var
AuxCaso, AuxGrau:Integer;

103
Begin
//Mtodo de Ordenao BOLHA
For I:= 0 to Ultimo-1 Do
For J:= I+1 to Ultimo Do
If R[I, 2] < R[J,2] Then
Begin
AuxCaso := R[I,1];
AuxGrau := R[I,2];
R[I,1] := R[J,1];
R[I,2] := R[J,2];
R[J,1] := AuxCaso;
R[J,2] := AuxGrau;
End;
End;
procedure TfrmNovoCaso02.SpeedButton2Click(Sender: TObject);
begin
Dados.sqlConsultaPalavras.First;
While Not Dados.sqlConsultaPalavras.EOF Do
Begin
If
lbPalavras.Selected[lbPalavras.Items.IndexOf(Dados.sqlConsultaPalavrasPALAVRA.V
alue)] = True Then
Adiciona(StrToInt(FloatToStr(Dados.sqlConsultaPalavrasCOD_CASO.Value)),
StrToInt(FloatToStr(Dados.sqlConsultaPalavrasGRAU.Value)));
Dados.sqlConsultaPalavras.Next;
End;
Classificar;
Close;
frmNovoCaso03.Show;
end;
procedure TfrmNovoCaso02.SpeedButton3Click(Sender: TObject);
begin
Close;
frmNovoCaso01.Show;
end;
end.

Anexo 6. O Cdigo-Fonte do Algoritmo de Recuperao e Casamento parte 3


unit NovoCaso03;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls, Mask, DBCtrls, ExtCtrls;
type
TfrmNovoCaso03 = class(TForm)
Label2: TLabel;
Label1: TLabel;
DBEdit1: TDBEdit;
Label3: TLabel;
DBEdit2: TDBEdit;
Label4: TLabel;
DBEdit3: TDBEdit;
Label5: TLabel;
DBEdit4: TDBEdit;
Label6: TLabel;
DBEdit5: TDBEdit;
Label7: TLabel;
DBEdit6: TDBEdit;
btnRetornarTela: TSpeedButton;
btnAvancar: TSpeedButton;
SpeedButton1: TSpeedButton;
btnRetornar: TSpeedButton;
lblGrau: TStaticText;
Label9: TLabel;
SpeedButton2: TSpeedButton;
Bevel1: TBevel;
DBRadioGroup1: TDBRadioGroup;
SpeedButton3: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure btnRetornarTelaClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnAvancarClick(Sender: TObject);
procedure btnRetornarClick(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

105

var
frmNovoCaso03: TfrmNovoCaso03;
Caso,I,J:Integer;
implementation
uses Arquivos, NovoCaso02, RCaso, RCasosPossiveis;
{$R *.DFM}
procedure TfrmNovoCaso03.SpeedButton1Click(Sender: TObject);
begin
Close;
end;
procedure TfrmNovoCaso03.SpeedButton4Click(Sender: TObject);
begin
Close;
frmNovoCaso02.Show;
end;
procedure TfrmNovoCaso03.btnRetornarTelaClick(Sender: TObject);
begin
Close;
frmNovoCaso02.Show;
end;
procedure TfrmNovoCaso03.FormShow(Sender: TObject);
begin
Caso := 0;
Dados.TabCasos.Locate('Cod_Caso', frmNovoCaso02.R[Caso,1] , []);
If frmNovoCaso02.Ultimo > 1 Then
btnAvancar.Enabled := True
Else
btnAvancar.Enabled := False;
btnRetornar.Enabled := False;
lblGrau.Caption := IntToStr(frmNovoCaso02.R[Caso,2]);
end;
procedure TfrmNovoCaso03.btnAvancarClick(Sender: TObject);
begin
Caso := Caso + 1;
If Dados.TabCasos.Locate('Cod_Caso', frmNovoCaso02.R[Caso,1] , []) Then
Begin
If frmNovoCaso02.Ultimo <> Caso+1 Then
btnAvancar.Enabled := True
Else
btnAvancar.Enabled := False;

106
btnRetornar.Enabled := True;
lblGrau.Caption := IntToStr(frmNovoCaso02.R[Caso,2]);
End
Else
Caso := Caso -1;
end;
procedure TfrmNovoCaso03.btnRetornarClick(Sender: TObject);
begin
Caso := Caso - 1;
Dados.TabCasos.Locate('Cod_Caso', frmNovoCaso02.R[Caso,1] , []);
If Caso > 0 Then
btnRetornar.Enabled := True
Else
btnRetornar.Enabled := False;
btnAvancar.Enabled := True;
lblGrau.Caption := IntToStr(frmNovoCaso02.R[Caso,2]);
end;
procedure TfrmNovoCaso03.SpeedButton2Click(Sender: TObject);
begin
relCaso.QuickRep1.Preview; //Trocar .Preview por .Print para impreso direta
end;
procedure TfrmNovoCaso03.SpeedButton3Click(Sender: TObject);
begin
With Dados.sqlCasosPossiveis Do
Begin
Close;
sql.Clear;
sql.Add('Select * from Casos Where');
j := 0;
For i := 0 to frmNovoCaso02.Ultimo-1 Do
Begin
if j = 0 Then
Begin
sql.Add('(Cod_Caso = ' +IntToStr(frmNovoCaso02.R[i,1])+')');
j := 1;
End
Else
sql.Add('Or (Cod_Caso = ' +IntToStr(frmNovoCaso02.R[i,1])+')');
End;
Open;
End;
relCasosPossiveis.QuickRep1.Preview;
Dados.sqlCasosPossiveis.Close;
end;
end.

5. Bibliografia

AAMODT, A; PLAZA, E. Case-Based Reasoning: Foundational Issues,


Methodological Variations, and System Approaches. AI Communications, v.7,
n.1, p.39-59, Mar. 1994.
ABEL, Mara. Um Estudo sobre Raciocnio Baseado em Casos. Trabalho Individual.
Porto Alegre: CPGCC da UFRGS, 1996.
ADELI, Hojjat, et al. Knowledge Engineering: Vol. II Applicattions. The Ohio State
University. New York: McGraw Hill, 1990.
BARRETO, Jorge M. Inteligncia Artificial: no limiar do sculo XXI. Florianpolis:
Duplic, 1999.
BRIDGE, Derek. Product Recommendation Systems: A New Direction. In:
International Conference on Case-Based Reasoning, 4., 2001, Vancouver.
Proceedings... Cork, 2001. 8 p.
CHORAFAS, Dimitris N. Sistemas especialistas: aplicaes comerciais. So Paulo:
Ed. McGraw Hill, 1988
CUNNINGHAM, Pdraig, et al. Intelligent Support for Online Sales: The WEBSELL
Experience. In: International Conference on Case-Based Reasoning, 4., 2001,
Vancouver. Proceedings... Dublin, 2001. 6 p.
FERREIRA, Aurlio Buarque de Holanda. Dicionrio Aurlio da Lngua Portuguesa.
So Paulo: Ed. Nova Fronteira, 2001.
FOX, Susan. Introspective Learning For Case-Base Planning. 1995. 270 f. Tese (Doctor
of Philosophy in the Department of Computer Science), Indiana University,
Indiana.
JEDLITSCHKA, Andreas, et al. Corporate Information Network (COIN): The
Fraunhover IESE Experience Factory. In: International Conference on CaseBased Reasoning, 4., 2001, Vancouver. Proceedings... Kaiserlautern: IESE, 2001.
4 p.
HANSEN, Bjarne K; RIORDAN, Denis. Weather Prediction Using Case-Based
Reasoning and Fuzzy Set Theory. In: International Conference on Case-Based
Reasoning, 4., 2001, Vancouver. Proceedings... New Brunswick, 2001. 2 p.
HARMON, Paul; KING, David. Expert Systems: Artificial Intelligence in Business.
New York: Wiley Press Book, 1985.

108
HAYES-ROTH, Frederick. Building Expert Systems. Stanford: Addison-Wesley
Publishing Company, Inc, 1983.
KOLODNER, Janet. Case-Based Reasoning. San Mateo: Morgan Kaufmann, 1993.
LEWIS, Lundy. A Case-Based Reasoning Approach to the Management of faults in
Communications Networks. IEEE INFOCOM, San Francisco, v.3, p.1422-1429,
Apr. 1993. Trabalho apresentado no Annual Joint Conference of The IEEE
Computer and Communications Societies, 20., 1993.
LIEBOWITZ, Jay. Introduction to expert systems. Santa Cruz, Califrnia: Mitchell
Publishing. 1988.
MALEK, Maria; KANAWATI, Rushed. A Cooperating Hybrid Neural-CBR
Classifiers for Building On-line. In: International Conference on Case-Based
Reasoning, 4., 2001, Vancouver. Proceedings... Cergy, 2000. 5 p.
McSHERRY, David. Improving the Build Quality of Case-Based Reasoning Systems:
the Case-Authoring Challenge. In: International Conference on Case-Based
Reasoning, 4., 2001, Vancouver. Proceedings... Coleraine: Ulster, 2001. 6 p.
MELCHIORS, Cristina. Raciocnio Baseado em Casos Aplicado ao Gerenciamento de
Falhas em Redes de Computadores. 1999. 151 f. Dissertao (Mestrado em
Cincia da Computao) Curso de Ps-graduao em Computao,
Universidade Federal do Rio Grande do Sul, Porto Alegre.
MLLER, Isabela R. F. Uma anlise das aplicabilidades de sistemas especialistas na
rea de gesto: um estudo de caso. 1998. 131 f. Dissertao (Mestrado em
Administrao) Curso de Ps-graduao em Administrao, Universidade
Federal de Santa Catarina, Florianpolis.
MULLINS, Mark; SMYTH, Barry. Visualisation Methods in Case-Based Reasoning.
In: International Conference on Case-Based Reasoning, 4., 2001, Vancouver.
Proceedings... Dublin, 2001. 4 p.
NEWEL, Allan e Simon, Herbert. A Program that simulates human thought. New
York: Academic Press, 1961.
PARTRIDGE, D. e Hussain, K. Knowledge-based information systems. Londres:
McGraw Hill, 1995.
RIBEIRO, Horcio da Cunha e Sousa. Introduo aos Sistemas Especialistas. So
Paulo: Livros Tcnicos e Cientficos Editora S.A., 1987.
RIO, Beatriz Z., FERNNDEZ, Rodolfo C. Sistemas Expertos: conceptos generales y
su aplicacion comercial. Tecnologia em Marcha. V.9, n.4, 1990.

109
ROTH-BERGHOFER, Thomas. Searching Online Advertisements with Textual CaseBased Reasoning. In: International Conference on Case-Based Reasoning, 4.,
2001, Vancouver. Proceedings... Kaiserlautern, 2001. 2 p.
SCHANK, Roger C. Dynamic memory: a theory of learning in computers and people.
Cambridge: University Press, 1982.
SCHANK, Roger C. The Cognitive Computer: on language learning and artificial
intelligence. Pennsauken: Addison-Wesley Publishing Company, Inc, 1984.
SCHILDT, Herbert. Advanced turbo prolog. Berkley: McGraw Hill, 1987.
SOVAT, Ricardo B.; CARVALHO, Andr C. P. L. F. Retrieval and Adaptation os
Cases Using an Artificial Neural Network. In: International Conference on CaseBased Reasoning, 4., 2001, Vancouver. Proceedings... So Carlos: USP, 2001. 5 p.
TEIXEIRA, Alisson R. A utilizao de programas de computador como agentes no
processo de transferncia da informao: criao e avaliao de um sistema
especialista baseado em casos. 2000. 92 f. Dissertao (Mestrado em Cincia da
Informao) Curso de Ps-graduao em Cincia da Informao, Universidade
de Braslia, Braslia.
YAGER, Ronald R. Induced OWA Aggregation in Case Based Reasoning. In:
International Conference on Case-Based Reasoning, 4., 2001, Vancouver.
Proceedings... New Rochelle, 2001. 5 p.
YAZDANI, Masoud. Artificial Intelligence: principles and applications. Chapman and
Hall Ltd. London. 1986.
WATSON, Ian; MARIR, Farhi. Case-based Reasoning: A Review. The Knowledge
Engineering Review. London. V.9. n.4. 1994.
WEISS, Sholom M. e Kulikowski. Guia prtico para projetar sistemas especialistas.
Rio de Janeiro: LTC, 1988.

S-ar putea să vă placă și