Eros Estevão de Moura
Resumo
Este trabalho faz uma breve introdução a Sistemas Especialistas (SEs), relata alguns de seus problemas e limitações sugerindo um protótipo distribuído utilizando a Internet. O protótipo visa implementar um SE dividido em três partes: um servidor que aceita requisições de usuários distribuídos geograficamente, resolvendo tais requisições devolvendo uma resposta, a interconexão entre cliente/servidor utilizando redes TCP/IP e, por último, o lado do cliente que efetua consultas por meio de uma interface conhecida, a WWW.
Palavras-chave: Sistema Especialista Distribuído, Internet, Cliente/Servidor, Aplicação PHP
Abstract
The article introduces Expert Systems (ES), it is showed the problems and limitations of those systems and, also, it is suggested a distributed prototype based on Internet. The prototype aim to implement an ES divided in three parts: a server that receive requisitions of geographic distributed users and solve this requisitions sending an answer, the interconection between client/server using TCP/IP networks and at last the client side that realize consultation with known interface, the WWW.
Inteligência Artificial (IA) é um campo de estudos que busca o desenvolvimento de sistemas inteligentes. Um sistema inteligente é aquele capaz de resolver problemas, que, quando resolvidos por humanos, exigem um comportamento dito inteligente [HAR 88].
Para tornar possível a tarefa de resolver problemas de maneira inteligente, os pesquisadores de IA desenvolveram sistemas que utilizam muito conhecimento sobre alguma área específica. Estes sistemas são chamados de Sistemas Especialistas (SEs) e representam um ramo da IA aplicada que ocupa-se em desenvolver programas que usem o conhecimento simbólico para simular o comportamento de especialistas humanos [HAR 88].
O professor Edward Feigenbaum, da Universidade de Stanford, um dos principais pesquisadores em sistemas especialistas, definiu um SE como:
"...um programa inteligente de computador que usa conhecimento e procedimentos inferenciais, para resolver problemas que são bastante difíceis de forma a requererem, para sua solução, muita perícia humana. O conhecimento necessário para atuar a esse nível, mais os procedimentos inferenciais empregados, pode considerar-se um modelo da perícia aos melhores profissionais do ramo.
O conhecimento de um sistema especialista consiste em fatos e heurísticas. Os fatos constituem um corpo de informação que é largamente compartilhado, publicamente disponível e geralmente aceito pelos especialistas em um campo. As heurísticas são em sua maioria privadas, regras pouco discutidas de bom discernimento (regras do raciocínio plausível, regras de boa conjectura), que caracterizam a tomada de decisão a nível de especialista na área. O nível de desempenho de um sistema especialista é função principalmente do tamanho e da qualidade do banco de conhecimento que possui [HAR 88]".
Faigenbaum chama os que constróem Sistemas Especialistas baseados no conhecimento de "engenheiros do conhecimento" e refere-se à sua tecnologia como "engenharia do conhecimento".
Contudo, os SEs possuem certas limitações ou enfrentam problemas tais como:
As técnicas de IA permitem a construção de SEs onde cada parte representa uma etapa altamente independente e identificável em direção à solução de um problema ou de um conjunto de problemas [LEV 88].
Este trabalho tem por objetivo o desenvolvimento de um protótipo de SE Distribuído tornando possível que usuários independente de sua localização tenham acesso a conhecimento especialista sobre determinado problema por meio de uma interface padronizada e bastante conhecida.
Os SEs promovem ampla utilização em aplicações práticas (auxílio na resolução de problemas de otimização industrial, sistemas gerenciais, sistemas financeiros etc.). Contudo deve-se procurar não só por necessidade mas também por questões de agilidade a redução de custos e tempos visando distribuir o conhecimento. Para tal é preciso levar em conta algumas características que viabilizam a implementação desses sistemas.
Primeiramente um ambiente nativamente distribuído como a Internet que é baseado em uma interface padronizada e bastante conhecida como a World Wide Web (WWW), sendo esta a parte mais interessante da grande rede e uma importante fonte de auxílio para pesquisadores ou simplesmente usuários que desejem acesso a determina informação. A Web está baseada na Hypertext Markup Language (HTML), que é uma linguagem para confecção de páginas e no Hypertext Transfer Protocol (HTTP) [LYN 93], que é um protocolo baseado no TCP/IP [GAS 93] para acesso de informação entre sites Web. Tendo escrito uma página HTML pode-se carregar o seu resultado utilizado os chamados browsers, programas que viabilizam a navegação pela Internet bem como a carga de páginas HTML.
Em seguida pode-se considerar uma linguagem com propriedades distribuídas possibilitando guanhos no desenvolvimento de aplicações levando-se em conta somente as características relevantes ao projeto de sistemas. A linguagem de programação PHP é projetada para resolver vários problemas nas modernas práticas de programação incorporando uma série de objetos prontos, o que facilita a programação. Devido a sua arquitetura neutra, aplicações em PHP são ideais para ambientes como a Internet [SUN 95].
E por último deve-se considerar o meio de conexão entre o cliente e o servidor. Para que isso seja possível é necessário a implementação de redes TCP/IP (como a Intenet).
Esta proposta visa apresentar um modelo de SE Distribuído possibilitando que usuários façam consultas de qualquer parte do mundo através da Internet. A figura 1 apresenta um diagrama da junção de tecnologias utililizadas na resolução do problema de distribuição de um SE.
Figura 1: Sistema Especialista Distribuído.
O modelo possui um servidor de conhecimento contendo as regras de inferências e fatos. Recebe requisições de clientes (usuários Web), realiza as inferências e envia uma mensagem contendo o resultado. Do outro lado ficam os usuários que efetuam consultas ao SE por meio da Internet utilizando-se de um browser capaz de interpretar o código HTML. Para que se torne possível a comunicação entre cliente e servidor utiliza-se o protocolo TCP/IP para criar um link entre o cliente e o servidor. O SE servidor executa permanentemente esperando requisições e quando o usuário deseja fazer consultas este chama o sistema pela Internet devendo efetuar a conexão que é requisitada na página Web.
Para verificar a viabilidade de utilização do modelo proposto implementou-se um SE de teste. O sistema permite que usuários façam consultas para saber se o seguro aprova ou reprova determinado tipo de tratamento estando baseado em uma árvore de decisão simples descrita na figura 2.
Figura 2: Árvore de decisão do protótipo.
A implementação constituiu-se em duas etapas: implementação do cliente e implementação do servidor.
Figura 3: Página HTML representado a entrada de dados do Sistema Especialista.
5. Conclusões
Este trabalho apresenta uma proposta para resolução do problema de SEs Distribuídos na Internet por meio da integração de três tecnologias: WWW, TCP/IP e PHP. O modelo foi verificado em um estudo de caso que mostrou a viabilidade da implementação desses sistemas uma vez que usuários, independente de sua localização, tem a possibilidade de obter conhecimento especializado sobre um assunto por meio de uma interface padronizada e conhecida.
Os SEs possuem certas limitações havendo a necessidade de incorporar outras metodologias. Entre estas, podem-se citar a Inteligência Artificial Distribuída (IAD) [DEM 90], [WEI 95], [GAS 88] que está suportada na tecnologia de Agentes. Estes Agentes podem otimizar o processo de consulta e inferência a sistemas baseados em conhecimento a partir da cooperação e distribuição de tarefas. Outra técnica que poderia ser utilizada para otimizar os SEs Distribuídos seria a lógica difusa [COX 94], [JEN 95] proporcionando a estes sistemas a capacidade de tratar dados imprecisos e qualitativos.
Os SE bem como outras técnicas da IA promovem revoluções nas áreas de conhecimento onde são implementadas. Tais técnicas já se encontram aplicadas em sistemas industriais, engenharia de computadores, nos sistemas comerciais e na área militar. Contudo é preciso evoluir muito e a compreensão de como o ser humano pensa torna-se cada vez mais necessário para conseguir-mos respostas adequadas as crescentes necessidades da sociedade.
[HAR 88] HARMON, Paul ; KING, David. Sistemas Especialistas. Rio de Janeiro: Campus, 1988.
[GAS 93] GASPARINI, Anteu FabianoL. ; BARRELA, Francisco Eugenio. TCP/IP Solução para conectividade. 1.ed. São Paulo: Érica, 1993.
[LYN 93] LYNCH, Daniel C. ; ROSE, Marshall T. Internet System Handbook. [s.l.]: Addison-Wesley Publishing Company, 1993.
[SUN 95] Sun Microsystems. The Java Language : A White Paper. [s.l.]: Sun Microsystems, 1995.
[LEV 88] LEVINE, Robert I. ; DRANG, Diane E. ; EDELSON, Barry. Inteligência Artificial e Sistemas Especialistas. São Paulo: McGraw-Hill, 1988.
[DEM 90] DEMAZEAU, Yves; MÜLLER, Jean-Pierre (Eds). Decentralized Artificial Intelligence. vls 1,2 e 3. North-Holland : Elsevier Science Publishers, 1990.
[WEI 95] WEISER, Mark. Intelligent Agents on the Internet: Fact, Fiction, and Forecast. IEEE Expert, V.10, No.4, p.44-49, 1995.
[GAS 88] GASSER, Les. Distribution and Coordination of Tasks Among Intelligent Agents. In: Proceeding of the JCAI'88. Scandinavian Conference on AI. Amsterdam, Springfield, 1988.
[COX 94] COX, Garl. The Fuzzy Systems Handbook. Massachusetts, Cambridge, :[s.l.], 1994.
[JEN 95] JENG, Bing Chiang and LIANG, Ting-Peng.
Fuzzy Indexing and Retrievel in Case-Based Systems. Expert Systems
With Applications, National SunYat-sen University, Taiwan, V.8, No.1,
p.135-142, 1995.