Você está na página 1de 48

dct-ufms

Sistema Especialista para Diagnostico e Solu c oes de Problemas em Microcomputadores


Rodrigo Eduardo dos Santos e Joanir Luna Rodrigues
Projeto de Gradua c ao (2001)

Orienta c ao:Prof Orientadora: Dra. Maria Bernadete Zanusso Area de Concentra c ao: Intelig encia Articial

Projeto de Gradua c ao

Departamento de Computa c ao e Estat stica Centro de Ci encias Exatas e Tecnologia Universidade Federal de Mato Grosso do Sul 12 de novembro de 2001

Conte udo
Conte udo 0.1 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Introdu c ao a IA 1.1 Aplica c oes de Intelig encia Articial . . . . . . 1.1.1 Sistemas Especialistas . . . . . . . . . 1.1.2 Base de Conhecimento . . . . . . . . . 1.1.3 Shell . . . . . . . . . . . . . . . . . . . 1.1.4 SINTA . . . . . . . . . . . . . . . . . . 1.1.5 Processamento de Linguagem Natural . 1.1.6 Reconhecimento de Padr oes . . . . . . 1.1.7 Rob otica . . . . . . . . . . . . . . . . . 1.1.8 Base de Dados Inteligentes . . . . . . . 1.1.9 Jogos . . . . . . . . . . . . . . . . . . . 1.2 Representa c ao do Conhecimento em IA . . . . 1.2.1 L ogica . . . . . . . . . . . . . . . . . . 1.2.2 Redes Sem anticas . . . . . . . . . . . . 1.2.3 Quadros . . . . . . . . . . . . . . . . . 1.2.4 Roteiros . . . . . . . . . . . . . . . . . 1.2.5 Regras de Produ c ao . . . . . . . . . . 2 Sistemas Especialistas 2.1 O que s ao Sistemas Especialistas . . . . . . . 2.2 Arquitetura de um Sistema Especialista . . . . 2.2.1 Base de Conhecimento . . . . . . . . . 2.2.2 M aquina de Infer encia . . . . . . . . . 2.2.3 O Quadro Negro . . . . . . . . . . . . 2.2.4 Sistema de Justica c ao . . . . . . . . 2.2.5 Mecanismos de Aprendizagem . . . . 2.2.6 Sistema de Aquisi c ao de Conhecimento 2.2.7 Sistema de Consulta . . . . . . . . . . 2 3 4 5 6 7 8 8 9 9 9 9 9 10 10 10 10 13 14 15 16 16 16 17 17 22 22 22 22 23

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

2.3 2.4

2.2.8 Processador de Linguagem . . . . . . . . . . . . . . . Sistema Especialista para Diagn ostico e Solu c oes de Problemas em Microcomputadores . . . . . . . . . . . . . . . . . . Ferramenta utilizada . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Caracter sticas da Aplica c ao . . . . . . . . . . . . . . 2.4.2 Requisitos B asicos . . . . . . . . . . . . . . . . . . . 2.4.3 N vel de Conhecimento do Usu ario . . . . . . . . . . 2.4.4 Restri c oes da Aplica c ao . . . . . . . . . . . . . . . . 2.4.5 Finalidade da Aplica c ao . . . . . . . . . . . . . . . . 2.4.6 Teste e Avalia c ao . . . . . . . . . . . . . . . . . . . . 2.4.7 Revis ao . . . . . . . . . . . . . . . . . . . . . . . . .

. 23 . . . . . . . . . 23 23 24 24 25 25 25 26 26 27 28 28 29 29 30 31 32 32 33 37

3 Intelig encia Articial Distribu da 3.1 O que e Intelig encia Articial Distribu da? . . . . . 3.2 Breve Hist orico . . . . . . . . . . . . . . . . . . . . 3.3 Conceitos B asicos . . . . . . . . . . . . . . . . . . . 3.4 Principais problemas abordados em IAD . . . . . . 3.5 Resolu c ao Distribu da de Problemas (RDP) . . . . 3.6 Sistemas Multiagentes . . . . . . . . . . . . . . . . 3.7 Rela c ao de Sistema Especialista com IA Distribu da 3.8 Aplica c oes da IAD . . . . . . . . . . . . . . . . . . 3.8.1 Rede Cooperativa de Sistemas Especialistas 3.8.2 Arquitetura do Facilitador . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

4 Melhorando a Qualidade de Servi cos de Busca na Internet 40 4.1 Intelig encia Articial na rede . . . . . . . . . . . . . . . . . . . 41 4.2 A Arquitetura do Cache Plugins . . . . . . . . . . . . . . . . . 42 Cronograma Refer encias Bibliogr acas 45 46

0.1

Resumo

O dia a dia de quem usa o computador est a cheio de surpresas desagrad aveis decorrentes dos v arios tipos de falhas que sempre acontecem nos momentos mais inoportunos. Os problemas s ao os mais diversos poss veis.Alguns s ao grandes mist erios, enquanto outros possuem solu c oes simples. Analisando os transtornos que estes problemas podem causar, decidimos apresentar um Sistema Especialista que ofere ca solu c oes para os diversos problemas que afetam os microcomputadores.Portanto, principal meta deste projeto ser a apresentar um sistema especialista que ofere ca solu c oes para os mais diversos problemas que afetam o uso do computador. Neste projeto tamb em ser ao introduzidos os conceitos b asicos da area de Intelig encia Articial (IAD), as duas sub- areas da IAD - a Resolu c ao Distribu da de Problemas (RDP) e os Sistemas Multiagentes (SMA). Outro tema que ser a apresentado neste projeto, tema este que nos concentraremos, ser a como melhorar a Qualidade de Servi cos de Busca na Internet.

Cap tulo 1 Introdu c ao a IA


