Universidade Estadual de Campinas – UNICAMP Faculdade de Tecnologia -FT INTRODUÇÃO A SISTEMAS...
-
Upload
independent -
Category
Documents
-
view
2 -
download
0
Transcript of Universidade Estadual de Campinas – UNICAMP Faculdade de Tecnologia -FT INTRODUÇÃO A SISTEMAS...
Universidade Estadual de Campinas – UNICAMP
Faculdade de Tecnologia - FT
INTRODUÇÃO A SISTEMAS ESPECIALISTAS
Luiz Barreto
Marcelo Prezoto
Limeira-SP
2010
Universidade Estadual de Campinas – UNICAMP
Faculdade de Tecnologia - FT
INTRODUÇÃO A SISTEMAS ESPECIALISTAS
Autores: Luiz Rodolfo Barreto;
Marcelo Godoi Prezoto
Professor: Prof. Dr. Marcos Augusto Francisco
Borges
Trabalho de Pós-Graduação da disciplina FT011A
– Inteligência Artificial, apresentado na Faculdade
de Tecnologia – FT como requisito de conclusão
de matéria do curso de Mestrado em Tecnologia
para Sistemas e Fenômenos Complexos.
Limeira-SP
2010
AGRADECIMENTO
Agradecemos os estudiosos da área de exatas, pelos excelentes textos que
nos serviram de referência. À Deus, que nos deu tempo para realizarmos esta
pesquisa, e a oportunidade de estudarmos na UNICAMP.
Ao professor Marcos Augusto Francisco Borges por nos aceitar na matéria de
Inteligência Artificial e fornecer seu vasto conhecimento na área.
ii
RESUMO
Trabalho desenvolvido para desvendar uma das áreas de Inteligência Artificial
mais difundidas entre as áreas exatas: Sistemas Especialistas. Acima de tentar criar
sistemas que substituam especialistas humanos, a área de Sistemas Especialistas
busca criar sistemas que possam oferecer respostas mais exatas aos problemas já
utilizados por sua base de conhecimento.
ABSTRACT
Paper developed to unveil one of fields from Artificial Inteligence best
disseminate into the exact areas: Specialist Systems. Upward of try create systems
that substitute human specialists, the Specialist Systems area search create systems
that can offer more exactly answers to problems already used into your knowledge
base.
iii
ÍNDICEAGRADECIMENTO..................................................................................................................... II
RESUMO..................................................................................................................................... III
ABSTRACT................................................................................................................................. III
LISTA DE FIGURAS...................................................................................................................VI
LISTA DE SIGLAS....................................................................................................................VII
INTRODUÇÃO............................................................................................................................. 1
EMBASAMENTO TEÓRICO........................................................................................................4
FUNDAMENTOS DE UM SISTEMA ESPECIALISTA............................................................................4
COMO O SISTEMA ESPECIALISTA “APRENDE”..............................................................................5
DESAFIOS E SOLUÇÕES ENCONTRADAS COM SISTEMAS ESPECIALISTAS....................8
VANTAGENS.....................................................................................................................8
Velocidade em determinar a fronteira do que é o problema com a fronteira da
possível solução................................................................................................................... 8
Decisões fundamentadas em bases de conhecimento............................................9
Estabilidade do conhecimento.................................................................................9
Dependência decrescente de humano especialista.................................................9
Integração de soluções..........................................................................................10
DESVANTAGENS...............................................................................................................10
Especialização focalizada......................................................................................10
Falta de meta-conhecimento.................................................................................11
Validação do desempenho....................................................................................11
CLASSIFICAÇÃO DOS SISTEMAS ESPECIALISTAS.............................................................12
SISTEMA ESPECIALISTA DE INTERPRETAÇÃO...........................................................................12
SISTEMA ESPECIALISTA DE DIAGNÓSTICO..............................................................................12
SISTEMA ESPECIALISTA DE MONITORAMENTO..........................................................................13
SISTEMA ESPECIALISTA DE PREDIÇÃO...................................................................................13
SISTEMA ESPECIALISTA DE PLANEJAMENTO............................................................................13
SISTEMA ESPECIALISTA DE PROJETO....................................................................................14
SISTEMA ESPECIALISTA DE DEPURAÇÃO................................................................................14
SISTEMA ESPECIALISTA DE REPARO.....................................................................................14
SISTEMA ESPECIALISTA DE INSTRUÇÃO..................................................................................14
SISTEMA ESPECIALISTA DE CONTROLE..................................................................................15
ELEMENTOS PRIMORDIAIS DE SISTEMAS ESPECIALISTAS..............................................16
BASE DE CONHECIMENTO..................................................................................................17
iv
QUADRO NEGRO.............................................................................................................17
MECANISMO DE INFERÊNCIA...............................................................................................17
PROCESSADOR DE LINGUAGEM NATURAL...............................................................................19
JUSTIFICADOR DE CONHECIMENTO........................................................................................19
SEQÜENCIADOR...............................................................................................................19
INTERPRETADOR..............................................................................................................20
RESPOSTAS/SAÍDAS DE UM SISTEMA ESPECIALISTA.......................................................21
ABORDAGEM DE PRIMEIRO MODO: A DEFINIÇÃO GENÉRICA........................................................21
ABORDAGEM DE SEGUNDO MODO: A DEFINIÇÃO ESPECÍFICA.....................................................21
ABORDAGEM DE TERCEIRO MODO: A DEFINIÇÃO AUTO-CRIADA...................................................22
COMPARANDO SISTEMAS: SISTEMAS CONVENCIONAIS X SISTEMAS ESPECIALISTAS
................................................................................................................................................... 23
CONCLUSÃO............................................................................................................................ 24
REFERÊNCIAS BIBLIOGRÁFICAS..........................................................................................25
v
LISTA DE FIGURAS
Figura 1 – Estrutura básica de um sistema especialista....................................... 16
Figura 2 – Regras básicas de um mecanismo de inferência.................................18
vi
LISTA DE SIGLAS
HD – Hard Disk / Disco Rígido
IA – Inteligência Artificial
Inmetro - Instituto Nacional de Metrologia, Normalização e Qualidade Industrial
KB – Knowledge Base (Base de Conhecimento)
Prolog – Programação Lógica
vii
INTRODUÇÃO
Vivenciando uma era tecnológica onde o limite de divergências entre os seres
começa a se tornar mera terminologia, a descoberta de padrões lógicos de atitudes
até então humanas começa a resplandecer no horizonte tecnológico.
A definição de inteligência torna-se cada dia mais divergente da idéia original
da palavra em latim intelligere, uma associação das palavras em latim intelligenzia e
intèndere, que significa “entender, compreender” (BONOMI, 2008). Atualmente, não há
como definir o quão divergente é a compreensão de uma pessoa perante a
compreensão de uma máquina, pois não há definição de que a compreensão humana
é simplesmente um emaranhado de neurônios que entendem algum estímulo externo
e inicia uma seqüência de atividades; ou é algo mais profundo, que a lógica Fuzzy não
conseguiria produzir uma condição que atenda explicitamente a uma máquina
executar as ordens que a foram incumbidas.
Tendo esta definição incongruente em mente, definir o que é a inteligência
artificial se torna uma árdua tarefa de horas de raciocínio. Por hora, utilizamo-nos de
uma definição amplamente conhecida, de que “Inteligência Artificial é a parte da
ciência da computação que compreende o projeto de sistemas computacionais que
exibam características associadas, quando presentes no comportamento humano, à
inteligência” (BARR & FEIGENBAUM, 1981).
Com tal definição em mente, podemos afirmar que o conhecimento englobado
por este conceito de inteligência artificial muda a cada dia, por um lado ampliando
seus horizontes com novas descobertas humanas, por outro reduzindo conforme
novas tecnologias são descobertas.
Uma das mais difundidas concepções aplicadas de Inteligência Artificial no
cotidiano são os sistemas especialistas. Antes de entrar em discussão o que é um
sistema especialista e suas fronteiras, vamos definir o que é sistema e o que é
especialista.
Primeiramente, definamos sistema, que é um “Conjunto de elementos,
materiais ou ideais, entre os quais se possam encontrar ou definir alguma relação”
(FÁVERO & SANTO, 2005), ou seja, um agrupamento de objetos com o objetivo de
processar algo e apresentar um resultado esperado, logo, uma derivação das
1
atividades que os humanos realizam, como o ato de andar, cujo objetivo é chegar a
algum ponto no globo terrestre.
Um sistema que possua uma boa integração dos módulos é chamado de
sistema sinérgico, onde as transformações ocorridas em uma das partes do sistema
serão influenciadas pelas transformações ocorridas em outras partes deste mesmo
sistema. (TONSIG, 2003)
Já a idéia de sistema em nosso contexto, podemos definir como um
agrupamento de módulos (programas), com entradas de dados e saída de
informações, com o objetivo de resultar em informações lógicas para seus usuários.
Com a idéia de sistema em mente, definamos especialista como sendo a
"Pessoa que se consagra com particular interesse e cuidado a certo estudo.
Conhecedor, perito". (FÁVERO & SANTO, 2005), ou seja, é algo ou alguém que
possui características de profunda sabedoria/conhecimento em um assunto específico,
de forma a fornecer resultados de processamentos com ênfase realística. Em nosso
contexto, abstrairemos a palavra “pessoa” para “ser ou máquina”.
Juntando estas duas concepções, conclui-se que sistema especialista é um
agrupamento de objetos/módulos, cada qual com sua especialidade, com o objetivo de
fornecer uma resposta mais factível possível da real resposta esperada. Juntando isto
com os conceitos de Inteligência Artificial, tal sistema deverá possuir interfaces de
entrada de dados, de forma a obter sempre mais conhecimento em determinado
assunto, de forma a especializar-se mais e mais no assunto ao qual submete sua
especialidade.
Com estas idéias bem definidas, podemos mostrar como um sistema
especialista funciona e quais são seus embasamentos para tal.
O trabalho está estruturado como se segue: no Capítulo 2 é apresentado o
embasamento teórico deste trabalho contendo informações sobre o a base de
sistemas especialistas e definições; no capítulo 3 são apresentados os desafios
encontrados em desenvolver sistemas especialistas, bem como suas vantagens e
desvantagens; no capítulo 4 são apresentados os tipos de sistema especialistas, de
acordo com suas funções; no capítulo 5 são apresentados os elementos que um
sistema especialista deve possuir para garantir seu funcionamento e ter as respostas
factíveis mais próximas do esperado; no capítulo 6 são apresentados os possíveis
tipos de resposta que um sistema especialista pode conceder; no capítulo 7 é
2
apresentada uma comparação de resultados entre sistemas especialistas e sistemas
tradicionais e no capítulo 8 são apresentadas as conclusões.
3
EMBASAMENTO TEÓRICO
Este capítulo contém o embasamento teórico utilizado para compreender o
funcionamento de um sistema especialista, ainda que de forma bem simplória.
Fundamentos de um sistema especialista
Como definimos acima, sistema especialista nada mais é que um sistema cujos
módulos possuem embasamento em determinado assunto, a fim de fornecer
respostas especializadas em determinado assunto.
Visto que decisões especializadas são frutos do pensamento humano, que
compara fatos levantados e localiza certa ligação entre os demais fatos que possuam
situações idênticas, o sistema especialista também deve ter funcionamento embasado
em experiências passadas para fornecer respostas especializadas ao usuário.
Se um sistema destes armazenar suas experiências, e, assim como os
humanos aprendem, ser alimentados por conhecimento através de um humano, um
sistema pode tornar-se especialista no assunto e obter certa vantagem sobre a
especialidade humana, visto que a máquina não irá esquecer as informações que lhe
foram passadas.
Mas, ao trabalharmos no conhecimento que um sistema especialista pode
armazenar, deparamo-nos com o grande empecilho hoje da Inteligência Artificial: até
quando o senso humano auxilia o processo de fornecimento de informações.
Novamente, definiremos senso, que é “a suposta compreensão de todas as
coisas por meio do saber social, ou seja, é o saber que se adquire através de
experiências vividas ou ouvidas do cotidiano“. (MUNDO EDUCAÇÃO, 2009).
A definição acima nos mostra uma frase intrigante: “... suposta compreensão
de todas as coisas ... de experiências vividas ou ouvidas do cotidiano”, ou seja, senso
basicamente é o aprendizado diário humano, que faz com que tome decisões em
momentos que o mesmo não possua a certeza de que a verdade absoluta esteja
sendo findada no momento.
4
As máquinas tentam simular tal senso com a lógica Fuzzy, que pode ser
definida como “uma derivação da vagacidade do universo crisp (onde só existem
verdades e falsidades absolutas, o popular true or false), podendo definir situações
onde a verdade absoluta ou a falsidade absoluta não podem ser definidas, mas que a
situação chegue perto de uma camada de coincidência onde possa ser definido um
cenário propício a uma verdade ou falsidade”. (ABAR, 2008).
Ou seja, máquinas podem executar sistemas cuja resposta assemelha-se a de
especialistas humanos, simulando o senso humano através de lógica cujo resultado
possa aproximar-se de uma possível resposta crisp, simulando, por sua vez, ter
conhecimento a respeito de determinado assunto.
A especialização deste sistema se dá pelo “aprendizado” de novos conceitos e
novas resoluções para problemas já apresentados anteriormente. Obviamente, uma
máquina não aprende simplesmente o que fazer, pois lhe falta o senso, como descrito
anteriormente, mas esta máquina poderá armazenar em sua base de dados, possíveis
dados que possuam relação direta com uma determinada resposta que o usuário
possa definir como sendo satisfatória.
Como o sistema especialista “aprende”
A formação de um sistema especialista é basicamente composta por três
componentes principais:
- Base de dados, responsável por armazenar os dados pré-levantados e as
possíveis respostas de um determinado conjunto de entradas, assim chamada de
base de conhecimento;
- Conjunto de operadores, que são mecanismos que fazem as buscas na base
de dados a fim de encontrar respostas aos dados informados inicialmente;
- Estratégia de controle, que assim como uma árvore binária, é a responsável
por facilitar a localização do conjunto de operadores, restringindo a base de dados a
um subconjunto de metas, a fim de diminuir, a cada dado fornecido, a gama de
possíveis respostas aos problemas especificados.
Baseado em (FÁVERO & SANTO, 2005).
5
Como podemos observar, nenhum dos módulos aplica explicitamente a lógica
Fuzzy, pois tal lógica é aplicada pelo conjunto de ação dos três componentes, seja
restringindo, procurando ou fornecendo dados com consideráveis taxas de acerto a
certo tipo de questão levantada.
Como todos estes componentes são alterados a cada pergunta realizada /
resposta esperada divergente da fornecida ao usuário, o sistema especialista
necessita ser executado em ambientes de armazenamento e processamento de dados
cujo código seja dinamicamente alterado, de forma a sempre acrescentar e modificar
possíveis regras inseridas no sistema.
Desta forma, o sistema acaba chegando a um ponto que sua base de dados e
de regras é tão desenvolvida que as respostas começam a satisfazer mais e mais os
usuários, ou seja, quanto mais um sistema especialista é utilizado, mais conhecimento
ele adquire, e mais especialista ele se torna, diferentemente do ser humano que a
cada pensamento especialista que possua, mais genérico torna seu pensamento.
Ainda assim, é levantada a questão da substituição de profissionais
especialistas por uma máquina especialista. Como citado anteriormente, o que torna
inviável tal fato é a falta de senso humano de um sistema especialista, percebida pelo
problema que um médico sofre ao diagnosticar uma doença a um paciente: Se um
paciente possui tosse e escorrimento no nariz, ele está resfriado, se ele possui dores
no corpo, náuseas e vômito, dengue. Mas, e se o paciente mentir sobre algum destes
sintomas apenas para ser medicado? É neste momento que entra o senso humano,
que de uma forma injustificável, percebe que o paciente está mentindo, analisando,
por exemplo, seu tom de voz, trejeitos de expressar-se e comportamentos de um
paciente que mente.
Assim, visto pelo lado do senso, um sistema especialista acaba se tornando
mais um auxilio à um humano especialista do que um sistema que por si só seja
especialista.
Mas, vendo por outro ângulo, é possível que um médico possua conhecimento
do diagnóstico de todas as doenças com a qual ele se depara? Ou ele só possui
conhecimento daquelas que são mais comuns de ocorrer? Visto que o ser humano é
incapaz de armazenar grandes quantidades de conhecimento em sua mente ao
mesmo tempo, é levada a conclusão de que o médico possua algum tipo de
documentação para ser consultada quando se deparar com uma doença anormal ao
seu dia-a-dia. Se ele possui uma base de conhecimento com a qual ele consulta os
6
sintomas, nada pode impedir de que tenha uma base da mesma forma que esta, mas
com a vantagem de aprender com os diagnósticos fornecidos pelo médico.
Assim, novamente fica a pergunta no ar: será que um sistema especialista
pode ou não substituir a opinião humana?
7
DESAFIOS E SOLUÇÕES ENCONTRADAS COM SISTEMAS
ESPECIALISTAS
Assim como qualquer questão ou tecnologia que seja descoberta ou discutida
na atual sociedade, a vertente da Inteligência Artificial que trabalha com sistemas
especialistas também encontrou algumas soluções e desafios nos algoritmos de seus
sistemas especialistas.
Vantagens
Abaixo, um estudo de tais soluções a desafios já transpassados e alguns
questionamentos que ainda assolam o universo de sistemas especialistas, começando
pelas vantagens:
Velocidade em determinar a fronteira do que é o problema com a fronteira da possível solução.
O ser humano possui uma capacidade infinita em resolver problemas de seu
cotidiano. Mas, por ter senso (já discutido neste trabalho), acaba muitas vezes
confundindo-se em definir a fronteira do problema com a respectiva solução. Com isto,
acaba se gastando tempo precioso em se determinar a principal causa do problema,
para depois vir atacando as causas menores e respectivamente acabar com o
problema em si e gerar uma solução. Logo, como uma máquina processa em padrão
lógico, a fronteira do problema com a solução acaba sendo explícita, facilitando o foco
em encontrar a principal causa e apontar as possíveis falhas para se chegar à solução
esperada.
8
Decisões fundamentadas em bases de conhecimento.
Diferente do ser humano, que possui uma base finita de armazenamento de
informações (além do problema de esquecer momentaneamente alguma informação),
a capacidade de armazenar informações em uma máquina é praticamente infinita
(mesmo quando está chegando ao fim, basta adicionar HD ou memória que sua
capacidade aumenta). Logo, partindo do princípio que a máquina tenha sido
alimentada com a mesma quantidade de informação que um humano, a máquina
teoricamente seria superior ao humano em tomada de decisões. Alinhado a isto, uma
máquina toma decisões findadas em conhecimento previamente inserido e
processado, diferente de algumas situações humanas onde decisões são definidas em
base de premissas incertas de “acreditar” em uma determinada solução. Uma máquina
toma decisões em informações findadas.
Estabilidade do conhecimento.
Como foi citado no sub-tópico acima, uma máquina toma decisões baseadas
em conhecimento previamente cadastrado e processado. Também foi citado o
problema humano de esquecer momentaneamente uma informação (praticamente
todo humano já passou por situações onde tenha esquecido alguma data importante,
ou de comprar algum objeto para sua esposa), algo que dificilmente ocorreria em uma
máquina (salvo em situações de perda de informação ou problema técnico). Mesmo
com tais informações em mente, ainda é infinitamente superior a quantidade de vezes
que um humano poderia esquecer uma informação perante a quantidade de vezes que
uma máquina poderia ter um problema técnico e perder alguma informação.
Dependência decrescente de humano especialista.
Assim como ocorre com os humanos, quanto mais informações uma máquina
consegue “aprender” (utilizaremos este termo para assimilar a um humano a máquina,
na realidade, ela está ampliando sua base de conhecimento), mais especialista ela se
torna, e quanto mais especialista ela se torna, menos dependência com interações de
9
inserções de conhecimento (sentido humano de aprendizado) esta possuirá, logo, aos
poucos, vai se extinguindo a relação de um humano especialista alimentando
conhecimento nesta máquina, desta forma, tornando-a independente em alguns
aspectos relacionados à sua tomada de decisão.
Integração de soluções.
Novamente comparando a um humano, uma máquina possui a vantagem de
compartilhar as soluções encontradas com outras soluções, de forma a compartilhar
sua base de conhecimento com outras soluções, ou seja, um sistema especialista de
diagnóstico médico pode compartilhar informações com o sistema especialista de
medicamentos, de forma que a inserção em qualquer uma das bases de conhecimento
gere automaticamente uma solução de determinado problema em outra base,
mantendo cada solução especialista em sua área, diferentemente de um humano.
Seria como tentar fazer um humano compreender a especialidade de outro humano,
sem que este se torne especialista em determinada área, utilizando dos recursos do
outro humano. Em outras palavras, um humano utilizar da massa cinzenta de outro
humano para encontrar uma solução em sua área especialista.
Desvantagens
Assim como qualquer tecnologia, um sistema especialista também possui
desvantagens. Como na área de tecnologia desvantagens podem ser momentâneas,
durando apenas até uma nova tecnologia surgir, veremos estas desvantagens como
desafios. Agora, discorreremos sobre alguns dos desafios:
Especialização focalizada.
Já fora discorrido nos sub-tópicos anteriores que, desde que previamente
alimentado, uma máquina especialista possui uma capacidade superior à humana ao
oferecer soluções técnicas a problemas especializados. Mas, ao tentar localizar uma
solução genérica para algum problema do cotidiano, a máquina torna-se totalmente
10
ignorante àquilo que não fora previamente programada. Por exemplo, um médico (um
especialista em diagnósticos) pode muito bem pregar um prego solto (tarefa de um
marceneiro, o especialista em trabalhar madeira). Mas, se existir uma máquina
especialista em diagnósticos, e ela não for previamente instruída a como pregar um
prego, ela jamais irá corresponder da maneira esperada diante de tal problema. Logo,
em situações genéricas, o humano possui uma capacidade superior à máquina, visto
que um humano pode ser especialista em qualquer coisa, que continuará possuindo
uma estrutura corporal idêntica, já a máquina, muda de peças de acordo com a
especialidade que irá prover.
Falta de meta-conhecimento.
Um humano pode aprender novas habilidades sozinho. Seja uma língua, um
esporte, tocar um instrumento ou mesmo programar, um ser humano não precisa de
outro ser humano inserindo conhecimento para que possa realizar algumas tarefas
específicas. Uma máquina necessita ser instruída logicamente para que possa realizar
algo específico. Ou seja, sem algo ou alguém que a “instrua”, uma máquina não passa
de um aglomerado de metal e silício sem utilidade alguma.
Validação do desempenho.
Diferente do humano, que para validar seu conhecimento e seu desempenho,
utiliza de provas com tempo para responder, uma máquina possuirá sempre um tempo
X para realizar determinada tarefa, e ainda assim terá de ser validada por algum
humano especialista, que diferente do humano, que valida o seu próprio desempenho,
a máquina não possui métodos precisos para validar-se. Assim concluímos que
mesmo a máquina tornando-se especialista com respostas mais bem fundadas que as
do ser humano, o humano ainda possui as respostas mais confiáveis que as de uma
máquina, por se responsabilizar pelo uso das mesmas.
Informações baseadas em (FÁVERO & SANTO, 2005).
11
CLASSIFICAÇÃO DOS SISTEMAS ESPECIALISTAS
Assim como qualquer outro tipo de sistema, os sistemas especialistas podem
ser classificados de diversas formas. Se classificados quanto a sua forma de
funcionamento, existem 10 possíveis categorias onde um sistema especialista pode
ser enquadrado:
Sistema Especialista de Interpretação
Partindo do princípio de que um sistema especialista possua uma ampla base
de conhecimento, um sistema especialista de interpretação irá prover descrição de
situações de solução para determinados problemas, realizando uma análise nos
pontos chave do problema e relacionando com situações parecidas que este tenha em
sua base de conhecimento. Assim, é possível fazer uma análise por aproximação
(baseando-se em lógica Fuzzy) das causas que sejam parecidas com a causa do atual
problema, e oferecer uma solução equivalente a de outros problemas apresentados.
As demais soluções que possuam um grau de acerto inferior são descartadas.
Sistema Especialista de Diagnóstico
Sistemas de apoio à decisão dos sistemas especialistas de interpretação.
Geralmente, são interligados por módulos ao próprio sistema especialista de
interpretação. Baseando-se nas falhas de solução que um sistema especialista de
interpretação possa gerar, como falhas técnicas, falhas de interpretação de dados ou
falhas de diagnóstico, efetua uma correção na base de dados dos sistemas
especialistas, atuando sobre as possíveis respostas que um sistema especialista de
interpretação possa concluir como sendo a resposta mais próxima de estar correta.
12
Sistema Especialista de Monitoramento
Atua em conjunto com sistemas comuns. Monitora determinado
comportamento dos sistemas, informando ao usuário humano as intervenções
necessárias do usuário. Desta forma, realiza uma interpretação do status do sistema,
aguardando momentos onde o sistema necessite de entradas humanas para que a
operação seja concluída com sucesso. Um exemplo deste é o Adobe Acrobat Updater.
Sistema Especialista de Predição
Baseando-se em informações históricas dos sistemas, um sistema especialista
de predição consegue retornar possíveis informações futuras de um sistema, como o
crescimento deste, o índice de possíveis erros e as áreas de possível falha. Diferente
de um sistema especialista de planejamento (como visto abaixo), este sistema apenas
informa ao usuário humano possíveis problemas futuros, não tomando decisão alguma
de alterações e etc., que fica a cargo do humano operador do sistema.
Sistema Especialista de Planejamento
Baseando-se em dados levantados pelos sistemas especialistas de predição, e
nos dados de possíveis metas definidas para os próximos períodos de análise, este
tipo de sistema fornece uma lista de tarefas e sub-tarefas para atingir determinado
objetivo, tomando ações para que tais tarefas sejam cumpridas no prazo. Este tipo de
sistema pode funcionar baseando-se em dados de software e hardware para previsões
de tecnologia ou em dados das bases de dados para fornecer análises a um horizonte
de negócio.
13
Sistema Especialista de Projeto
Busca soluções alternativas a problemas encontrados pelos sistemas
especialistas de planejamento, oferecendo alternativas com o mínimo de alterações no
resultado final buscado pelos sistemas especialistas de planejamento. Logo, gera
justificativas plausíveis para explanar sobre as mudanças nas fases de planejamento,
atacando as sub-tarefas geradas pelos sistemas especialistas de planejamento.
Sistema Especialista de Depuração
Provê soluções para um possível mau-funcionamento por distorção das bases
de dados e de regras do sistema. Desta forma, age como um agente de validação de
quebra de regras de um sistema especialista, validando os processos executados
dentro do sistema e identificando possíveis procedimentos danosos ao programa.
Sistema Especialista de Reparo
Sistema especialista em executar as correções sugeridas pelos sistemas
especialistas de depuração, administrando as falhas que necessitem de paradas de
sistema para conserto e agendando tais paradas para efetuar a manutenção. Como se
tratam de sistemas complexos de alto impacto nos negócios, ocasionando muitas
paradas de processo, este tipo de sistema especialista é pouco desenvolvido, pois a
responsabilidade sob o sistema é muito grande para algo tão artificial.
Sistema Especialista de Instrução
Sistema especialista com objetivo de propor desafios a seu operador, de forma
a instruí-lo a realizar determinadas tarefas, de forma a ensinar sobre determinado
assunto a um possível estudante que opere o sistema. Pode incorporar subsistemas
14
especialistas, como de depuração ou reparo, para que o estudante possa obter
situações parecidas durante a operação com o sistema.
Sistema Especialista de Controle
Sistema especialista de maior nível de complexidade. Sistema especialista que
controla diversos outros tipos de sistemas, não somente os computacionais. Realiza
análises baseadas nos sistemas especialistas de diagnóstico e predição, de forma a
determinar horizontes de negócio para os próprios sistemas especialistas incorporados
a ele.
Informações baseadas em (FÁVERO & SANTO, 2005).
15
ELEMENTOS PRIMORDIAIS DE SISTEMAS ESPECIALISTAS
Baseando-se na premissa de que sistemas especialistas não possuem domínio
total de toda informação de sua especialidade, o sistema especialista necessita
oferecer ao usuário respostas que sejam o mais próximo de respostas ideais, logo, a
resposta que estiver mais próximo de ser a ideal, será a que será escolhida para saída
de um sistema especialista.
Dentro de muitas arquiteturas de sistemas especialistas, existe uma que se
destaca pela simplicidade de compreensão, chamada de “Estruturação Básica”, que é
dividida em sete partes básicas: Base de Conhecimento, Quadro Negro, Mecanismo
de Inferência, Processador de Linguagem Natural, Justificador de Conhecimento,
Seqüenciador e Interpretador. Abaixo, uma representação gráfica das interligações
dos componentes da estrutura básica e a descrição detalhada de cada estrutura:
Figura 1 – Estrutura básica de um sistema especialista
16
Base de Conhecimento
Local de armazenagem de todas as regras e fatos dos sistemas especialistas.
Seria o banco de dados de um sistema tradicional ou a área do cérebro humano que
armazena o conhecimento adquirido.
Quadro Negro
Local de compartilhamento de regras dos sistemas especialistas. Assim como
um código em Prolog que carrega bases de regras na memória do computador,
disponibilizando tais regras para que outros sistemas possam a utilizar, o quadro-
negro compartilha informações levantadas pela Base de Conhecimento e Mecanismo
de Inferência com os demais softwares que compartilham informação.
Desta forma, as regras tornam-se públicas para que os sistemas compartilhem
entre si tais regras, ou seja, um sistema pode fornecer e requisitar regras disponíveis
em um quadro negro público. Assim como funciona qualquer lousa escolar, um quadro
negro oferece informações aos leitores de tais quadros, que a qualquer momento
podem alterar as regras ali escritas, de forma que os novos leitores possam
compartilhar a nova informação descrita na lousa.
Assim, conforme os objetivos parciais são atingidos, os resultados parciais de
um determinado problema são publicados no quadro-negro, num processo de escrita,
leitura e exclusão de informações que se estende até a conclusão final do problema.
Mecanismo de Inferência
Mecanismo compartilhado entre sistemas especialistas para busca de dados
na base de conhecimento. Tendo a premissa de que as bases de conhecimento são
padronizadas e que os mecanismos de inferência sigam um padrão de busca, o
mecanismo de inferência irá encontrar a melhor solução dentre um conjunto racional
pré-determinado na base de conhecimento, chegando a resposta mais próxima do
ideal esperado pelo usuário.
17
Basicamente, as tarefas de um mecanismo de inferência se resumem a figura
abaixo:
Figura 2 – Regras básicas de um mecanismo de inferência
Após estes passos descritos na figura acima, o mecanismo de inferência fixa
estes dados no quadro-negro, de forma a serem avaliadas antes das regras anteriores
do quadro-negro, logo, empilha as informações no quadro-negro.
A regra é avaliada enquanto ter contexto verdadeiro, caso contrário, a regra é
eliminada do quadro-negro, a meta estabelecida é desempilhada e uma nova regra
para a meta estabelecida é criada, num processo recíproco até a localização da
solução esperada. Logo, definiremos mecanismo de inferência o processo de
avaliação das possíveis soluções das sub-tarefas de uma possível resposta de um
problema. Este mecanismo também nos auxilia a localizar erros nos fundamentos e
objetivos lógicos, de forma a aprimorar nossas regras de localizar soluções a
problemas.
É responsável também por consistir nas regras executadas pelo Interpretador,
realizando uma verificação final em todas as regras que serão enviadas ao usuário por
meio do Processador de Linguagem Natural.
18
Processador de Linguagem Natural
Sistema especialista responsável por manter a interface com o usuário na área
de regras do sistema, de forma a receber e enviar regras ao usuário, da forma mais
transparente possível para o mesmo. A palavra “Natural” está associada a este termo
pelo fato do processador necessitar interpretar a linguagem utilizada pelo usuário,
respondendo aos estímulos do usuário nas bases de conhecimento, de forma a este
atributo por si só tornar-se um mecanismo especialista, interligando-se ao sistema de
forma também natural, sendo o menos artificial possível ao emitir saídas ao usuário.
Justificador de Conhecimento
Voltado para trabalhar com as saídas do processo de Regras do Mecanismo de
Inferência, este módulo é responsável por detalhar como o sistema chegou a
determinada conclusão, para utilizar do Processador de Linguagem Natural para
interagir com o usuário e, se necessário, solicitar ao usuário as entradas de sistema
necessárias para finalizar determinada conclusão. Com isto, alinha a lógica
computacional com a lógica humana, mantendo o sistema o mais natural possível, e,
consequentemente, utilizando-se menos do Processador de Linguagem Natural ao
retornar as respostas ao usuário (as entradas do sistema sempre serão em linguagem
natural, logo, este tipo de tarefa não pode ser aliviada no Processador de Linguagem
Natural).
Seqüenciador
Seleciona regras à serem utilizadas de acordo com fatos e hipóteses,
colocando-as em ordem de execução para que o interpretador trabalhe com elas.
Desta forma, executa as operações Fuzzy necessárias para desenvolver uma
seqüência de processamento interno, concluir em uma resposta e enviar ao
interpretador para execução.
19
Interpretador
Responsável por interpretar as regras passadas pelo Seqüenciador, ou seja,
processa as informações e regras que lhe são enviadas para processamento. Logo,
torna-se em parte o núcleo do sistema, para que este possa trabalhar com as
informações passadas.
Informações baseadas em (FÁVERO & SANTO, 2005).
20
RESPOSTAS/SAÍDAS DE UM SISTEMA ESPECIALISTA
Até o momento, definimos um sistema especialista, abordamos sua
classificação, como mantém sua base de informações e etc., agora adentramos no
universo das saídas de um sistema especialista, ou seja, como são classificadas as
saídas de um sistema especialista.
Para tanto, imaginemos a seguinte situação: um aluno está utilizando um
sistema de busca (Google) para localizar o significado de ”Variável”.
Teríamos três tipos de resposta com abordagens do sistema de modo distinto:
Abordagem de Primeiro Modo: A definição genérica.
Partindo do princípio que cada informação possui seu contexto/universo de
aplicação, mudando seu significado a cada contexto utilizado, a máquina irá fornecer
uma visão abrangente sobre o assunto pesquisado, de forma a definir o universo
específico de aplicação da palavra.
No nosso caso de exemplo, a máquina iria retornar ao usuário para que este
pesquise livros de desenvolvimento básico de algoritmos de informática, ou seja, não
definiu o que era a variável, mas apontou para o usuário onde poderia localizar tal
informação.
Abordagem de Segundo Modo: A definição Específica.
Ainda dentro da idéia de contextos de informação, seria especificar o
significado da expressão pesquisada.
Em nosso caso de exemplo, a máquina especificaria que dentro do contexto de
desenvolvimento de algoritmos de informática, variável é um espaço em memória cujo
conteúdo pode sofrer alterações no decorrer da utilização do algoritmo.
21
Abordagem de Terceiro Modo: A definição auto-criada.
Esta abordagem talvez seja a que mais pode influenciar um usuário, sendo a
mais complicada a se desenvolver em um algoritmo de sistema especialista. Esta
abordagem visa forçar o usuário a criar suas próprias definições, de forma a deixar o
problema de gerar uma resposta para o problema a cargo do usuário.
Seria algo como o sistema responder ao usuário, através de exemplos, o que
pode ser uma variável, deixando a cargo de o usuário definir o que é variável. Este tipo
de abordagem só funciona na relação máquina X humano, ou seja, a máquina
informando isto para que o usuário conclua a respeito, não na relação humano X
máquina, onde a máquina definiria sobre o assunto variável.
Informações baseadas em (FÁVERO & SANTO, 2005).
22
COMPARANDO SISTEMAS: SISTEMAS CONVENCIONAIS X
SISTEMAS ESPECIALISTAS
Um sistema convencional baseia-se em algoritmos, onde, executando-os passo
a passo, é processada uma resposta lógica ao problema fornecido de forma repetitiva,
os dados são processados e o resultado correto (ou seja, o resultado perfeito para a
lógica da máquina) é apresentado ao usuário.
Um sistema especialista trabalha com soluções de problemas que não
possuem resolução por algoritmos, baseando-se em buscas heurísticas, ou seja,
soluções aceitáveis, não soluções ideais. Assim, consegue localizar soluções em
tempo muito mais hábil que um sistema convencional, pois, para localizar uma solução
heurística, o tempo de processamento é bem inferior que o tempo de processamento
de uma solução baseada em algoritmos.
Sistemas especialistas nem sempre encontram uma solução. Como é baseado
em soluções heurísticas e que não possuem soluções por algoritmos, às vezes, o
sistema não consegue resolver em tempo hábil o problema, de forma a localizar uma
solução tão distante da desejada que tal solução torna-se descartável.
Sistemas especialistas podem fornecer respostas erradas. Novamente citando
a idéia de sistemas heurísticos, o sistema pode escolher um conjunto de premissas da
base de dados incorreto, levando-o a uma conclusão incorreta do problema. Mas,
diferente de um sistema tradicional, o sistema especialista possui a informação de
como chegou a determinada solução, apresentando todas as premissas que utilizara.
Sistemas especialistas processam o conhecimento de sua base, não os dados
isolados. Desta forma, trabalha-se com bases de conhecimento com dados inseridos
nestas bases, de forma a ajustar os dados conforme a necessidade de conhecimento
que o sistema exige. Assim, o sistema não necessita processar e trabalhar os dados,
ele apenas obtém soluções baseadas nos dados nele inseridos, logo, as regras
necessárias também podem ser tratadas pelas bases de conhecimento.
Informações baseadas em (FÁVERO & SANTO, 2005).
23
CONCLUSÃO
A área de inteligência artificial tende a crescer gradativamente, conforme novas
tecnologias vão sendo desenvolvidas, assim como a lógica em si desenvolve-se há
muito tempo, e mesmo assim, surgem novas áreas a serem definidas pela lógica.
Conforme o desenvolvimento da lógica computacional, os sistemas tendem a se
desenvolver em proporção igual, atingindo novos patamares de desenvolvimento.
O futuro da lógica de sistema especialistas tende à abranger cada vez mais
áreas especialistas, visto a quantidade de informações que transitam atualmente na
internet e são processadas por computadores. Nesta visão, logo os sistemas
especialistas terão uma base de conhecimento tão grande que poderão chegar a
conclusões de horizontes de desenvolvimento superiores aos horizontes previstos por
humanos.
Assim, algo indica que logo teremos sistemas especialistas fazendo check-ups
em nossos automóveis, desenvolvendo análises de condição de solo e demais
validações que hoje são humanas, sendo certificadas por órgãos federais de eficácia e
comprovação da informação, como o Inmetro.
24
REFERÊNCIAS BIBLIOGRÁFICAS
ABAR,C. (2008) in Aula de Lógica Matemática, PUC/SP. Disponível em
http://www4.pucsp.br/~logica/Fuzzy.htm - Acesso em 27/08/2010 - 19:52.
BARR, A.; FEIGENBAUM, E. (1981) in The Handbook of Artificial Intelligence.
Los Altos, California: William Kaufmann Inc., 1981. V.I-II.
BONOMI, F. (2008) in Vocabolario Etimologico della Lingua Italiana. Disponível
em http://www.etimo.it/?term=intendere – Acesso em 08/07/2010 – 21:15.
BONOMI, F. (2008) in Vocabolario Etimologico della Lingua Italiana. Disponível
em http://www.etimo.it/?term=intelligenza – Acesso em 08/07/2010 – 21:20.
FÁVERO, A.; SANTO, N. (2005) in Sistemas Especialistas. Disponível em
http://www.din.uem.br/~ia/especialistas/ - Acesso em 27/08/2010 – 19:11.
MUNDO EDUCAÇÃO (2009) in Área de Filosofia. Disponível em
http://www.mundoeducacao.com.br/filosofia/senso-comum.htm - Acesso em
08/09/2010 - 21:42.
TONSIG, S. (2003) in Engenharia de Software - Análise e Projeto de Sistemas.
São Paulo: Futura.
XAVIER, M. (2007) in Artigo: Sistemas Especialistas, Uma Introdução. Rio
Grande do Sul, Instituto de Informática, UFRS.
25