Universidade Estadual de Campinas – UNICAMP Faculdade de Tecnologia -FT INTRODUÇÃO A SISTEMAS...

34
Universidade Estadual de Campinas – UNICAMP Faculdade de Tecnologia - FT I NTRODUÇÃO A SISTEMAS ESPECIALISTAS Luiz Barreto Marcelo Prezoto Limeira-SP 2010

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

Ao Universo de Profissionais de Exatas e à Deus.

i

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