Neste cap tulo ser ao apresentados os conceitos dos termos essenciais para o projeto. A Intelig encia Articial (IA) busca estudar as atividades mentais do ser humano e prover m aquinas com a capacidade de realizar algumas dessas atividades . As atividades realizadas por essas m aquinas podem envolver a senso-percep c ao (como tato, audi c ao, vis ao), as capacidades intelectuais (como aprendizado de conceitos e de ju zos, racioc nio dedutivo e mem oria), a linguagem (como as verbais e gr acas) e aten c ao (decis ao no sentido de concentrar as atividades sobre um determinado est mulo. A IA permite que conhecimentos possam ser compartilhados por muitas pessoas, sem que haja a necessidade de consultar ` a especialistas. Deste modo surgiram os Sistemas Especialistas (SE). Um SE e uma fonte pr atica capaz de lidar com problemas complexos e resolver quest oes do mesmo modo que especialistas humanos. Para tanto, s ao dotados de um conhecimento condizente com o problema. Portanto, o prop osito principal deste projeto ser a o desenvolvimento de um SE para Diagn ostico de Problemas de Microcomputadores e e apresenta c ao de poss veis solu c oes. Neste projeto tamb em ser a estudado a rela c ao de um SE com a Intelig encia Articial Distribu da (IAD), uma area da IA que aplica m etodos cooperativos para solucionar um determinado problema. A IAD se divide em duas areas: os Sistemas Multiagentes (SMA) e a Resolu c ao Distribu da de Problemas (RDP). Em SMA os agentes, especialistas na atividade que desempenham, n ao trabalham mais isolados, mas de forma cooperativa tentam resolver um problema da melhor forma poss vel. Em RDP, s ao adotados estrat egias baseadas no conceito de decomposi c ao para a resolu c ao de um problema complexo, isto e, a tarefa, dada a sua complexidade, requer decomposi c ao num conjunto de tarefas mais simples. Ainda em IAD, tem havido um crescente interesse na pesquisa e desenvolvimento de sistemas que permitem a participa c ao de sistemas especialistas 5

em redes cooperativas de trabalho. Para melhor expor este dom nio de estudo, foi tratado neste projeto um estudo de caso para a concess ao de cr edito em banco. Tamb em foi abordado um outro tema envolvendo a IAD: Melhoria da Qualidade de Servi cos de Busca na Internet, que utiliza conceitos de IAD, onde sistemas especialistas s ao implementados para Resolu c ao Distribu da de Problemas (RDP) visando obten c ao de resultados mais ecientes e de melhor qualidade. O que e Intelig encia Articial? A deni c ao de Intelig encia Articial tem sido alvo de muita discuss ao entre os especialistas no assunto. Na tentativa de denir com precis ao o que e Intelig encia Articial os especialistas adotam as mais diversas deni c oes, tomando a compreens ao do assunto mais complexa. Mas para se ter uma id eia do assunto, algumas deni c oes ser ao apresentadas e comentadas. Elaine Rich e Kelvin Knight (1988) propuseram a seguinte deni c ao: Intelig encia Articial e o estudo de como fazer os computadores realizarem coisas que, no momento, as pessoas fazem melhor. Na verdade, a constru c ao de computadores que possam realizar as tarefas dif ceis melhor do que as pessoas tem tido um lento progresso, at e mesmo abaixo da expectativa do que previam os especialistas nos primeiros dias da Intelig encia Articial. Al em disso, adeptos a este conceito associam a Intelig encia Articial a constru ` c ao de rob os com sentimentos. Devido a este apelo futur stico, esta deni c ao e rejeitada. Arnold e Bowie (1986) denem IA como sendo a capacidade de adquirir e aplicar conhecimentos e articial como sendo tudo aquilo feito pelo homem, em vez de ocorrer na natureza. Os mesmos autores apresentaram outra deni c ao de IA:Intelig encia Articial e a parte da Ci encia da Computa c ao concorrente ao projeto de sistemas computacionais que exibem intelig encia humana:aprender novas informa c oes, entender linguagens, raciocinar e resolver problemas. Winston (1979) arma que IA e o estudo de conceitos que permitem ao computador ser inteligente. Apesar das diversas conceitua c oes de IA, pode-se armar que Intelig encia Articial e um conjunto de t ecnicas que permitem a solu c ao de problemas que exigiriam do ser humano certo grau de racioc nio e per cia, Rabuske (l995).

1.1

Aplica c oes de Intelig encia Articial

Dentro da computa c ao, a Intelig encia Articial e respons avel por importantes aplica c oes que sempre exigiram uma dose alta de esfor co. Dentre estas aplica c oes, pode-se destacar: Sistemas Especialistas, Processamento de 6

Linguagem Natural, Reconhecimento de Padr oes, Rob otica, Base de Dados Inteligentes e Jogos.

1.1.1

Sistemas Especialistas

Os primeiros pesquisadores de IA desejavam projetar m aquinas inteligentes capazes de solucionar quaisquer problemas. Por se tratar de um desao muito grande, come caram primeiramente pelo desenvolvimento de sistemas capazes de resolver problemas espec cos. Desta forma, durante a d ecada de 70 surgiram v arios sistemas especialistas, dotados de boas bases de conhecimento podendo realizar tarefas que exigiam muito conhecimento especializado, algo que a maioria das pessoas n ao possui. Dos Sistemas que mais se destacaram, est ao o Mycin, um programa para diagnosticar doen cas infecciosas desenvolvido no in cio dos anos 70 pelo Dr. Edward Shortlie, da Universidade de Stanford - EUA e o Prospector, um sistema para assessoria a ge ologos na explora c ao mineral. Mycin - O sistema MYCIN foi um dos primeiros Sistemas Especialista. Seu objetivo e prover conselho a respeito de diagn ostico e terapia de doen cas infecciosas. Este tipo de aconselhamento pode ser muito u til, pois nem sempre o m edico respons avel e um especialista em infec c oes, principalmente em ambiente hospitalar. Uma se c ao do sistema inicia-se com um question ario, a ser respondido pelo usu ario, a respeito do paciente. Informa c oes como nome, idade, sexo, tempo de manifesta c ao dos sintomas, resultados de exames, etc. s ao solicitadas. A partir dessas informa c oes, e utilizando sua base de regras, o sistema e capaz de estabelecer um diagn ostico e propor uma terapia adequada. O sistema MYCIN utiliza o encadeamento regressivo associado a uma busca em profundidade. A busca realizada e completa, no sentido em que, dado um objetivo, todas as evid encias a favor e contra o objetivo s ao pesquisadas. Prospector - O sistema PROSPECTOR foi desenvolvido no SRI International (USA) com o objetivo de auxiliar geologistas envolvidos em prospec c ao mineral. A principal fun c ao do sistema e determinar a correspond encia entre dados que descrevem uma determinada situa c ao com modelos que descrevem classes disjuntas de situa c oes poss veis. Os modelos s ao descri c oes formais dos tipos mais importantes de dep ositos minerais e os dados de entrada se referem a observa c oes geol ogicas de superf cie. O conhecimento geol ogico e armazenado na forma de uma rede de infer encia : uma rede sem antica onde os nodos representam fatos sobre o dom nio, e os arcos indicam como a probabilidade associada a um nodo inuencia um outro nodo. Um fato pode ser interpretado como um ind cio da veracidade ou da falsidade de um outro. 7

Existem ainda fatos que s ao independentes, isto e, n ao existem arcos entre eles. Apesar da representa c ao em forma de grafo e do uso de probabilidades, os arcos de infer encia da rede podem ser interpretados como um conjunto de regras. Al em dos arcos de infer encia, o sistema disp oe de arcos de contexto que indicam que um determinado fato e um contexto necess ario a outro fato. O funcionamento do sistema e dividido em duas partes. Inicialmente o usu ario fornece as informa c oes dispon veis sobre o local de prospec c ao. Estas informa c oes s ao representadas na forma de uma rede sem antica que e comparada com os modelos dispon veis. O resultado desta primeira parte e a escolha do modelo mais adequado. Na segunda parte, o sistema utiliza o modelo escolhido e as informa c oes dispon veis, atrav es de um mecanismo de encadeamento regressivo, para renar a an alise. Alguns fatos s ao ditos pergunt aveise durante o renamento da an alise o sistema solicitar a ao usu ario as probabilidades associadas aos fatos deste tipo, que sejam relevantes para a situa c ao analisada.

1.1.2

Base de Conhecimento

Base de Conhecimento e o conjunto de informa c oes que o sistema especialista utiliza para lidar com um tipo de problema. As informa c oes s ao representadas por um conjunto de regras de produ c ao. Estas regras s ao um conjunto , com a inclus de condi c oes no estilo SE...ENTAO ao de conectivos l ogicos relacionando os atributos no escopo do conhecimento. Este t opico ser a melhor explicado na se c ao 2.3.

1.1.3

Shell

S ao ferramentas criadas com o objetivo de transferir a base de conhecimento de um Sistema Especialista para o computador. A principal fun c ao da Shell e interpretar o conhecimento representado e execut a-lo em uma m aquina, apresentando assim conclus oes sobre os problemas apresentados a ele. A Shell simplica ao m aximo o trabalho de implementa c ao de um Sistema Especialista, permitindo seu uso por qualquer pessoa. Uma das ferramentas e o editor de regras. Ele permite gerar rapidamente as bases de conhecimento de sistemas especialistas. Esta ferramenta e tipicamente f acil de usar, utilizando-se express oes em linguagem natural e express oes alg ebricas a m de compor a base de conhecimento. As novas regras de entradas s ao conferidas contra as regras existentes para consist encia. Existem v arias op c oes de c alculos de probabilidade que podem ser executados sobre as regras. Este t opico ser a melhor abordado na se c ao 2.11.

1.1.4

SINTA

O Expert SINTA e uma ferramenta Shell desenvolvida pelo Grupo SINTA do Laborat orio de Intelig encia Articial da Universidade Federal do Cear a. O Expert SINTA utiliza t ecnicas de IA para criar Sistemas Especialistas usando como modelo de representa c ao do conhecimento regras de produ c ao associadas a c alculos de probabilidade. Esta Shell disp oe de um mecanismo oculto denominado m aquina de infer encia que coloca ao usu ario uma seq u encia de menus, sendo fornecidas respostas condizentes com o caso que hora se apresenta. Este sistema tamb em oferece a possibilidade de incluir ajudas on-line para cada base. Para isso o Expert SINTA possibilita a inclus ao de t opicos de ajuda para os valores poss veis de determinados atributos, fazendo com que o usu ario utilize a resposta com ns pr aticos. Para tanto, deve-se associar a base um arquivo no formato ajuda do Windows. Este t ` opico ser a melhor explorado na se c ao 2.5

1.1.5

Processamento de Linguagem Natural

uma E area de IA respons avel pela utiliza c ao de dispositivos que fazem a tradu c ao de uma linguagem para outra. Esta tradu c ao abrange tanto a linguagem escrita quanto a falada. No entanto, ainda existem grandes desaos a serem superados, desaos estes decorrentes de problemas quanto ao uso de linguagem gurada e da forma humana de falar.

1.1.6

Reconhecimento de Padr oes

uma E area de IA muito subdividida. Pode-se citar como exemplos de aplica c oes: reconhecimento de impress ao digital, valida c ao de assinatura em cheque, leitura e digitaliza c ao de textos e etc.

1.1.7

Rob otica

Esta area n ao e somente respons avel pela cria c ao de rob os capazes apenas de reproduzir tarefas e movimentos, mas tamb em de rob os dotados de dispositivos que funcionam como um c erebro, onde s ao armazenados os Sistemas Especialistas, atribuindo a estes rob os certo grau de conhecimento e autonomia.

1.1.8

Base de Dados Inteligentes

Base de Dados Inteligentes e aquela capaz de fazer racioc nios e produzir resultados, propriedade esta que a maioria das bases de dados dos sistemas de 9

informa c ao n ao possuem. O uso de t ecnicas de IA para a cria c ao de Base de Dados Inteligentes aumentar a a produtividade dos sistemas de informa c oes, pois as avan cadas t ecnicas de IA beneciariam a recupera c ao de informa c oes.

1.1.9

Jogos

Os jogos possuem um n umero pequeno de normas, mas que possibilitam uma grande combina c ao de a c oes, tornando-os complexos. Portanto, torna-se um vasto campo para que a computa c ao possa realizar experimentos e testes. Os experimentos j a produziram bons resultados, pois atualmente o computador tem se tornado um instrumento para divers ao.

1.2

Representa c ao do Conhecimento em IA

A parte mais importante no projeto de um SE e a escolha do m etodo de representa c ao de conhecimento. A linguagem associada ao m etodo escolhido deve ser sucientemente expressiva, permitindo a representa c ao do conhecimento a respeito do dom nio escolhido de maneira completa e eciente. Em tese, uma representa c ao geral como a l ogica seria sucientemente expressiva para representar qualquer tipo de conhecimento. No entanto, problemas de eci encia, facilidade de uso e a necessidade de expressar conhecimento incerto e incompleto levaram ao desenvolvimento de diversos tipos de formalismos de representa ca o de conhecimento. A seguir, apresentam-se alguns dos formalismos de representa c ao de conhecimento mais utilizados.

1.2.1

L ogica

A l ogica e a base para a maioria dos formalismos de representa c ao de conhecimento, seja de forma expl cita, como nos SEs baseados na linguagem Prolog, seja disfar cada na forma de representa c oes espec cas que podem facilmente ser interpretadas como proposi c oes ou predicados l ogicos, por exemplo, as listas da forma: ((atributo),(objeto),(valor),(coeciente de certeza))

1.2.2

Redes Sem anticas

Rede sem antica e um nome utilizado para denir um conjunto heterog eneo de sistemas. Em u ltima an alise, a u nica caracter stica comum a todos estes sistemas e a nota c ao utilizada: uma rede sem antica consiste em um conjunto de nodos conectados por um conjunto de arcos. Os nodos em geral representam 10

objetos e os arcos, rela c oes bin arias entre esses objetos. Mas os nodos podem tamb em ser utilizados para representar predicados, classes, palavras de uma linguagem, entre outras poss veis interpreta c oes, dependendo do sistema de redes sem anticas em quest ao. A utiliza c ao do formalismo de nodos e arcos para a representa c ao de conhecimento foi proposta por Quillian. No seu artigo, Quillian prop oe um modelo computacional da mem oria humana chamado mem oria sem antica . Este modelo, onde conceitos s ao representados por nodos, e rela c oes entre conceitos, por arcos, explica diversos resultados experimentais sobre o comportamento da mem oria humana, como, por exemplo, o fato de que o reconhecimento de objetos que pertencem a classes mais numerosas toma mais tempo do que o reconhecimento dos pertencentes a classes menos numerosas. Muitas caracter sticas dos sistemas de redes sem anticas desenvolvidas ulteriormente j a estavam presentes na proposta de Quillian. Figura 1 Exemplo 1: Considere a rede sem antica da gura 1, que representa conceitos relacionados com mobili ario [Ric83]. Os arcos e-um e e-parte s ao bastante comuns em sistemas de redes sem anticas. Este tipo de arco e utilizado para determinar a heran ca de propriedades. Os demais arcos (dono, cor, estofamento) s ao espec cos do dom nio e representam propriedades de conceitos. Esses arcos s ao chamados tra cos. Durante os anos setenta, o formalismo de redes sem anticas foi utilizado na implementa c ao de diversos sistemas para a compreens ao de linguagem natural. O sistema HAM [AB73] e o sistema Active Structural Network [RN75] s ao dois exemplos deste tipo de sistemas. Dois artigos publicados em 1975 tiveram uma grande inu encia na pesquisa relacionada ` as redes sem anticas: o artigo de Minsky [Min75], propondo o formalismo de quadros, e o artigo de Woods [Woo75], analisando o signicado dos arcos nas redes sem anticas. O artigo de Minsky introduziu a no c ao de nodos com estrutura interna, criando uma nova forma de representa c ao de conhecimento, derivada das redes sem anticas, chamada quadros. O artigo de Woods chamou a aten c ao para a necessidade de uma sem antica formal que fundamentasse os sistemas baseados em redes sem anticas. Este artigo foi seguido de uma s erie de outros, onde as redes sem anticas eram associadas ao formalismo l ogico. Alguns destes artigos utilizavam as redes sem anticas apenas como uma nota c ao sint atica alternativa para f ormulas l ogicas; outros apresentavam as redes sem anticas como um m etodo independente de representa c ao de conhecimento, utilizando o formalismo l ogico apenas como ferramenta para a deni c ao de uma sem antica para nodos e arcos. A heran ca de propriedades atrav es de caminhos formados por arcos e 11

uma das caracter sticas mais importantes do m etodo de representa c ao por redes sem anticas. Esta caracter stica permite que propriedades de um nodo sejam especicadas apenas uma vez, no mais alto n vel de uma hierarquia de conceitos, sendo herdadas por todos os conceitos derivados, implicando uma economia substancial de mem oria. Os algoritmos de heran ca utilizados em redes sem anticas na forma de arvores s ao bastante simples e muito ecientes, mas se heran cas m ultiplas forem permitidas, especialmente na presen ca de arcos que denam exce c oes, o problema da determina c ao de caminhos de heran ca se torna bastante complexo. Mais grave ainda e o fato de que na presen ca de heran ca m ultipla e exce c oes, a intui c ao sobre o que e uma pol tica de heran ca coerente passa a ser discut vel, levando diferentes sistemas a implementarem diferentes pol ticas de heran ca [THT87].

Figura 2: O problema das exce c oes em redes sem anticas Al em da heran ca de propriedades, um outro mecanismo de infer encia utilizado em redes sem anticas e a correspond encia de um fragmento de rede em rela c ao a uma rede dada. A especica c ao da sem antica deste mecanismo e ainda mais complexa que a do mecanismo de heran ca, por depender da escolha do signicado dos arcos da rede. Estes arcos receberam uma variedade de signicados; uma revis ao das diferentes interpreta c oes pode ser encontrada em [BFL83]. 12

1.2.3

Quadros

Quadro e uma estrutura de dados que pode ser usada para representar qualquer entidade real ou imagin aria, objetos ou conceitos. O quadro e constitu do por um nome e um conjunto de atributos chamados Slots, onde s ao colocadas as informa c oes ligadas ao objeto. Ex: Quadro: Cadeira do Renato Slot: n umero de pernas - 4 Slot: tipo de assento - anat omico Slot: numero de bra cos - nenhum Slot: cor - incolor Os quadros (do ingl es, frames), e sua varia c ao, os roteiros (do ingl es, scripts), foram introduzidos para permitir a representa c ao das estruturas internas dos objetos, mantendo a possibilidade de representar a heran ca de propriedades como as redes sem anticas a faz. As id eias fundamentais destes m etodos foram introduzidas por Marvin Minsky [Min75] em seu artigo A framework to represent knowledge. As aplica c oes propostas por Minsky para o novo m etodo foram an alise de cenas, modelagem da percep c ao visual e compreens ao de linguagem natural. No entanto, o artigo n ao prop oe uma metodologia de implementa c ao, nem uma deni c ao formal do m etodo. Desde 1975, diversos sistemas foram implementados baseados na id eia de quadros, e diversas deni c oes formais foram propostas. O m etodo de quadros tamb em est a na origem das id eias que levaram as linguagens de programa ` c ao orientadas a objetos. Os roteiros foram propostos por Schank e Abelson [SA75], [SA77], e consistem em sistemas de quadros especializados na descri c ao de seq u encias de eventos.

13

Figura 3 Em geral, um quadro consiste em um conjunto de atributos que, atrav es de seus valores, descrevem as caracter sticas do objeto representado pelo quadro. Os valores atribu dos a estes atributos podem ser outros quadros, criando uma rede de depend encias entre os quadros. Os quadros s ao tamb em organizados em uma hierarquia de especializa c ao, criando uma outra dimens ao de depend encia entre eles. Os atributos tamb em apresentam propriedades, que dizem respeito ao tipo de valores e ` as restri c oes de n umero que podem ser associados a cada atributo. Essas propriedades s ao chamadas facetas . Exemplo: Quadros descrevendo um c omodo e uma sala s ao mostrados na gura 6. Por esta descri c ao, pode-se concluir que uma sala e um tipo de c omodo, normalmente com quatro paredes e de formato retangular, com um mobili ario espec co. As facetas dos atributos especicam os tipos de valores esperados e, se for o caso, procedimentos adequados para calcular o valor do

14

atributo. Da mesma maneira que as redes sem anticas, os sistemas baseados no m etodo de quadros n ao s ao um conjunto homog eneo; no entanto, algumas id eias fundamentais s ao compartilhadas por estes sistemas. Uma dessas id eias e o conceito de heran ca de propriedades, o que permite a especica c ao de propriedades de uma classe de objetos atrav es da declara c ao de que esta classe e uma subclasse de outra que goza da propriedade em quest ao. A heran ca pode ser um mecanismo de infer encia muito eciente em dom nios que apresentem uma taxonomia natural de conceitos, como a biologia ou a paleontologia. Outra id eia comum aos dois tipos de sistemas baseados em quadros e o racioc nio guiado por expectativas. Um quadro cont em atributos, e estes atributos podem ter valores t picos ou, a priori, os chamados valores de exce c ao (do ingl es, default values ). Ao tentar instanciar um quadro para que corresponda a uma situa c ao dada, o processo de racioc nio deve tentar preencher os valores dos atributos do quadro com as informa c oes dispon veis na descri c ao da situa c ao. Para o processo de racioc nio, saber o que procurar para completar a informa c ao necess aria (e caso esta n ao esteja dispon vel, que valores tentativos atribuir aos atributos n ao preenchidos) pode ser um fator fundamental para a eci encia do processo de reconhecimento de uma situa c ao complexa. Uma terceira id eia e a liga c ao procedimental . Al em dos valores por default , um atributo pode ser associado a um procedimento que deve ser executado quando certas condi c oes forem satisfeitas, por exemplo: ao ser criado o atributo, ao ser lido o valor do atributo, ao ser modicado o valor do atributo, ou ao ser destru do o valor do atributo.

1.2.4

Roteiros

Os roteiros s ao estruturas de dados que descrevem seq u encias estereotipadas de eventos em um contexto particular. O racioc nio com roteiro serve especialmente para vericar se determinado evento ocorreu e tamb em para vericar a rela c ao entre os eventos, que pode ser obtido pelo exame da cadeia causal. Esta cadeia causal e a seq u encia com que os eventos s ao descritos no roteiro.

1.2.5

Regras de Produ c ao

Este m etodo foi idealizado pelo matem atico Emil Post (1943) e constitui um conjunto de regras que envolvem condi c oes e a c oes. A condi c ao e constitu da por um padr ao que determina a aplicabilidade de regra, enquanto a a c ao 15

indica o que ser a realizado quando a regra for aplicada. A parte Condi c ao da regra possui varias denomina c oes :lado esquerdo, antecedente ou premissa, enquanto a parte que expressa a a c ao a ser executada denomina-se lado direito ou conseq uente. Um sistema poder a ser formado por uma ou mais bases de regras que podem estar separadas segundo as exig encias do funcionamento do problema. As Regras de Produ c ao s ao a forma de representa c ao mais usada em IA.

16

Cap tulo 2 Sistemas Especialistas


Neste cap tulo ser a fornecida uma vis ao geral sobre Sistemas Especialistas. Ser a dada enfase quanto ` a estrutura e funcionamento de um sistema especialista. Para uma melhor compreens ao do que e um Sistema Especialista, neste cap tulo ser a feita uma abordagem sobre o funcionamento e estrutura de um Sistema Especialista. Tamb em ser a feita uma abordagem sobre o funcionamento da Shell SINTA, ferramenta a ser utilizada para implementa c ao do Sistema Especialista para Diagn ostico e Solu c ao de Problemas em microcomputadores.

2.1

O que s ao Sistemas Especialistas

Sistemas Especialistas s ao programas de computador que procuram resolver problemas do mesmo modo que especialistas humanos. S ao possuidores de um conhecimento especializado sobre areas restritas do conhecimento. Para tanto, os Sistemas especialistas devem possuir um conhecimento poderoso que facilite a busca da resposta requerida.

2.2

Arquitetura de um Sistema Especialista

Um Sistema Especialista gen erico possui uma arquitetura como mostra a Figura 4 abaixo: Figura 4: Arquitetura de um Sistema Especialista

17

2.2.1

Base de Conhecimento

Base de Conhecimento e o conjunto de informa c oes que o SE utiliza para lidar com um tipo de problema. A base de conhecimento e considerada o m odulo mais importante da Arquitetura de um sistema especialista, pois como disse Feigenbaum, em 1.983, A pot encia de um sistema especialista deriva do conhecimento que ele possui e n ao dos formalismos e esquemas espec cos que ele emprega. O conhecimento de uma Base de Conhecimento pode ser representado pelas diferentes formas de representa c ao do conhecimento, conforme foi visto na se c ao 1.2, mas as regras de produ c ao s ao as formas mais usadas. N ao e a forma de representa c ao ou o volume de conhecimento que distingue o sistema especialista das demais bases de dados, mas a capacidade de obter informa c oes n ao contidas na base de conhecimento atrav es de um somat orio de fatos e de heur sticas. M aquina de Infer encia, mecanismo de aprendizagem e quadro negro s ao os principais m odulos da arquitetura de um Sistema Especialista com os quais a Base de conhecimento est a interligada.

2.2.2

M aquina de Infer encia

M aquina de Infer encia e o m odulo respons avel pelo racioc nio, no caso de um sistema especialista baseado em regras de produ c ao. Utiliza duas t ecnicas para solu c ao de problemas: forward chainning (encadeamento para frente) e backward chainning (encadeamento para tr as). Este m odulo e implementado atrav es de softwares que podem ser adquiridos ou ent ao ser elaborados, dependendo da especica c ao do problema. Em ambos os casos existem vantagens e desvantagens. Os softwares adquiridos para funcionarem como m aquina de infer encia nem sempre s ao ecientes, pois n ao s ao precisos na justica c ao de resposta. J a os softwares elaborados permitem inserir detalhes para satisfazerem melhor as respostas, no entanto implicam em custo e tempo adicionais. Encadeamento para frente - Forward Chaining Este m etodo e aplicado em bases de conhecimento representado atrav es das regras de produ c ao. Quando o usu ario fornecer respostas ` as perguntas do Sistema Especialista, este m etodo faz refer encia ` as informa c oes armazenadas no banco de conhecimentos aplicando as t ecnicas do encadeamento para frente para fornecer conclus oes e resultados que o usu ario precise. Um Sistema Especialista que e implementado atrav es do encadeamento para frente funciona

18

atrav es dos seguintes passos: 1. O sistema pede uma ou mais condi c oes para o usu ario; 2. Para cada condi c ao, o sistema pesquisa em sua base de conhecimento as regras que contenham essa condi c ao na parte SE da regra; 3. Cada regra pode, por sua vez, gerar novas condi c oes a partir das con que for chamada; clus oes da parte ENTAO 4. Essas novas condi c oes s ao incorporadas ao sistema onde e processada. Se houver tal condi c ao, o sistema volta ao passo 2 e pesquisa novamente as regras na base de conhecimento. Se n ao houver nenhuma condi c ao nova, a sess ao termina. Exemplo usando encadeamento para frente Eis aqui um conjunto simples de regras que podem fazer parte de um sistema especialista em mercado de a c oes. BOLSA DE VALRegra 1 SE TAXA DE JUROS = BAIXA ENTAO ORES = ALTA BOLSA DE VALRegra 2 SE TAXA DE JUROS = ALTA ENTAO ORES = BAIXA DO DOLAR TAXA DE Regra 3 SE COTAC AO = BAIXA ENTAO JUROS = ALTA DO DOLAR TAXA DE Regra 4 SE COTAC AO = ALTA ENTAO JUROS = BAIXA Usando essas regras pode-se montar uma empresa em consultoria em mercado de a c oes. Um cliente visita a empresa e diz que a cota c ao do d olar est a caindo em rela c ao ao valor da moeda das principais na c oes industrializadas. Ele quer saber o que fazer no mercado de a c oes. Obviamente, o objetivo e fazer bons neg ocios na Bolsa de Valores, mas se o cliente ter a ou n ao lucros ser a decidido por condi c oes ainda n ao determinadas. Deve-se lembrar que os sistemas de encadeamento para frente fazem progn osticos atrav es da an alise de condi c oes denidas na parte SE da regra e chegam a conclus oes denidas na parte ENTAO. DO DOLAR Nesse caso a condi c ao e COTAC AO = BAIXA DO Analisando as regras, verica-se que a regra 3 continha COTAC AO DOLAR em sua cl ausula SE. Ou seja: DO DOLAR TAXA DE Regra 3 SE COTAC AO = BAIXA ENTAO JUROS = ALTA 19

A partir da pode-se concluir que a taxa de juros ir a subir. Analisando o em rela DO DOLAR, restante das regras SE-ENTAO c ao ` a COTAC AO ela e encontrada novamente na regra 4. Mas a cl ausula SE COTAC AO DO DOLAR = ALTA n ao coincide com a condi c ao conhecida da queda das cota c oes do d olar. Portanto a regra 4 n ao e aplicada. Ainda n ao terminou, porque a regra 3 apresentou uma nova condi c ao: TAXA DE JUROS = ALTA Agora deve-se analisar as regras para ver se essa condi c ao leva a outras conclus oes, e verica-se que a regra 1 n ao e aplicada, mas que a regra 2 e. A cadeia prossegue com a introdu c ao de uma nova condi c ao: BOLSA DE VALORES = BAIXA Ainda n ao terminou. Deve ser vericado todas as regras em rela c ao a essa nova condi c ao. Pesquisando todas as cl ausulas SE, verica-se que nenhuma delas cont em BOLSA DE VALORES. Assim a sess ao est a encerrada, sendo entregue ao cliente o relat orio que se segue: Quando a cota c ao do d olar est a em baixa, as taxas de juros sobem e a Bolsa de Valores ca em baixa. Encadeamento para tr as - Backward Chaining utilizado em Sistemas Especialistas que podem chegar a um grande E n umero de conclus oes, mas que n ao possuem meios sucientes para alcan c a-los. Assim como no encadeamento para frente, e usado em SE baseado em regras. Fundamenta-se na recurs ao, um m etodo eciente de programa c ao. Um SE que utiliza o encadeamento para tr as funciona utilizando os seguintes passos: (a) A m aquina de infer encia encarrega-se de encontrar valores para as condi c oes ou objetivos que j a s ao inclu dos pelo projetista na deni c ao da base em uma estrutura denominada lista de objetivos; (b) Estes valores podem ser encontrados nas conclus oes, isto e, na parte ENTAO das regras. Para tanto, o Sistema Especialista(SE) pesquisa em seu banco de conhecimento as regras que contenham esse objetivo na parte ENTAO; seja (c) Quando uma regra e encontrada, para que a parte ENTAO aceita, suas premissas devem ser satisfeitas, obrigando a m aquina 20

a encontrar atributos para as vari aveis de condi c ao para se poder efetuar um julgamento das mesmas; (d) Para poder encontrar atributos para estas vari aveis, o S.E. volta ao passo 2, acionando um encadeamento recursivo; (e) Caso o atributo procurado n ao seja encontrado em nenhuma conclus ao de regra, uma pergunta e feita ao usu ario. O Expert SINTA utiliza o encadeamento para tr as, mas e poss vel simular o encadeamento para frente tamb em. Para tanto, as vari aveis ou condi c oes que o usu ario deseja encontrar devem ser colocadas na lista de objetivos. Exemplo usando encadeamento para tr as Neste exemplo tamb em ser a utilizada o conjunto de regras de um sistema especialista em mercado de a c oes: BOLSA DE VALRegra 1 SE TAXA DE JUROS = BAIXA ENTAO ORES = ALTA BOLSA DE VALRegra 2 SE TAXA DE JUROS = ALTA ENTAO ORES = BAIXA DO DOLAR TAXA DE Regra 3 SE COTAC AO = BAIXA ENTAO JUROS = ALTA DO DOLAR TAXA DE Regra 4 SE COTAC AO = ALTA ENTAO JUROS = BAIXA Agora ser a vericado o que acontece no mercado de a c oes se a bolsa de valores estiver em queda. Neste caso, a vari avel objetivo ser a BOLSA DE VALORES. Analisando a base em busca de regras que contenham a vari avel objetivo BOLSA DE VALORES, ela e encontrada na regra 1. A regra 1 e selecionada e a vari avel de cl ausula desta regra, TAXA DE JUROS, e inserida no topo da pilha de vari aveis objetivo. Verica-se ent ao se esta vari avel j a foi instanciada. Como ainda n ao foi instanciada, e iniciada uma busca na base para encontrar regras que tenham a vari avel TAXA DE JUROS na parte ENTAO. Ela e encontrada na regra 3. A regra 3 e selecionada e a vari avel de cl ausula desta regra COTAC AO DO DOLAR e inserida no topo da pilha de vari aveis objetivo. Vericase ent ao se esta vari avel j a foi instanciada. Como ainda n ao instanciada, e iniciada uma busca na base para encontrar regras que tenham 21

DO DOLAR a vari avel COTAC AO na parte ENTAO. Como ela n ao de nenhuma regra da base, est a na parte ENTAO e feita uma pergunta: A cota c ao do d olar est a em baixa ou em alta? Considerando que a DO DOLAR resposta seja baixa a vari avel COTAC AO e instanciada com BAIXA. A cl ausula da regra 3 e analisada e como e verdadeira, a parte ENTAO e aceita e a vari avel TAXA DE JUROS e instanciada em ALTA. DO DOLAR A vari avel COTAC AO e retirada do topo da pilha de vari aveis objetivo e a pr oxima vari avel a ser selecionada e a vari avel TAXA DE JUROS. A busca por regras que contenham a vari avel objetivo TAXA DE JUROS e retomada e e encontrada na regra 4. Como a vari avel da cl ausula desta regra j a foi instanciada em BAIXA, a cl ausula e falsa e a parte ENTAO e descartada. A busca por regras que contenham a vari avel objetivo TAXA DE JUROS termina e como ela j a foi instanciada, ela e retirada da pilha de vari aveis objetivo. A pr oxima vari avel a ser selecionada na pilha de vari aveis objetivo e a vari avel BOLSA DE VALORES. Como inicialmente esta vari avel foi encontrada na parte ENTAO da regra 1 e a vari avel de cl ausula dessa regra (TAXA DE JUROS) j a foi instanciada em ALTA, a cl ausula e analisada e considerada falsa. A busca por regras que tenham BOLSA DE VALORES na parte continua e ENTAO e encontrada na regra 2. Como a vari avel de cl ausula da regra da foi instanciada em ALTA, a premissa e analisada e considera verdadeira, insntanciando-se novamente a vari avel BOLSA DE VALORES como BAIXA. A busca por regras que tenham a vari avel BOLSA DE VALORES na parte ENTAO e retomada. Como n ao e encontrada mais nenhuma das ocorr encia da vari avel BOLSA DE VALORES na parte ENTAO demais regras e por n ao existirem mais vari aveis objetivos na pilha de vari aveis objetivos na pilha de vari aveis objetivos, a consulta e encerrada e a sess ao termina. Assim, o seguinte relat orio e mostrado: Com a bolsa de valores em baixa, a taxa de juros aumenta e a cota c ao do d olar cai.

22

2.2.3

O Quadro Negro

O quadro negro, ou blackboard e considerado a area de trabalho de um sistema especialista. Cont em informa c oes e fatos sobre o assunto em pauta, oferecendo um suporte ao funcionamento do sistema especialista. Segundo Hayes Roth (1983), o quadro negro e formado por um conjunto de 3 m odulos independentes. O primeiro m odulo, conhecido como plano de atua c ao trabalha diretamente com o interpretador de regras e com o justicador. O interpretador e respons avel pela valida c ao das condi c oes da regra, relacionando vari aveis a estas condi c oes. O segundo m odulo denominado de agente, e respons avel pela escalona c ao das regras, isto e, qual regra ser a executada no instante seguinte. O terceiro m odulo, conhecido como solu c ao e respons avel pelo armazenamento das poss veis solu c oes que servir ao para compor as respostas para o problema.

2.2.4

Sistema de Justica c ao

o modulo capaz de permitir ao usu E ario realizar um questionamento sobre uma solu c ao fornecida ao mesmo. S ao exemplos de justica c ao as seguintes perguntas: Como chegou a esta conclus ao? Porque chegou a esta conclus ao? Porque n ao chegou a tal outra conclus ao?

2.2.5

Mecanismos de Aprendizagem

um m E odulo capaz de realizar algumas a c oes que visam melhorar o desempenho do sistema e a qualidade das respostas. Estas a c oes permitem que sejam feitos acr escimos e altera c oes na base de conhecimento atrav es da depura c ao da base de conhecimento, reordena c ao de prioridades e estabelecimento de mecanismos de controle para a expans ao de arvore de busca.

2.2.6

Sistema de Aquisi c ao de Conhecimento

o m E odulo que permite acrescentar e alterar o conhecimento de um Sistema Especialista. Estas tarefas s ao realizadas com o aux lio de 23

outros recursos tais como editores, ordenadores, classicadores, que auxiliam a extrair e aproveitar o conhecimento.

2.2.7

Sistema de Consulta

O sistema de consulta e o modulo dotado de recursos para consulta que permite aos usu arios acessar sem maiores diculdades o sistema especialista, haja visto que o usu ario n ao conhece a estrutura do S.E. e nem as formas de representa c ao do conhecimento.

2.2.8

Processador de Linguagem

Este m odulo e respons avel por estabelecer uma linguagem orientada para o S.E. a m de suprir os requisitos de linguagem t ecnica da computa c ao. Este modulo entra em a c ao toda vez que o usu ario estiver acessando o Sistema Especialista.

2.3 Sistema Especialista para Diagn ostico e Solu c oes de Problemas em Microcomputadores
Esta se c ao tem por objetivo descrever o desenvolvimento de um Sistema Especialista para Diagn ostico e Solu c oes de Problemas em Microcomputadores. Trata-se de uma ferramenta destinada a usu arios comuns de microcomputadores, com o objetivo de auxili a-los na identica c ao das causas e solu c oes de falhas que ocorrem nos microcomputadores.

2.4

Ferramenta utilizada

O SE par Diagn ostico e Solu c oes de Problemas em Microcomputadores foi desenvolvido atrav es da ferramenta Shell Expert SINTA, vers ao 1.1b, software este que tem como principal objetivo a gera c ao autom atica de sistemas especialistas, onde a representa c ao do conhecimento e baseada em regras de produ c ao e uso de probabilidades. Dentre suas caracter sticas podemos destacar:

24

(a) Utiliza c ao de m aquina de infer encia compartilhada fundamentada no encadeamento para tr as (bacward chainning); (b) Constru c ao autom atica de telas e menus; (c) Tratamento probabil stico das regras de produ c ao, atrav es do uso de fatores de conan ca; (d) Explica c oes sens veis ao contexto da base de conhecimento; (e) Adequa c ao com problemas de classica c ao;

2.4.1

Caracter sticas da Aplica c ao

O SE para Diagn ostico e Solu c oes de Problemas em Microcomputadores foi desenvolvido utilizando-se como forma de representa c ao do conhecimento um conjunto de regras de produ c ao capazes de auxiliar na solu c ao dos problemas mais comuns que um computador est a propenso a apresentar. Surgiram algumas d uvidas sobre quais seriam esses problemas. Foram selecionados problemas tanto de hardware quanto de software a m de enriquecer a capacidade de resolu c ao, ou seja, a capacidade de resolver um maior n umero de problemas. Para a constru c ao das regras de produ c ao, recorreu-se ao aux lio de livros t ecnicos, revistas especializadas e experi encias adquiridas. As regras de produ c ao foram armazenadas em sua base de conhecimento. Essas regras s ao manipuladas pela m aquina de infer encia durante uma consulta e e fundamentada no encadeamento para tr as. Desta forma, numa consulta somente s ao avaliadas as regras relacionadas com a situa c ao atual do problema.

2.4.2

Requisitos B asicos

Para instalar o SE para Diagn ostico e Solu c ao de Problemas em Microcomputadores, e necess ario denir os requisitos b asicos de execu c ao do mesmo. Como foi desenvolvido utilizando-se a Shell Expert SINTA, necessita-se de um computador equipado com sistema operacional Windows 95 ou superior. Vale lembrar que as condi c oes m nimas de hardware do Windows satisfazem as condi c oes de execu c ao da aplica c ao. Contudo, e necess ario que haja no m nimo 5MB de espa co dispon vel em disco para a instala c ao da Shell e da aplica c ao. O software Expert 25

SINTA vers ao 1.1b pode ser obtido no site www.lia.ufc.br, jun importante salientar que a execu to ao grupo SINTA. E c ao da aplica c ao utilizando os recursos m nimos de hardware, afeta consideravelmente o tempo de execu c ao, ou seja, quanto mais robusta a aplica c ao, maior capacidade de hardware e exigida.

2.4.3

N vel de Conhecimento do Usu ario

Apesar do SE para Diagn ostico e Solu c ao de Problemas em Microcomputadores conter m odulos bastante simples, existem outros que exigem conhecimentos relativamente mais avan cados, onde apenas pessoas com alguma experi encia na area s ao capazes de interagir com o mesmo. Portanto, para que a aplica c ao apresente resultados satisfat orios, sua utiliza c ao e indicada para aqueles que possuam n vel de conhecimento intermedi ario e que tamb em estejam familiarizamos com o uso da linguagem t ecnica dos computadores.

2.4.4

Restri c oes da Aplica c ao

Devido ao curto per odo de tempo dispensado para a elabora c ao do projeto, a aplica c ao desenvolvida n ao tem a pretens ao de resolver todo e qualquer problema inerente a falhas de computadores. Contudo houve esfor co cont nuo na busca de respostas aos casos mais comuns que um dispositivo aleat orio poderia apresentar. Ap os um n umero consider avel de quest oes levantadas junto ao usu ario, o SE para Diagn ostico e Solu c ao de Problemas em Microcomputadores tenta chegar a conclus oes que satisfa cam a solu c ao do problema,por em existem situa c oes em que todas as alternativas poss veis n ao conduzem ` a solu c ao. Nesses casos, o SE para Diagn ostico e Solu c ao de Problemas em Microcomputadores conclui que n ao se pode atingir uma solu c ao, cando a cargo do usu ario tentar outros tipos de diagn osticos de falhas.

2.4.5

Finalidade da Aplica c ao

O prop osito principal do desenvolvimento da aplica c ao, al em de ilustrar a funcionalidade de um SE, est a voltado ao aux lio na

26

busca de solu c oes para problemas relativos ` a falhas de computadores. Com isso, podemos estender sua utiliza c ao tamb em para ns de treinamento par aqueles que possuam conhecimento te orico e pouca experi encia pr atica, incluindo-se nesta situa c ao, t ecnicos e analistas rec em-formados.

2.4.6

Teste e Avalia c ao

Como o SE para Diagn ostico e Solu c ao de Problemas em Microcomputadores foi desenvolvido atrav es da implementa c ao de m odulos independentes, cada processo pertencente a um m odulo, foi testado e avaliado de forma que todas suas possibilidades fossem abrangidas. Assim sendo, todas as respostas, as intera c oes com o usu ario, as aceita c oes, a credibilidade e a precis ao foram sendo avaliadas ` a medida que o sistema era implementado.

2.4.7

Revis ao

O processo de revis ao utilizado na implementa c ao do SE para Diagn ostico e Solu c ao de Problemas em Microcomputadores foi feito de forma cont nua, ou seja, ` a medida que o sistema era implementado. Como esta e uma etapa posterior a etapa de teste e avalia c ao, as altera c oes foram feitas melhorando os aspectos problem aticos levantados na referida etapa.

27

Cap tulo 3 Intelig encia Articial Distribu da


Neste cap tulo ser ao abordados os temas e conceitos da area de Intelig encia Articial Distribu da (IAD). Inicialmente ser a feita uma deni c ao de IAD e um breve hist orico da area ser a apresentado. A seguir os principais problemas da IAD ser ao abordados. Sistemas de Intelig encia Articial tradicionais concentram suas aten c oes em um u nico agente, o qual seria provido de alguma esp ecie de intelig encia, e sozinho seria especialista na realiza c ao de uma tarefa espec ca. A Intelig encia Articial Distribu da (IAD) baseia-se no comportamento social, considerando sociedades de agentes inteligentes e aut onomas, dotadas de capacidade cognitiva. Os agentes, especialistas na atividade que desempenham, n ao trabalham mais isolados, mas de forma cooperativa tentam resolver um problema da melhor forma poss vel, caracterizando a area da IAD, denominada Sistemas Multiagentes (SMA). Na outra area da IAD, a Resolu c ao Distribu da de Problemas (RDP), s ao adotados estrat egias baseadas no conceito de decomposi c ao para a resolu c ao de um problema complexo, isto e, a tarefa, dada a sua complexidade, requer decomposi c ao num conjunto de tarefas mais simples.

28

3.1 O que e Intelig encia Articial Distribu da?


A IA Distribu da e uma area da IA que aplica m etodos cooperativos para solucionar um determinado problema. Um sistema baseado em Intelig encia Articial Distribu da e formado por um conjunto de partes. ` vezes um Sistema Especialista pode estar lidando com um probAs lema t ao complexo que sozinho n ao o consiga resolver. Para tanto, a IAD procura atacar estes problemas complexos, decompondo-os em problemas mais simples, cada um com caracter sticas distintas. Para melhor compreens ao do funcionamento da IAD, pode-se tra car um paralelo com os seres vivos na natureza, que se agrupam, formando o que se conhece como sociedade, para melhor poder resolver o problema da luta pela vida e pela sobreviv encia da esp ecie. Pode-se citar como exemplo as abelhas e as formigas, que se agrupam, formando uma sociedade organizada e com especializa c oes de fun c oes. No campo da Intelig encia Articial, tem-se como exemplo o uso de v arios rob os aut onomos, cada um trabalhando em um u nico problema.

3.2

Breve Hist orico

As pesquisas acad emicas em Intelig encia Articial Distribu da (IAD) come caram nos anos 70, epoca em que ocorreram as primeiras experi encias para resolver problemas de modo cooperativo. Vale destacar entre essas primeiras experi encias o projeto HEARSAY II, que se tratava de um sistema para reconhecimento de fala. Na d ecada de 80, quando se iniciou a discuss ao sobre a utiliza c ao de modelos organizacionais humanos em sistemas computacionais, os trabalhos de Intelig encia Articial Distribu da se concentravam em aplica c oes de reconhecimento de palavras, interpreta c ao de sensores e controle de rob os. Na area de rob otica foram testados os chamados rob os reativos, cuja id eia b asica era a de utilizar uma arquitetura simples, baseada em comportamentos elementares, para projetar um rob o aut onomo. Atualmente aplica c oes no campo da Intelig encia Articial Distribu da n ao param de se multiplicar. 29

3.3

Conceitos B asicos

A seguir, ser ao introduzidos alguns conceitos b asicos de Intelig encia Articial Distribu da (IAD), como agentes, sociedades, ambientes, organiza c oes e intera c oes, que ser ao utilizados nas se c oes subseq uentes. Dado um determinado sistema, denomina-se agente cada uma de suas entidades ativas. Um agente raciocina sobre o ambiente, sobre os outros agentes e decide racionalmente quais a c oes deve tomar. O termo ativo tem como objetivo indicar que o agente est a ligado a um mecanismo de controle para sua ativa c ao. As entidades passivas formam o ambiente. O conjunto de agentes forma uma sociedade. O termo intera c ao designa as trocas de informa c ao que podem ocorrer entre os agentes. Organiza c ao descreve as restri c oes aplicadas aos agentes pertencentes a uma sociedade.

3.4 Principais problemas abordados em IAD


Os principais problemas abordados em IAD s ao os seguintes: i. Descri c ao, decomposi c ao e aloca c ao de tarefas: refere-se a como deve ser escrita e decomposta uma tarefa complexa em subtarefas e como essas subtarefas ser ao realizadas e alocadas, tanto estaticamente como dinamicamente; ii. Intera c ao, linguagem e comunica c ao: que primitivas b asicas de um protocolo de comunica c ao devem ser utilizadas para representar conceitos sem anticos de um trabalho cooperativo; iii. Coordena c ao, controle e comportamento coerente: como garantir um comportamento global coerente num conjunto de agentes, cada qual com os seus objetivos e habilidades; iv. Conito e incerteza: considerando que os agentes n ao t em uma informa c ao completa sobre o seu ambiente, surgem conitos e estes devem ser resolvidos. Os dados incertos e incompletos devem ser manipulados de forma a garantir resultados globais coerentes; v. Linguagens e ambientes de programa c ao: devem ser denidas linguagens de programa c ao a serem utilizadas em tais sis30

temas que suportem os diferentes requisitos necess arios a cada agente pertencente ao sistema. Alguns destes problemas t em sido pesquisados por pesquisadores de outras areas, como por exemplo em sistemas distribu dos e l ogica. No entanto, a IAD tem por objetivo reunir tais problemas num mesmo contexto cient co.

3.5 Resolu c ao Distribu da de Problemas (RDP)


O principal objetivo desta estrat egia de resolu c ao e solucionar um problema inicial preciso. Para tanto, apresenta as seguintes caracter sticas: i. Divis ao do problema: o problema e resolvido atrav es da divis ao das tarefas, que s ao realizadas por um conjunto de agentes, sendo que cada agente est a incumbido de solucionar uma determinada tarefa particular. Os agentes podem aplicar diferentes estrat egias de resolu c ao para um mesmo problema; ii. Organiza c ao: Os agentes est ao sicamente distribu dos em diversas m aquinas conectadas via rede, tamb em denominada de n os. A disposi c ao dos agentes e denida durante a fase de concep c ao do sistema e tem por objetivo desenvolver uma arquitetura de comportamento cooperativo; iii. Intera c ao entre n os: a intera c ao entre os agentes e realizada atrav es de troca de mensagens e pelo compartilhamento de dados. Estas intera c oes t em por objetivo possibilitar ao agente interagir com os demais para compartilhar informa c oes ou resultados parciais, permitindo que primeiro resolva o seu problema particular. Somente ap os estas intera c oes o objetivo global pode ser alcan cado; iv. Execu c ao: os agentes s ao executados de forma concorrente, aumentado assim a velocidade de resolu c ao; v. Controle do Sistema: pode ser implementado de forma centralizada, onde um agente e respons avel pelo controle do sistema, ou de modo distribu do; A gura abaixo possibilita uma melhor compreens ao das t ecnicas de RDP para resolu c ao de um problema: 31

3.6

Sistemas Multiagentes

O principal objetivo desta a rea e oferecer meios para que os agentes possam cooperar na resolu c ao de um problema espec co quando este for apresentado ao sistema. Para tanto, apresenta as seguintes caracter sticas: i. Concep c ao: os agentes s ao concebidos independentemente de um problema particular a ser resolvido, isto e, n ao s ao entidades capazes de realizar um processamento espec co para resolver um problema particular, mas sim capazes de realizar qualquer processamento; ii. Intera c ao: s ao desenvolvidos protocolos de intera c oes gen ericos, isto e, que podem ser utilizados em v arias aplica c oes; iii. Organiza c ao: os agentes s ao implementados com todas as funcionalidades necess arias para resolu c ao de um problema; iv. Controle do Sistema: n ao existe um controle global do sistema, este e implementado de forma totalmente descentralizada. A gura 5 permite uma melhor compreens ao do funcionamento do modelo de SMA para solu c ao de um problema. Figura 5

32

3.7 Rela c ao de Sistema Especialista com IA Distribu da


Os sistemas baseados em IAD iniciaram uma verdadeira revolu c ao na forma de pensar e resolver problemas. Os Sistemas Especialistas que sempre tiveram uma vis ao global e uma abordagem centralizada do problema, puderam ter uma vis ao local do problema, a n vel de agente, onde o comportamento coletivo e a funcionalidade global s ao resultantes das intera c oes entre os agentes. Com o particionamento do problema em subproblemas funcionalmente distribu dos, cada subprocesso (agente) e um subsistema especialista em certos tipos de atividades. Neste paradigma, o agente deve fazer suas pr oprias decis oes sobre o subproblema a solucionar. Esta nova maneira de pensar os problemas permitem que sistemas especialistas ainda mais complexos sejam projetados e desenvolvidos, sistemas estes mais abertos, ex veis, interativos e con aveis. O interesse maior e em sistemas nos quais os agentes s ao sistemas de IA que podem gerar e executar planos e fazer infer encias. Ger33

ar planos consiste em um meio de cada agente poder planejar suas a c oes, considerando as a c oes potenciais de outros agentes, isto e, cada agente deve possuir conhecimento de algumas caracter sticas de outros agentes (racioc nio social). Cada agente tem uma vis ao limitada da situa c ao global, o que n ao e suciente para resolver o problema. A intera c ao entre os m ultiplos especialistas ou agentes torna-se necess aria para resolver o problema. Para tanto, os agentes t em permiss ao de comunicar-se de forma limitada para compartilhar objetivos comuns e trabalhar neles.

3.8

Aplica co es da IAD

Sistemas de Intelig encia Articial Distribu da s ao a classe de sistemas que permite a v arios processos aut onomos, chamados agentes, realizarem atos de intelig encia global atrav es de processamento local e comunica c ao interprocessos. Enm, a meta de sistemas especialistas baseados em conhecimento e distribu dos e poder coordenar atividades de grupo resolvendo problemas que os sistemas compartilham - totalmente ou em parte. Utilizando-se da IAD, pode-se resolver problemas que n ao seriam resolvidos com a tecnologia tradicional. Com a IAD a base de conhecimentos pode ser subdividida em areas, assim como o problema. Dessa maneira, cada processo procura um problema, resolve a sua parte e devolve os dados trabalhados ` a base, para que um outro processo identique o seu padr ao e possa seguir manipulando os mesmos dados, adiantando mais a resolu c ao do problema em quest ao. Como exemplo de uma situa c ao real do emprego da IAD, temos o sistema de defesa dos EUA. O sistema e composto de mais de um sistema especialista, todos com a mesma fun c ao, contudo com formas diferenciadas de armazenar e decidir sobre os problemas. Dessa maneira, para uma resolu c ao ser feita, mais de um sistema deve chegar na mesma solu c ao, de formas diferentes e por m etodos diferentes. O sistema e composto por um n umero mpar de processos distribu dos para que n ao ocorra empate de decis oes. Ao se projetar um sistema especialista distribu do, devem ser feitas algumas perguntas b asicas como: O que um agente ir a dizer ao outro?, Que linguagem eles usar ao?, 34

O que eles devem descrever? e etc. muito importante, como em qualquer projeto, que seja feita uma E excelente an alise do problema para que o custo de uma reestrutura c ao seja minimizado.

3.8.1 istas

Rede Cooperativa de Sistemas Especial-

No campo da IAD, tem havido um crescente interesse na pesquisa e desenvolvimento de sistemas que permitem a participa c ao de sistemas especialistas j a existentes em redes cooperativas de trabalho[ ]. Este problema e de grande import ancia devido a suposi c ao b asica que a heterogeneidade de sistemas e inerente ao universo da ci encia da computa c ao. Isto n ao signica que os esfor cos para padroniza c ao s ao in uteis, muito pelo contr ario. Entretanto, estes esfor cos sempre deixam para tr as novas aplica c oes e tecnologias que saem dos laborat orios de pesquisa e das ind ustrias que produzem programas. At e h a poucos anos atr as, a linha de pesquisa predominante da IAD respondia ` a necessidade de desenvolvimento de sistemas para sistemas cooperativos. O foco causou uma concentra c ao inicial nos aspectos mais fundamentais do campo, por exemplo, estrat egias de coopera c ao, din amica de comunica c ao de agentes, arquitetura de agentes, etc. Conforme se progrediu nestes aspectos, t em havido experimenta c oes em diferentes ambientes de programa c ao para sistemas cooperativos. V arios grupos de pesquisa t em empreendido a tarefa de integrar estes agentes cooperativos em sistemas mais amplos que assegurem interoperabilidade de sistemas heterog eneos. Exemplos disso s ao os sistemas Carnot[ ] e Archon[ ]. A aplica c ao desses sistemas na ind ustria e no setor de servi cos fez perceber novas dimens oes de problemas, sendo que duas das mais importantes s ao: i. Heterogeneidade na representa c ao do conhecimento, na base de dados, nas linguagens de programa c ao, e na comunica c ao de servi cos; ii. Integra c ao: conceito que assegura o funcionamento harmoniosamente do conjunto de aplica c oes, sistemas e servi cos; 35

Em 1990, um projeto desenvolvido na MCC, sob a dire c ao de Michael Huhns, marcou o in cio de estudos mais espec cos. Assim como os sistemas Carnot e Archon, esse projeto consistia do desenho de uma rede de comunica c ao para conectar sistemas especialistas existentes. Esta intercomunica c ao permite a distribui c ao de dados e conclus oes, facilitando assim o trabalho cooperativo na solu c ao de problemas mais complexos. A proposta de Huhns consistia na cria c ao de uma rede de m odulos que assegurasse a comunica c ao dos sistemas especialistas, focalizando principalmente a comunica c ao e administra c ao das partes da rede, prevenindo principalmente, o problema do impasse nos di alogos. Neste projeto identica-se a necessidade de se ter um m odulo adicional cuja fun c ao e garantir a coopera c ao entre os sistemas especialistas, isto e, coordenar a chamada dos sistemas especialistas envolvidos na solu c ao cooperativa de um determinado problema. Met afora de uma Rede Cooperativa O objetivo desta se c ao e apresentar o esbo co de uma rede de coopera c ao, que tamb em pode ser denominada junta cooperativa, que incorpora os m odulos de coopera c ao necess arios para que sistemas especialistas correntemente em us resolvam problemas cooperativamente. Esta proposta faz parte de um projeto a longo prazo, chamado RESH que estava sendo desenvolvido pelo Laborat orio Nacional de Inform atica Avan cada (LANIA) da cidade de Vera Cruz no M exico[ ]. O dom nio de aplica c ao escolhido para expor a rede foi a designa c ao de cr edito em banco. Antes por em, vamos introduzir uma met afora para a rede cooperativa, isto e, faremos uma analogia com ambiente de trabalho num escrit orio. Suponha que o escrit orio funciona como um tipo de rede cooperativa formada por um grupo de pessoas que incluem chefes e secret arios. Cada chefe tem,como seu associado, um secret ario executivo a que ele est a hierarquicamente relacionado. Os servi cos de comunica c ao dispon veis para esses chefes e secret arios s ao: telefone, fax e servi co de mensagem. O secret ario est a apto n ao somente a assumir a comunica c ao de seu chefe, mas tamb em interpretar e executar suas ordens, e resolver todos os problemas relacionados a esta execu c ao. 36

O modelo descrito est a apto a discriminar entre pelo menos tr es n veis hier arquicos de comunica c ao: n vel (n) chefes, n vel (n-1) secret arios e n vel (n-2) servi cos de comunica c ao. Em adi c ao, e importante estabelecer, tamb em, tr es tipos diferentes de di alogos: chefe.n - chefe.n, chefe.n - secret ario.n-1, secret ario.n1 - secret ario.n-1. Esses di alogos s ao realizados usando os v arios servi cos de comunica c ao existentes no escrit orio. Eles podem ser descritos em termos de camadas de di alogos que s ao controlados por protocolos de n veis inferiores n-1, e servi cos de n veis mais baixos. Em resumo, cada camada deve fornecer servi co de comunica c ao b asica para a camada imediatamente acima. A comunica c ao com o exterior e sempre realizada atrav es de um dos secret arios. O ambiente externo e identicado com o cliente da rede. O cliente conta seu problema ` a rede atrav es do secret ario.n1 que est a associado com o chefe.n. Algumas restri c oes podem ser impostas sobre esta analogia: i. N ao existe di alogo direto entre chefe e chefe. ii. Cada chefe pode se comunicar somente com seu/sua secret ario, por meio de ordens, quest oes e arma c oes. iii. Di alogos entre secret arios estabelece comunica c ao atrav es da transmiss ao de pedidos, perguntas, asser c oes e transmiss ao de documentos. Em vista dessas restri c oes, cada chefe e concebido como um especialista isolado cuja u nica conex ao com o resto do escrit orio e atrav es de seu/sua secret ario, que assume a responsabilidade da coopera c ao. O secret ario tem familiaridade com o ambiente global, os diferentes interlocutores diretos do chefe, tem dom nio dos protocolos apropriados para os diferentes assuntos, e sabe como interpretar as ordens de seu/sua chefe e tamb em como divid -las em tarefas envolvendo um ou mais interlocutores. A met afora que foi descrita anteriormente serve como uma base para a deni c ao de uma arquitetura para a rede cooperativa de sistemas especialistas. Para come car o papel exercido pelos chefes na met afora est a associado aos sistemas especialistas distribu dos no escrit orio. O problema que os autores em [ ] se prop oem a resolver consiste do planejamento e constru c ao de uma rede de sistemas que assume o papel dos secret arios executivos da rede. Estes sistemas s ao chamados facilitadores porque seu prop osito 37

e facilitar a coopera c ao entre os sistemas especialistas que foram constru dos para trabalhar independentemente. Modelo de uma Rede Cooperativa O modelo de rede cooperativa de sistemas especialistas que estamos expondo e organizada em tr es camadas: i. A rede de Sistemas Especialistas ii. Rede de facilitadores iii. Comunica c ao da rede A Rede de Sistemas Especialistas e composta por um conjunto de sistemas especialistas, que podem resolver juntos problemas mais complexos do que aqueles que cada um poderia resolver sozinho. Essa coopera c ao para solu c ao de problemas e poss vel com a ajuda da rede de facilitadores. A rede de facilitadores abrangem um conjunto de sistemas capazes de denir e coordenar uma solu c ao cooperativa dos problemas dos usu arios. A solu c ao do problema e feita atrav es do interc ambio, por um lado entre os pr oprios facilitadores, e por outro lado, entre os facilitadores e os usu arios ou tamb em com os sistemas especialistas. Internamente, cada facilitador possui algumas interfaces que permitem lig a-lo com um usu ario, uma base de dados gerenciadora do sistema e um sistema especialista. Externamente, cada facilitador e associado aos demais facilitadores da junta. A comunica c ao da rede corresponde ` a rede de computador e ` a rede de comunica c ao f sica, cujas principais tarefas s ao: i. assegurar a interconex ao l ogica da rede de facilitadores ii. assegurar o servi co de transmiss ao de mensagem Em termos do esquema das camadas em sistemas abertos, os usu arios de um sistema facilitador est ao situados na u ltima camada de um sistema aberto cooperativo, a camada n de aplica c oes, os facilitadores est ao situados na pen ultima camada, n-1, e portanto se constitue na camada de servi cos de comunica c ao da camada superior.

38

3.8.2

Arquitetura do Facilitador

O principal objetivo do facilitador e assegurar a coordena c ao de um Sistema Especialista que est a ligado a ele com os demais Sistemas Especialistas da rede, assegurando a solu c ao global dos problemas dos usu arios. As principais tarefas dos facilitadores e controlar diferentes tipos de di alogos envolvidos na solu c ao de um problema e selecionar uma estrat egia de coopera c ao para esta solu c ao. Para tanto, os facilitadores contam com dois m odulos: i. M odulo de Controle de Coopera c ao; ii. M odulo de Controle de Di alogo; O m odulo de Controle de Coopera c ao e o m odulo principal do facilitador. A primeira tarefa em um problema e criar o grupo de agentes dispon veis na junta e depois escolher a estrat egia cooperativa para solu c ao do problema e, a seguir, os tipos de di alogos envolvidos. Esse m odulo tem conhecimento total do dom nio da rede de Sistemas Especialistas, das diferentes estrat egias de coopera c ao, assim como um modelo de seu SE todos os sistemas da rede. O m odulo de controle de di alogo e respons avel pela aplica c ao da estrat egia selecionada e gerenciamento dos di alogos correspondentes. Existem tr es diferentes tipos de di alogos: i. Entre o facilitador e o usu ario; ii. Entre o facilitador e seu Sistema Especialista; iii. Com outros facilitadores da rede. Estudo de Caso: Concess ao de Cr edito Banc ario para Empresas Este estudo de caso focaliza a concess ao de cr edito em banco. Para esse prop osito, s ao considerados uma rede cooperativa formada por tr es sistemas especialistas: i. SE1 Para concess ao de cr edito; ii. SE2 Para avaliar projetos; iii. SE3 Para C alculos Cada um desses sistemas especialistas possui uma base de conhecimento. As principais caracter sticas desses sistemas especialistas s ao: i. SE1 - Esse sistema e um especialista em opera c oes banc arias que admite diferentes tipos de cr editos banc arios. Ele possui 39

um conjunto de pol ticas banc arias que lhe permitem oferecer cr edito com base em alguns crit erios tais como: solv encia, garantia de lucro para o banco, capacidade de gerenciamento dos indiv duos que solicitam o cr edito para suas companhias, viabilidade t ecnica e nanceira do projeto, etc. Este sistema tamb em tem acesso a uma base de dados que cont em arquivos de aplica c ao daqueles que est ao solicitando o empr estimo, informa c oes sobre pol ticas banc arias, taxas de interesse atual, etc. ii. SE2 - Esse sistema e um especialista faz avalia c ao de projetos. Seu prop osito e analisar e avaliar projetos de investimentos. Ele possui a incumb encia de ordenar os projetos de acordo com o tamanho do projeto, os custos relevantes, se e seguro ou de risco, se possui todas as informa c oes necess arias e se estas s ao favor aveis. Nesse exemplo ele ser a usado somente como um assistente da rede cooperativa. iii. SE3 - Este e um sistema especialista em c alculos que pode aplicar diferentes modelos e realizar c alculos de complexidade variada. Para tanto, acompanha a conduta do mercado e pode acessar a base de dados contendo todas as informa c oes necess arias para realizar estes c alculos. Esse sistema tamb em ser a usado como um assistente. Existe uma base de dados que cont em informa c oes gerais da empresa, isto e, situa c ao nanceira e dados referentes ao projeto para o qual a aplica c ao de cr edito foi feita. Ela pode ser acessada por qualquer um dos tr es sistemas especialistas atrav es de seus respectivos facilitadores. Em qualquer situa c ao, o usu ario requisitar a primeiramente o facilitador do SE1. O SE1, atrav es de seu facilitador, solicitar a a ajuda dos outros dois sistemas especialistas assistentes para posteriormente aplicar uma solu c ao denitiva para o problema apresentado pelo usu ario. O que se pode concluir desta aplica c ao e que o conceito de facilitador e elemento poderoso em sistemas distribu dos complexos que implica na inter-opera c ao de sistemas heterog eneos. Sua aplicabilidade vai al em de executar a comunica c ao de sistemas especialistas existentes, e pode ser extendidoa sistemas auxiliares, como tamb em a problemas de interoperatividade gerais que exigem solu c oes em n vel de sem antica. O problema de ligar sistemas especialistas para tarefas cooperativas e um campo f ertil de experimenta c ao, pois problemas que 40

demandam solu c oes efetivas usando redes cooperativas homemm aquina s ao frequentes.

41

Cap tulo 4 Melhorando a Qualidade de Servi cos de Busca na Internet


O crescimento s ubito e desordenado da World Wide Web tornou as ferramentas de busca aplica c oes essenciais para viabilizar o acesso a informa c oes, documentos e servi cos na Internet. Nos u ltimos anos, essas ferramentas de busca t em se transformado em portais que atuam como ponto de partida para acessos ` a Internet. Devido ` a sua ampla utiliza c ao e ` a sua relev ancia, eci encia e velocidade na realiza c ao das buscas s ao fundamentais. A velocidade de resposta dos servidores de busca n ao depende, entretanto, apenas da quantidade de requisi c oes recebidas, mas tamb em da complexidade dessas. Mas ainda, o volume de informa c oes retornado aos usu arios varia muito entre pesquisas, resultando em variabilidade e diculdade de predi c ao do comportamento do servidor e do tr afego das redes de interconex oes entre este e o cliente. Neste artigo ser a apresentado uma estrat egia chamada cache plugins, estrat egia esta que vem sendo implementada em servi cos de busca para melhorar a qualidade dos mesmos. A implementa c ao desta t ecnica utiliza conceitos de processamento distribu do e Intelig encia Articial. Os plugins s ao pequenos programas executados em servidores cache WWW. Plugins tamb em podem funcionar como concentradores que contabilizam acessos feitos ` as p aginas.

42

4.1

Intelig encia Articial na rede

curioso como alguns aspectos revolucion E arios da Internet ainda n ao est ao sendo explorados em todo o seu potencial. Um deles e a possibilidade de transformar o microcomputador do usu ario em algo mais do que um simples terminal de acesso, atrav es do sistema denominado execu c ao distribu da. O que e isso? Os programas do tipo Netscape e Internet Explorer, a partir de sua vers ao 2, j a permitem a execu c ao de programas (softwares) nas CPUs do computador do usu ario. A tecnologia mais recente e a Java, que consiste de um aplicativo usualmente pequeno (applet), que e descarregado para o computador do usu ario quando ele acessa uma p agina na Web, e e executado localmente. E uma linguagem poderosa, que tem a vantagem de ser independente de plataforma. Apesar disso, a maior parte dos sites na WWW ainda utiliza aplica c oes simples para a execu c ao distribu da e raro encontrar usos das tecnologias de Intelig encia Articial, como os sistemas especialistas. Eles implementam conhecimento em alguma area especializada, e ajudam o usu ario a tomar decis oes, planejar, criticar, etc., procurando imitar a maneira como o intelecto humano funciona. Um bom exemplo e um sistema especialista na area m edica, que pode auxiliar o prossional a chegar a um diagn ostico, com base nos sinais, sintomas e resultados de exames de laborat orio ou outros. O resultado e enviado atrav es da Web para o usu ario que o solicitou. O bom de um sistema desse tipo e que ele pode ser usado de qualquer lugar do mundo, usando qualquer marca ou modelo de computador, a qualquer hora do dia. No futuro, a Internet vai ser muito mais inteligente do que hoje, usando programas desse tipo. Um aplicativo de Intelig encia Articial que j a est a come cando a fazer sucesso e o softbotou agente inteligente, um software que navega em sites espec cos na Internet para colher dados de uma certa natureza. Por exemplo, os softbots do site MySimon s ao capazes de buscar um determinado item que voc e queira comprar, em centenas de sites de mercadores on-line, e volta com os pre cos. No Brasil j a existe a s erie de mineradores autom aticos de dadosna UOL. Tem o PeopleMiner, o BookMiner, o DoctorMiner, o CDMiner, e muitos outros. A tend encia de personalizar os sites tamb em vai utilizar muitos recursos de Intelig encia Articial, 43

assim como os sites de monitora c ao ativa dos h abitos de navega c ao e de consumo. O c eu e o limite quando se trata de fazer convergir v arias tecnologias de Inform atica, tais como multim dia, hipertexto, Intelig encia Articial, bancos de dados, etc.

4.2

A Arquitetura do Cache Plugins

Cache Plugins s ao programas normalmente executados de maneira distribu da em micros interligados com conex oes de alta velocidade a um servidor cache.A implementa c ao da arquitetura de cache plugins utiliza conceitos de Intelig encia Articial Distribu da, onde SE s ao implementados para resolu c ao distribu da de problemas (RDP) visando obten c ao de resultados mais ecientes e de melhor qualidade. Uma vez operacional, os plugins s ao capazes de realizar v arias das tarefas do servidor, com gera c ao de p aginas seguindo um padr ao especicado ou a contabiliza c ao de acessos.Desta forma, o uso de plugins faz com que a computa c ao necess aria para responder a uma requisi c ao seja distribu da, diminuindo a carga do servidor de busca, e dos canais de comunica c ao que chegam a ele, ja que o custao da opera c ao e minimizado com a distribui c ao do problema. Quando chega uma requisi c ao, o plugins a analisa e determina todos os objetos est aticos (como baners, applets e outros dados) necess arios para se gerar a resposta. Estes objetos s ao ent ao requisitados ao servidor cache, que os trata com uma requisi c ao normal: com aplica c ao de conceitos de Intelig encia Articial ele procura uma c opia local, se esta for encontrada no cache, ela e retornada; sen ao, o objeto est atico e buscado do servidor remoto, enviando ao plugin e armazenado localmente para atender a requisi c oes futuras. Ap os receber todos os objetos est aticos necess arios, o plugin os combina de acordo as caracter sticas da busca sendo realizada, gerando a p agina que ser a enviada como resposta ao servidor cache, que a repassa ao cliente. O plugin tamb em pode ter outras funcionalidades, como coletas e manter informa c oes sobre usu arios e contabilizar o n umero de acessos realizados a uma p agina ou o n umero de cliquesefetuados em um an uncio, reportando esses dados ao servidor de busca periodicamente. Este processo e totalmente transparente ao cliente, e pode ser visualizado de maneira resumida na FiguraX . Os 44

n umeros mostrados na gura se referem ` as seguintes atividades: i. O cliente requisita uma p agina din amica ao servidor cache ; ii. O servidor cache redireciona a requisi c ao ao cache plugin ; iii. O cache analisa a requisi c ao e busca todos os objetos est aticos do servidor cache ; iv. Caso ainda n ao estejam armazenados localmente, os objetos est aticos s ao buscados do servidor original; v. O plugin monta e envia ao servidor cache a resposta ` a requisi c ao; vi. O servidor cache retorna essa p agina ao cliente; vii. O cache plugin informa ao servidor o acesso e pode criar um canal de comunica c ao para buscar novas diretrizes de gera c ao de p aginas. Uma premissa importante para o funcionamento da arquitetura proposta e que p aginas din amicas podem ser constru das a partir de um certo conjunto de objetos est aticos. Note que o plugin que representa um determinado servidor deve ser fornecido pelos respons aveis pelo mesmo servidor, de forma que o plugin implemente os mecanismos de recupera c ao de objetos est aticos necess arios e de combina c ao desses objetos. Todo o controle de consist encia da informa c ao presente nos objetos a partir dos quais o plugin comp oe sua resposta pode ser feito pelo servidor de conte udo, que determina qual o tempo de expira c ao de cada um. Esta informa c ao e utilizada na determina c ao da validade de objetos presentes no cache, que requisita c opias atualizadas ao servidor caso necess ario. O uso de cache plugins traz benef cios tanto para os provedores de conte udo e de acesso, que ter ao reduzidas as suas cargas de processamento e nos canais de comunica c ao, quanto para os clientes, cujo tempo de resposta ser a menor. Obviamente, o ganho obtido com o uso de plugins depende da localidade de refer encia existente nas requisi c oes submetidas. A utiliza c ao de caches plugins e uma estrat egia que objetiva melhorar a qualidade de servi co de requisi c oes a objetos gerados dinamicamente na World Wide Web. Essa estrat egia e ilustrada pela integra c ao de m aquinas de busca, servidores cache, conceitos de IAD e processamento distribu do. Usando a arquitetura proposta, os resultados das buscas e o conte udo de p aginas din amicas podem ser efetivamente armazenados por servidores cache, o que n ao e poss vel usando tecnologia atual. 45

Essa estrat egia reduz tanto o tempo de resposta para o cliente quanto a carga no servidor e na rede. A implementa c ao de cache plugins possibilita tamb em a contabiliza c ao de n umeros de visitas a p aginas e n umeros de acessos a p aginas de anunciantes, at e ent ao uma das maiores restri c oes para resplica c ao de p aginas de conte udo din amico.

46

Cronograma

Atividade Data de conclus ao Escrever as regras do dom nio de conhecimento conhecimento para a base do S.E. julho proposto e implement a-la no Expert SINTA e realizar os Agosto testes necess arios Ser a tamb em constru do um help para a base de conhecimento atrav es de uma ferramenta de ajuda a ser denida Descrever sobre o seguinte tema em IAD: Melhorando a Qualidade de Servi cos de Busca na Internet Editar o projeto atrav es do uso do editor LATEX. Elaborar a apresenta c ao do projeto ` a banca Entrega do Projeto de Gradua c ao

Setembro

Outubro Novembro 24 Nov 03 Dez

Tabela 5.1: Cronograma da monograa

47

Refer encias Bibliogr acas


[BL76] K. S. Booth e G. S. Lueker. Testing for the consecutive ones property, interval graphs, and graph planarity using PQ-tree algorithms. Journal of Computer and System Sciences , 13:335379, 1976. [G ot98] S. M. G otz. Communication-Ecient Parallel Algorithms for Minimum Spanning Tree Computations . Tese de Doutoramento, Department of Mathematics and Computer Science - University of Paderborn - Alemanha, Maio 1998. [JaJ92] J. JaJa. An Introduction to Parallel Algorithms . AddisonWesley, 1992. [Ste97] M. A. Stefanes. Algoritmos e Implementa c oes Paralelas para Florestas Geradoras M nimas . Tese de Mestrado, Instituto de Matem atica e Estat stica - USP - S ao Paulo/SP - Brasil, Dezembro 1997. [Ste00] M. A. Stefanes. Algoritmos paralelos para modelo real sticos, Mar co 2000. Qualica c ao de Doutorado - Instituto de Matem atica e Estat stica - USP - S ao Paulo/SP Brasil.

48

Você também pode gostar