Escolar Documentos
Profissional Documentos
Cultura Documentos
RodrJoanir OK
RodrJoanir OK
Orientao:Prof Orientadora: Dra. Maria Bernadete Zanusso ca Area de Concentrao: Inteligncia Articial ca e
Projeto de Graduao ca
Departamento de Computao e Estat ca stica Centro de Cincias Exatas e Tecnologia e Universidade Federal de Mato Grosso do Sul 12 de novembro de 2001
Conte do u
Conte do u 0.1 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Introduo a IA ca 1.1 Aplicaes de Inteligncia Articial . . . . . . co e 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 Padres . . . . . . o 1.1.7 Robtica . . . . . . . . . . . . . . . . . o 1.1.8 Base de Dados Inteligentes . . . . . . . 1.1.9 Jogos . . . . . . . . . . . . . . . . . . . 1.2 Representao do Conhecimento em IA . . . . ca 1.2.1 Lgica . . . . . . . . . . . . . . . . . . o 1.2.2 Redes Semnticas . . . . . . . . . . . . a 1.2.3 Quadros . . . . . . . . . . . . . . . . . 1.2.4 Roteiros . . . . . . . . . . . . . . . . . 1.2.5 Regras de Produo . . . . . . . . . . ca 2 Sistemas Especialistas 2.1 O que so Sistemas Especialistas . . . . . . . a 2.2 Arquitetura de um Sistema Especialista . . . . 2.2.1 Base de Conhecimento . . . . . . . . . 2.2.2 Mquina de Inferncia . . . . . . . . . a e 2.2.3 O Quadro Negro . . . . . . . . . . . . 2.2.4 Sistema de Justicao . . . . . . . . ca 2.2.5 Mecanismos de Aprendizagem . . . . 2.2.6 Sistema de Aquisio de Conhecimento ca 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 Diagnstico e Solues de Probleo co mas em Microcomputadores . . . . . . . . . . . . . . . . . . Ferramenta utilizada . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Caracter sticas da Aplicao . . . . . . . . . . . . . . ca 2.4.2 Requisitos Bsicos . . . . . . . . . . . . . . . . . . . a 2.4.3 N de Conhecimento do Usurio . . . . . . . . . . vel a 2.4.4 Restries da Aplicao . . . . . . . . . . . . . . . . co ca 2.4.5 Finalidade da Aplicao . . . . . . . . . . . . . . . . ca 2.4.6 Teste e Avaliao . . . . . . . . . . . . . . . . . . . . ca 2.4.7 Reviso . . . . . . . . . . . . . . . . . . . . . . . . . a
. 23 . . . . . . . . . 23 23 24 24 25 25 25 26 26 27 28 28 29 29 30 31 32 32 33 37
3 Inteligncia Articial Distribu e da 3.1 O que Inteligncia Articial Distribu e e da? . . . . . 3.2 Breve Histrico . . . . . . . . . . . . . . . . . . . . o 3.3 Conceitos Bsicos . . . . . . . . . . . . . . . . . . . a 3.4 Principais problemas abordados em IAD . . . . . . 3.5 Resoluo Distribu de Problemas (RDP) . . . . ca da 3.6 Sistemas Multiagentes . . . . . . . . . . . . . . . . 3.7 Relao de Sistema Especialista com IA Distribu ca da 3.8 Aplicaes da IAD . . . . . . . . . . . . . . . . . . co 3.8.1 Rede Cooperativa de Sistemas Especialistas 3.8.2 Arquitetura do Facilitador . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
4 Melhorando a Qualidade de Servios de Busca na Internet 40 c 4.1 Inteligncia Articial na rede . . . . . . . . . . . . . . . . . . . 41 e 4.2 A Arquitetura do Cache Plugins . . . . . . . . . . . . . . . . . 42 Cronograma Referncias Bibliogrcas e a 45 46
0.1
Resumo
O dia a dia de quem usa o computador est cheio de surpresas desagradveis a a decorrentes dos vrios tipos de falhas que sempre acontecem nos momentos a mais inoportunos. Os problemas so os mais diversos poss a veis.Alguns so a grandes mistrios, enquanto outros possuem solues simples. e co Analisando os transtornos que estes problemas podem causar, decidimos apresentar um Sistema Especialista que oferea solues para os diversos c co problemas que afetam os microcomputadores.Portanto, principal meta deste projeto ser apresentar um sistema especialista que oferea solues para os a c co mais diversos problemas que afetam o uso do computador. Neste projeto tambm sero introduzidos os conceitos bsicos da rea e a a a de Inteligncia Articial (IAD), as duas sub-reas da IAD - a Resoluo e a ca Distribu de Problemas (RDP) e os Sistemas Multiagentes (SMA). da Outro tema que ser apresentado neste projeto, tema este que nos concena traremos, ser como melhorar a Qualidade de Servios de Busca na Internet. a c
em redes cooperativas de trabalho. Para melhor expor este dom nio de estudo, foi tratado neste projeto um estudo de caso para a concesso de crdito a e em banco. Tambm foi abordado um outro tema envolvendo a IAD: Mele horia da Qualidade de Servios de Busca na Internet, que utiliza conceitos c de IAD, onde sistemas especialistas so implementados para Resoluo Disa ca tribu de Problemas (RDP) visando obteno de resultados mais ecientes da ca e de melhor qualidade. O que Inteligncia Articial? e e A denio de Inteligncia Articial tem sido alvo de muita discusso ca e a entre os especialistas no assunto. Na tentativa de denir com preciso o que a Inteligncia Articial os especialistas adotam as mais diversas denies, e e co tomando a compreenso do assunto mais complexa. a Mas para se ter uma idia do assunto, algumas denies sero apresene co a tadas e comentadas. Elaine Rich e Kelvin Knight (1988) propuseram a seguinte denio: Inca teligncia Articial o estudo de como fazer os computadores realizarem e e coisas que, no momento, as pessoas fazem melhor. Na verdade, a construo de computadores que possam realizar as tarefas dif ca ceis melhor do que as pessoas tem tido um lento progresso, at mesmo abaixo da expectae tiva do que previam os especialistas nos primeiros dias da Inteligncia Artie cial. Alm disso, adeptos a este conceito associam a Inteligncia Articial e e a ` construo de robs com sentimentos. Devido a este apelo futur ca o stico, esta denio rejeitada. Arnold e Bowie (1986) denem IA como sendo a ca e 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 denio de IA:Inteligncia Articial a parte da ca e e Cincia da Computao concorrente ao projeto de sistemas computacionais e ca que exibem inteligncia humana:aprender novas informaes, entender line co guagens, raciocinar e resolver problemas. Winston (1979) arma que IA e o estudo de conceitos que permitem ao computador ser inteligente. Apesar das diversas conceituaes de IA, pode-se armar que Inco teligncia Articial um conjunto de tcnicas que permitem a soluo de e e e ca problemas que exigiriam do ser humano certo grau de racioc nio e per cia, Rabuske (l995).
1.1
Dentro da computao, a Inteligncia Articial responsvel por imporca e e a tantes aplicaes que sempre exigiram uma dose alta de esforo. Dentre co c estas aplicaes, pode-se destacar: Sistemas Especialistas, Processamento de co 6
1.1.1
Sistemas Especialistas
Os primeiros pesquisadores de IA desejavam projetar mquinas inteligentes a capazes de solucionar quaisquer problemas. Por se tratar de um desao muito grande, comearam primeiramente pelo desenvolvimento de sistemas capazes c de resolver problemas espec cos. Desta forma, durante a dcada de 70 surgiram vrios sistemas especiale a istas, dotados de boas bases de conhecimento podendo realizar tarefas que exigiam muito conhecimento especializado, algo que a maioria das pessoas no possui. a Dos Sistemas que mais se destacaram, esto o Mycin, um programa para a diagnosticar doenas infecciosas desenvolvido no in dos anos 70 pelo Dr. c cio Edward Shortlie, da Universidade de Stanford - EUA e o Prospector, um sistema para assessoria a gelogos na explorao mineral. o ca Mycin - O sistema MYCIN foi um dos primeiros Sistemas Especialista. Seu objetivo prover conselho a respeito de diagnstico e terapia de doenas e o c infecciosas. Este tipo de aconselhamento pode ser muito util, pois nem sem pre o mdico responsvel um especialista em infeces, principalmente em e a e co ambiente hospitalar. Uma seo do sistema inicia-se com um questionrio, a ca a ser respondido pelo usurio, a respeito do paciente. Informaes como nome, a co idade, sexo, tempo de manifestao dos sintomas, resultados de exames, etc. ca so solicitadas. A partir dessas informaes, e utilizando sua base de regras, a co o sistema capaz de estabelecer um diagnstico e propor uma terapia ade o equada. O sistema MYCIN utiliza o encadeamento regressivo associado a uma busca em profundidade. A busca realizada completa, no sentido em e que, dado um objetivo, todas as evidncias a favor e contra o objetivo so e a pesquisadas. Prospector - O sistema PROSPECTOR foi desenvolvido no SRI International (USA) com o objetivo de auxiliar geologistas envolvidos em prospeco ca mineral. A principal funo do sistema determinar a correspondncia entre ca e e dados que descrevem uma determinada situao com modelos que descrevem ca classes disjuntas de situaes poss co veis. Os modelos so descries formais a co dos tipos mais importantes de depsitos minerais e os dados de entrada se o referem a observaes geolgicas de superf co o cie. O conhecimento geolgico o e armazenado na forma de uma rede de inferncia : uma rede semntica onde e a 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 so independentes, isto , no existem arcos entre a e a eles. Apesar da representao em forma de grafo e do uso de probabilidades, ca os arcos de inferncia da rede podem ser interpretados como um conjunto de e regras. Alm dos arcos de inferncia, o sistema dispe de arcos de contexto e e o que indicam que um determinado fato um contexto necessrio a outro fato. e a O funcionamento do sistema dividido em duas partes. Inicialmente e o usurio fornece as informaes dispon a co veis sobre o local de prospeco. ca Estas informaes so representadas na forma de uma rede semntica que co a a 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 informaes co dispon veis, atravs de um mecanismo de encadeamento regressivo, para ree nar a anlise. Alguns fatos so ditos perguntveise durante o renamento a a a da anlise o sistema solicitar ao usurio as probabilidades associadas aos a a a fatos deste tipo, que sejam relevantes para a situao analisada. ca
1.1.2
Base de Conhecimento
Base de Conhecimento o conjunto de informaes que o sistema especialista e co utiliza para lidar com um tipo de problema. As informaes so represenco a tadas por um conjunto de regras de produo. Estas regras so um conjunto ca a de condies no estilo SE...ENTAO, com a incluso de conectivos lgicos co a o relacionando os atributos no escopo do conhecimento. Este tpico ser melo a hor explicado na seo 2.3. ca
1.1.3
Shell
So ferramentas criadas com o objetivo de transferir a base de conhecimento a de um Sistema Especialista para o computador. A principal funo da Shell ca interpretar o conhecimento representado e execut-lo em uma mquina, ape a a resentando assim concluses sobre os problemas apresentados a ele. A Shell o simplica ao mximo o trabalho de implementao de um Sistema Especiala ca ista, permitindo seu uso por qualquer pessoa. Uma das ferramentas o editor de regras. Ele permite gerar rapidae mente as bases de conhecimento de sistemas especialistas. Esta ferramenta tipicamente fcil de usar, utilizando-se expresses em linguagem natural e e a o expresses algbricas a m de compor a base de conhecimento. As novas reo e gras de entradas so conferidas contra as regras existentes para consistncia. a e Existem vrias opes de clculos de probabilidade que podem ser executados a co a sobre as regras. Este tpico ser melhor abordado na seo 2.11. o a ca
1.1.4
SINTA
O Expert SINTA uma ferramenta Shell desenvolvida pelo Grupo SINTA e do Laboratrio de Inteligncia Articial da Universidade Federal do Cear. O o e a Expert SINTA utiliza tcnicas de IA para criar Sistemas Especialistas usando e como modelo de representao do conhecimento regras de produo associca ca adas a clculos de probabilidade. Esta Shell dispe de um mecanismo oculto a o denominado mquina de inferncia que coloca ao usurio uma seqncia de a e a ue menus, sendo fornecidas respostas condizentes com o caso que hora se apresenta. Este sistema tambm oferece a possibilidade de incluir ajudas on-line e para cada base. Para isso o Expert SINTA possibilita a incluso de tpicos de a o ajuda para os valores poss veis de determinados atributos, fazendo com que o usurio utilize a resposta com ns prticos. Para tanto, deve-se associar a a a ` base um arquivo no formato ajuda do Windows. Este tpico ser melhor o a explorado na seo 2.5 ca
1.1.5
E uma rea de IA responsvel pela utilizao de dispositivos que fazem a a a ca traduo de uma linguagem para outra. Esta traduo abrange tanto a linca ca guagem 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 Padres o
E uma rea de IA muito subdividida. Pode-se citar como exemplos de aplia caes: reconhecimento de impresso digital, validao de assinatura em co a ca cheque, leitura e digitalizao de textos e etc. ca
1.1.7
Robtica o
Esta rea no somente responsvel pela criao de robs capazes apenas de a a e a ca o reproduzir tarefas e movimentos, mas tambm de robs dotados de dispose o itivos que funcionam como um crebro, onde so armazenados os Sistemas e a Especialistas, atribuindo a estes robs certo grau de conhecimento e autonoo mia.
1.1.8
Base de Dados Inteligentes aquela capaz de fazer racioc e nios e produzir resultados, propriedade esta que a maioria das bases de dados dos sistemas de 9
informao no possuem. O uso de tcnicas de IA para a criao de Base de ca a e ca Dados Inteligentes aumentar a produtividade dos sistemas de informaes, a co pois as avanadas tcnicas de IA beneciariam a recuperao de informaes. c e ca co
1.1.9
Jogos
Os jogos possuem um nmero pequeno de normas, mas que possibilitam uma u grande combinao de aes, tornando-os complexos. Portanto, torna-se um ca co vasto campo para que a computao possa realizar experimentos e testes. Os ca experimentos j produziram bons resultados, pois atualmente o computador a tem se tornado um instrumento para diverso. a
1.2
Representao do Conhecimento em IA ca
A parte mais importante no projeto de um SE a escolha do mtodo de e e representao de conhecimento. A linguagem associada ao mtodo escolhido ca e deve ser sucientemente expressiva, permitindo a representao do conhecica mento a respeito do dom nio escolhido de maneira completa e eciente. Em tese, uma representao geral como a lgica seria sucientemente expressica o va para representar qualquer tipo de conhecimento. No entanto, problemas de ecincia, facilidade de uso e a necessidade de expressar conhecimento e incerto e incompleto levaram ao desenvolvimento de diversos tipos de formalismos de representaao de conhecimento. A seguir, apresentam-se alguns c dos formalismos de representao de conhecimento mais utilizados. ca
1.2.1
Lgica o
A lgica a base para a maioria dos formalismos de representao de conhecio e ca mento, seja de forma expl cita, como nos SEs baseados na linguagem Prolog, seja disfarada na forma de representaes espec c co cas que podem facilmente ser interpretadas como proposies ou predicados lgicos, por exemplo, as co o listas da forma: ((atributo),(objeto),(valor),(coeciente de certeza))
1.2.2
Redes Semnticas a
Rede semntica um nome utilizado para denir um conjunto heterogneo de a e e sistemas. Em ultima anlise, a unica caracter a stica comum a todos estes sistemas a notao utilizada: uma rede semntica consiste em um conjunto de e ca a nodos conectados por um conjunto de arcos. Os nodos em geral representam 10
objetos e os arcos, relaes binrias entre esses objetos. Mas os nodos podem co a tambm ser utilizados para representar predicados, classes, palavras de uma e linguagem, entre outras poss veis interpretaes, dependendo do sistema de co redes semnticas em questo. a a A utilizao do formalismo de nodos e arcos para a representao de ca ca conhecimento foi proposta por Quillian. No seu artigo, Quillian prope um o modelo computacional da memria humana chamado memria semntica . o o a Este modelo, onde conceitos so representados por nodos, e relaes entre a co conceitos, por arcos, explica diversos resultados experimentais sobre o comportamento da memria humana, como, por exemplo, o fato de que o reo conhecimento 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 semnticas desenvolvidas ulteria ormente j estavam presentes na proposta de Quillian. a Figura 1 Exemplo 1: Considere a rede semntica da gura 1, que representa a conceitos relacionados com mobilirio [Ric83]. Os arcos -um e -parte so a e e a bastante comuns em sistemas de redes semnticas. Este tipo de arco utia e lizado para determinar a herana de propriedades. Os demais arcos (dono, c cor, estofamento) so espec a cos do dom nio e representam propriedades de conceitos. Esses arcos so chamados traos. a c Durante os anos setenta, o formalismo de redes semnticas foi utilizado a na implementao de diversos sistemas para a compreenso de linguagem ca a natural. O sistema HAM [AB73] e o sistema Active Structural Network [RN75] so dois exemplos deste tipo de sistemas. a Dois artigos publicados em 1975 tiveram uma grande inuncia na e pesquisa relacionada `s redes semnticas: o artigo de Minsky [Min75], proa a pondo o formalismo de quadros, e o artigo de Woods [Woo75], analisando o signicado dos arcos nas redes semnticas. O artigo de Minsky introduziu a a noo de nodos com estrutura interna, criando uma nova forma de repreca sentao de conhecimento, derivada das redes semnticas, chamada quadros. ca a O artigo de Woods chamou a ateno para a necessidade de uma semntica ca a formal que fundamentasse os sistemas baseados em redes semnticas. Este a artigo foi seguido de uma srie de outros, onde as redes semnticas eram e a associadas ao formalismo lgico. Alguns destes artigos utilizavam as redes o semnticas apenas como uma notao sinttica alternativa para frmulas a ca a o lgicas; outros apresentavam as redes semnticas como um mtodo indeo a e pendente de representao de conhecimento, utilizando o formalismo lgico ca o apenas como ferramenta para a denio de uma semntica para nodos e ca a arcos. A herana de propriedades atravs de caminhos formados por arcos c e e 11
uma das caracter sticas mais importantes do mtodo de representao por e ca redes semnticas. Esta caracter a stica permite que propriedades de um nodo sejam especicadas apenas uma vez, no mais alto n de uma hierarquia de vel conceitos, sendo herdadas por todos os conceitos derivados, implicando uma economia substancial de memria. Os algoritmos de herana utilizados em o c redes semnticas na forma de rvores so bastante simples e muito ecientes, a a a mas se heranas mltiplas forem permitidas, especialmente na presena de c u c arcos que denam excees, o problema da determinao de caminhos de co ca herana se torna bastante complexo. Mais grave ainda o fato de que na c e presena de herana mltipla e excees, a intuio sobre o que uma pol c c u co ca e tica de herana coerente passa a ser discut c vel, levando diferentes sistemas a implementarem diferentes pol ticas de herana [THT87]. c
Figura 2: O problema das excees em redes semnticas co a Alm da herana de propriedades, um outro mecanismo de inferncia utie c e lizado em redes semnticas a correspondncia de um fragmento de rede em a e e relao a uma rede dada. A especicao da semntica deste mecanismo ca ca a e ainda mais complexa que a do mecanismo de herana, por depender da escolc ha do signicado dos arcos da rede. Estes arcos receberam uma variedade de signicados; uma reviso das diferentes interpretaes pode ser encontrada a co em [BFL83]. 12
1.2.3
Quadros
Quadro uma estrutura de dados que pode ser usada para representar quale quer entidade real ou imaginria, objetos ou conceitos. O quadro constia e tu por um nome e um conjunto de atributos chamados Slots, onde so do a colocadas as informaes ligadas ao objeto. co Ex: Quadro: Cadeira do Renato Slot: nmero de pernas - 4 u Slot: tipo de assento - anatmico o Slot: numero de braos - nenhum c Slot: cor - incolor Os quadros (do ingls, frames), e sua variao, os roteiros (do ingls, e ca e scripts), foram introduzidos para permitir a representao das estruturas ca internas dos objetos, mantendo a possibilidade de representar a herana de c propriedades como as redes semnticas a faz. a As idias fundamentais destes mtodos foram introduzidas por Marvin e e Minsky [Min75] em seu artigo A framework to represent knowledge. As aplicaes propostas por Minsky para o novo mtodo foram anlise de cenas, co e a modelagem da percepo visual e compreenso de linguagem natural. No ca a entanto, o artigo no prope uma metodologia de implementao, nem uma a o ca denio formal do mtodo. Desde 1975, diversos sistemas foram implemenca e tados baseados na idia de quadros, e diversas denies formais foram proe co postas. O mtodo de quadros tambm est na origem das idias que levaram e e a e a `s linguagens de programao orientadas a objetos. Os roteiros foram proca postos por Schank e Abelson [SA75], [SA77], e consistem em sistemas de quadros especializados na descrio de seqncias de eventos. ca ue
13
Figura 3 Em geral, um quadro consiste em um conjunto de atributos que, atravs e 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 dependncias entre os quadros. Os quadros so tambm e a e organizados em uma hierarquia de especializao, criando uma outra dica menso de dependncia entre eles. Os atributos tambm apresentam proa e e priedades, que dizem respeito ao tipo de valores e `s restries de nmero a co u que podem ser associados a cada atributo. Essas propriedades so chamadas a facetas . Exemplo: Quadros descrevendo um cmodo e uma sala so mostrados o a na gura 6. Por esta descrio, pode-se concluir que uma sala um tipo de ca e cmodo, normalmente com quatro paredes e de formato retangular, com um o mobilirio espec a 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 semnticas, os sistemas baseados no a mtodo de quadros no so um conjunto homogneo; no entanto, algumas e a a e idias fundamentais so compartilhadas por estes sistemas. Uma dessas e a idias o conceito de herana de propriedades, o que permite a especie e c cao de propriedades de uma classe de objetos atravs da declarao de que ca e ca esta classe uma subclasse de outra que goza da propriedade em questo. A e a herana pode ser um mecanismo de inferncia muito eciente em dom c e nios que apresentem uma taxonomia natural de conceitos, como a biologia ou a paleontologia. Outra idia comum aos dois tipos de sistemas baseados em quadros e e o racioc nio guiado por expectativas. Um quadro contm atributos, e estes e atributos podem ter valores t picos ou, a priori, os chamados valores de exceo (do ingls, default values). Ao tentar instanciar um quadro para ca e que corresponda a uma situao dada, o processo de racioc ca nio deve tentar preencher os valores dos atributos do quadro com as informaes dispon co veis na descrio da situao. Para o processo de racioc ca ca nio, saber o que procurar para completar a informao necessria (e caso esta no esteja dispon ca a a vel, que valores tentativos atribuir aos atributos no preenchidos) pode ser um a fator fundamental para a ecincia do processo de reconhecimento de uma e situao complexa. ca Uma terceira idia a ligao procedimental . Alm dos valores por e e ca e default, um atributo pode ser associado a um procedimento que deve ser executado quando certas condies forem satisfeitas, por exemplo: ao ser co criado o atributo, ao ser lido o valor do atributo, ao ser modicado o valor do atributo, ou ao ser destru o valor do atributo. do
1.2.4
Roteiros
Os roteiros so estruturas de dados que descrevem seqncias estereotipadas a ue de eventos em um contexto particular. O racioc nio com roteiro serve especialmente para vericar se determinado evento ocorreu e tambm para vere icar a relao entre os eventos, que pode ser obtido pelo exame da cadeia ca causal. Esta cadeia causal a seqncia com que os eventos so descritos no e ue a roteiro.
1.2.5
Regras de Produo ca
Este mtodo foi idealizado pelo matemtico Emil Post (1943) e constitui um e a conjunto de regras que envolvem condies e aes. A condio constitu co co ca e da por um padro que determina a aplicabilidade de regra, enquanto a ao a ca 15
indica o que ser realizado quando a regra for aplicada. A parte Condio a ca da regra possui varias denominaes :lado esquerdo, antecedente ou premisco sa, enquanto a parte que expressa a ao a ser executada denomina-se lado ca direito ou conseqente. Um sistema poder ser formado por uma ou mais u a bases de regras que podem estar separadas segundo as exigncias do funcionae mento do problema. As Regras de Produo so a forma de representao ca a ca mais usada em IA.
16
2.1
Sistemas Especialistas so programas de computador que procuram resolver a problemas do mesmo modo que especialistas humanos. So possuidores de a um conhecimento especializado sobre reas restritas do conhecimento. a Para tanto, os Sistemas especialistas devem possuir um conhecimento poderoso que facilite a busca da resposta requerida.
2.2
Um Sistema Especialista genrico possui uma arquitetura como mostra a e Figura 4 abaixo: Figura 4: Arquitetura de um Sistema Especialista
17
2.2.1
Base de Conhecimento
Base de Conhecimento o conjunto de informaes que o SE utiliza para lidar e co com um tipo de problema. A base de conhecimento considerada o mdulo e o mais importante da Arquitetura de um sistema especialista, pois como disse Feigenbaum, em 1.983, A potncia de um sistema especialista deriva do e conhecimento que ele possui e no dos formalismos e esquemas espec a cos que ele emprega. O conhecimento de uma Base de Conhecimento pode ser representado pelas diferentes formas de representao do conhecimento, conforme foi visto ca na seo 1.2, mas as regras de produo so as formas mais usadas. No ca ca a a a forma de representao ou o volume de conhecimento que distingue o e ca sistema especialista das demais bases de dados, mas a capacidade de obter informaes no contidas na base de conhecimento atravs de um somatrio co a e o de fatos e de heur sticas. Mquina de Inferncia, mecanismo de aprendizagem e quadro negro so a e a os principais mdulos da arquitetura de um Sistema Especialista com os quais o a Base de conhecimento est interligada. a
2.2.2
Mquina de Inferncia a e
Mquina de Inferncia o mdulo responsvel pelo racioc a e e o a nio, no caso de um sistema especialista baseado em regras de produo. Utiliza duas tcnicas ca e para soluo de problemas: forward chainning (encadeamento para frente) ca e backward chainning (encadeamento para trs). a Este mdulo implementado atravs de softwares que podem ser adquirio e e dos ou ento ser elaborados, dependendo da especicao do problema. Em a ca ambos os casos existem vantagens e desvantagens. Os softwares adquiridos para funcionarem como mquina de inferncia nem sempre so ecientes, a e a pois no so precisos na justicao de resposta. J os softwares elaborados a a ca a permitem inserir detalhes para satisfazerem melhor as respostas, no entanto implicam em custo e tempo adicionais. Encadeamento para frente - Forward Chaining Este mtodo aplicado em bases de conhecimento representado atravs das e e e regras de produo. Quando o usurio fornecer respostas `s perguntas do Sisca a a tema Especialista, este mtodo faz referncia `s informaes armazenadas no e e a co banco de conhecimentos aplicando as tcnicas do encadeamento para frente e para fornecer concluses e resultados que o usurio precise. Um Sistema Eso a pecialista que implementado atravs do encadeamento para frente funciona e e
18
atravs dos seguintes passos: e 1. O sistema pede uma ou mais condies para o usurio; co a 2. Para cada condio, o sistema pesquisa em sua base de conhecimento ca as regras que contenham essa condio na parte SE da regra; ca 3. Cada regra pode, por sua vez, gerar novas condies a partir das conco cluses da parte ENTAO que for chamada; o 4. Essas novas condies so incorporadas ao sistema onde processada. co a e Se houver tal condio, o sistema volta ao passo 2 e pesquisa novamente ca as regras na base de conhecimento. Se no houver nenhuma condio a ca nova, a sesso termina. a Exemplo usando encadeamento para frente Eis aqui um conjunto simples de regras que podem fazer parte de um sistema especialista em mercado de aes. co Regra 1 SE TAXA DE JUROS = BAIXA ENTAO BOLSA DE VALORES = ALTA Regra 2 SE TAXA DE JUROS = ALTA ENTAO BOLSA DE VALORES = BAIXA Regra 3 SE COTACAO DO DOLAR = BAIXA ENTAO TAXA DE JUROS = ALTA Regra 4 SE COTACAO DO DOLAR = ALTA ENTAO TAXA DE JUROS = BAIXA Usando essas regras pode-se montar uma empresa em consultoria em mercado de aes. Um cliente visita a empresa e diz que a cotao do co ca dlar est caindo em relao ao valor da moeda das principais naes o a ca co industrializadas. Ele quer saber o que fazer no mercado de aes. Obco viamente, o objetivo fazer bons negcios na Bolsa de Valores, mas e o se o cliente ter ou no lucros ser decidido por condies ainda no a a a co a determinadas. Deve-se lembrar que os sistemas de encadeamento para frente fazem prognsticos atravs da anlise de condies denidas na o e a co parte SE da regra e chegam a concluses denidas na parte ENTAO. o Nesse caso a condio COTACAO DO DOLAR = BAIXA ca e Analisando as regras, verica-se que a regra 3 continha COTACAO DO DOLAR em sua clusula SE. Ou seja: a Regra 3 SE COTACAO DO DOLAR = BAIXA ENTAO TAXA DE JUROS = ALTA 19
A partir da pode-se concluir que a taxa de juros ir subir. Analisando o a restante das regras SE-ENTAO em relao ` COTACAO DO DOLAR, ca a ela encontrada novamente na regra 4. Mas a clusula SE COTACAO e a DO DOLAR = ALTA no coincide com a condio conhecida da queda a ca das cotaes do dlar. Portanto a regra 4 no aplicada. Ainda no co o a e a terminou, porque a regra 3 apresentou uma nova condio: TAXA DE ca JUROS = ALTA Agora deve-se analisar as regras para ver se essa condio leva a outras ca concluses, e verica-se que a regra 1 no aplicada, mas que a regra o a e 2 . e A cadeia prossegue com a introduo de uma nova condio: BOLSA ca ca DE VALORES = BAIXA Ainda no terminou. Deve ser vericado todas as regras em relao a a ca essa nova condio. Pesquisando todas as clusulas SE, verica-se que ca a nenhuma delas contm BOLSA DE VALORES. Assim a sesso est e a a encerrada, sendo entregue ao cliente o relatrio que se segue: Quando o a cotao do dlar est em baixa, as taxas de juros sobem e a Bolsa de ca o a Valores ca em baixa. Encadeamento para trs - Backward Chaining a E utilizado em Sistemas Especialistas que podem chegar a um grande nmero de concluses, mas que no possuem meios sucientes para u o a alcan-los. Assim como no encadeamento para frente, usado em SE ca e baseado em regras. Fundamenta-se na recurso, um mtodo eciente a e de programao. ca Um SE que utiliza o encadeamento para trs funciona utilizando os a seguintes passos: (a) A mquina de inferncia encarrega-se de encontrar valores para a e as condies ou objetivos que j so inclu co a a dos pelo projetista na denio da base em uma estrutura denominada lista de objetivos; ca (b) Estes valores podem ser encontrados nas concluses, isto , na o e das regras. Para tanto, o Sistema Especialista(SE) parte ENTAO pesquisa em seu banco de conhecimento as regras que contenham esse objetivo na parte ENTAO; (c) Quando uma regra encontrada, para que a parte ENTAO seja e aceita, suas premissas devem ser satisfeitas, obrigando a mquina a 20
a encontrar atributos para as variveis de condio para se poder a ca efetuar um julgamento das mesmas; (d) Para poder encontrar atributos para estas variveis, o S.E. volta a ao passo 2, acionando um encadeamento recursivo; (e) Caso o atributo procurado no seja encontrado em nenhuma cona cluso de regra, uma pergunta feita ao usurio. a e a O Expert SINTA utiliza o encadeamento para trs, mas poss a e vel simular o encadeamento para frente tambm. Para tanto, as variveis e a ou condies que o usurio deseja encontrar devem ser colocadas na co a lista de objetivos. Exemplo usando encadeamento para trs a Neste exemplo tambm ser utilizada o conjunto de regras de um sise a tema especialista em mercado de aes: co Regra 1 SE TAXA DE JUROS = BAIXA ENTAO BOLSA DE VALORES = ALTA Regra 2 SE TAXA DE JUROS = ALTA ENTAO BOLSA DE VALORES = BAIXA Regra 3 SE COTACAO DO DOLAR = BAIXA ENTAO TAXA DE JUROS = ALTA Regra 4 SE COTACAO DO DOLAR = ALTA ENTAO TAXA DE JUROS = BAIXA Agora ser vericado o que acontece no mercado de aes se a bolsa de a co valores estiver em queda. Neste caso, a varivel objetivo ser BOLSA a a DE VALORES. Analisando a base em busca de regras que contenham a varivel objea tivo BOLSA DE VALORES, ela encontrada na regra 1. e A regra 1 selecionada e a varivel de clusula desta regra, TAXA DE e a a JUROS, inserida no topo da pilha de variveis objetivo. Verica-se e a ento se esta varivel j foi instanciada. Como ainda no foi instancia a a a ada, iniciada uma busca na base para encontrar regras que tenham e a varivel TAXA DE JUROS na parte ENTAO. Ela encontrada na a e regra 3. A regra 3 selecionada e a varivel de clusula desta regra COTACAO e a a DO DOLAR inserida no topo da pilha de variveis objetivo. Vericae a se ento se esta varivel j foi instanciada. Como ainda no instancia a a a ada, iniciada uma busca na base para encontrar regras que tenham e 21
a varivel COTACAO DO DOLAR na parte ENTAO. Como ela no a a est na parte ENTAO de nenhuma regra da base, feita uma perguna e ta: A cotao do dlar est em baixa ou em alta? Considerando que a ca o a resposta seja baixa a varivel COTACAO DO DOLAR instanciada a e com BAIXA. A clusula da regra 3 analisada e como verdadeira, a parte ENTAO a e e aceita e a varivel TAXA DE JUROS instanciada em ALTA. e a e A varivel COTACAO DO DOLAR retirada do topo da pilha de a e variveis objetivo e a prxima varivel a ser selecionada a varivel a o a e a TAXA DE JUROS. A busca por regras que contenham a varivel objetivo TAXA DE JUa ROS retomada e encontrada na regra 4. Como a varivel da clusula e e a a desta regra j foi instanciada em BAIXA, a clusula falsa e a parte a a e e ENTAO descartada. A busca por regras que contenham a varivel a objetivo TAXA DE JUROS termina e como ela j foi instanciada, ela a retirada da pilha de variveis objetivo. e a A prxima varivel a ser selecionada na pilha de variveis objetivo o a a e a varivel BOLSA DE VALORES. Como inicialmente esta varivel foi a a da regra 1 e a varivel de clusula dessa encontrada na parte ENTAO a a regra (TAXA DE JUROS) j foi instanciada em ALTA, a clusula a a e analisada e considerada falsa. A busca por regras que tenham BOLSA DE VALORES na parte ENTAO continua e encontrada na regra 2. Como a varivel de e a clusula da regra da foi instanciada em ALTA, a premissa analisada a e e considera verdadeira, insntanciando-se novamente a varivel BOLSA a DE VALORES como BAIXA. A busca por regras que tenham a varivel BOLSA DE VALORES na a retomada. Como no encontrada mais nenhuma parte ENTAO e a e ocorrncia da varivel BOLSA DE VALORES na parte ENTAO das e a demais regras e por no existirem mais variveis objetivos na pilha de a a variveis objetivos na pilha de variveis objetivos, a consulta encera a e rada e a sesso termina. Assim, o seguinte relatrio mostrado: Com a o e a bolsa de valores em baixa, a taxa de juros aumenta e a cotao do ca dlar cai. o
22
2.2.3
O Quadro Negro
O quadro negro, ou blackboard considerado a rea de trabalho de e a um sistema especialista. Contm informaes e fatos sobre o assunto em e co pauta, oferecendo um suporte ao funcionamento do sistema especialista. Segundo Hayes Roth (1983), o quadro negro formado por um conjunto e de 3 mdulos independentes. o O primeiro mdulo, conhecido como plano de atuao trabalha direo ca tamente com o interpretador de regras e com o justicador. O interpretador responsvel pela validao das condies da regra, relacionando e a ca co variveis a estas condies. a co O segundo mdulo denominado de agente, responsvel pela o e a escalonao das regras, isto , qual regra ser executada no instante ca e a seguinte. O terceiro mdulo, conhecido como soluo responsvel pelo aro ca e a mazenamento das poss veis solues que serviro para compor as reco a spostas para o problema.
2.2.4
Sistema de Justicao ca
E o modulo capaz de permitir ao usurio realizar um questionamento a sobre uma soluo fornecida ao mesmo. So exemplos de justicao ca a ca as seguintes perguntas: Como chegou a esta concluso? Porque chegou a a esta concluso? Porque no chegou a tal outra concluso? a a a
2.2.5
Mecanismos de Aprendizagem
E um mdulo capaz de realizar algumas aes que visam melhorar o o co desempenho do sistema e a qualidade das respostas. Estas aes perco mitem que sejam feitos acrscimos e alteraes na base de conhecimento e co atravs da depurao da base de conhecimento, reordenao de priore ca ca idades e estabelecimento de mecanismos de controle para a expanso a de rvore de busca. a
2.2.6
E o mdulo que permite acrescentar e alterar o conhecimento de um o Sistema Especialista. Estas tarefas so realizadas com o aux de a lio 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 o modulo dotado de recursos para consulta e que permite aos usurios acessar sem maiores diculdades o sistema a especialista, haja visto que o usurio no conhece a estrutura do S.E. a a e nem as formas de representao do conhecimento. ca
2.2.8
Processador de Linguagem
Este mdulo responsvel por estabelecer uma linguagem orientada o e a para o S.E. a m de suprir os requisitos de linguagem tcnica da come putao. Este modulo entra em ao toda vez que o usurio estiver ca ca a acessando o Sistema Especialista.
2.4
Ferramenta utilizada
O SE par Diagnstico e Solues de Problemas em Microcomputadores o co foi desenvolvido atravs da ferramenta Shell Expert SINTA, verso e a 1.1b, software este que tem como principal objetivo a gerao auca tomtica de sistemas especialistas, onde a representao do conhecia ca mento baseada em regras de produo e uso de probabilidades. Dene ca tre suas caracter sticas podemos destacar:
24
(a) Utilizao de mquina de inferncia compartilhada fundamentada ca a e no encadeamento para trs (bacward chainning); a (b) Construo automtica de telas e menus; ca a (c) Tratamento probabil stico das regras de produo, atravs do uso ca e de fatores de conana; c (d) Explicaes sens co veis ao contexto da base de conhecimento; (e) Adequao com problemas de classicao; ca ca
2.4.1
O SE para Diagnstico e Solues de Problemas em Microcomo co putadores foi desenvolvido utilizando-se como forma de representao do conhecimento um conjunto de regras de produo capazes ca ca de auxiliar na soluo dos problemas mais comuns que um comca putador est propenso a apresentar. Surgiram algumas dvidas a u sobre quais seriam esses problemas. Foram selecionados problemas tanto de hardware quanto de software a m de enriquecer a capacidade de resoluo, ou seja, a capacidade de resolver um ca maior nmero de problemas. u Para a construo das regras de produo, recorreu-se ao aux ca ca lio de livros tcnicos, revistas especializadas e experincias adquirie e das. As regras de produo foram armazenadas em sua base de ca conhecimento. Essas regras so manipuladas pela mquina de ina a ferncia durante uma consulta e fundamentada no encadeamento e e para trs. Desta forma, numa consulta somente so avaliadas as a a regras relacionadas com a situao atual do problema. ca
2.4.2
Requisitos Bsicos a
Para instalar o SE para Diagnstico e Soluo de Problemas em o ca Microcomputadores, necessrio denir os requisitos bsicos de e a a execuo do mesmo. Como foi desenvolvido utilizando-se a Shell ca Expert SINTA, necessita-se de um computador equipado com sistema operacional Windows 95 ou superior. Vale lembrar que as condies m co nimas de hardware do Windows satisfazem as condies de execuo da aplicao. Contudo, co ca ca e necessrio que haja no m a nimo 5MB de espao dispon em disc vel co para a instalao da Shell e da aplicao. O software Expert ca ca 25
SINTA verso 1.1b pode ser obtido no site www.lia.ufc.br, juna to ao grupo SINTA. E importante salientar que a execuo da ca aplicao utilizando os recursos m ca nimos de hardware, afeta consideravelmente o tempo de execuo, ou seja, quanto mais robusta ca a aplicao, maior capacidade de hardware exigida. ca e
2.4.3
Apesar do SE para Diagnstico e Soluo de Problemas em Mio ca crocomputadores conter mdulos bastante simples, existem outo ros que exigem conhecimentos relativamente mais avanados, onde c apenas pessoas com alguma experincia na rea so capazes de ine a a teragir com o mesmo. Portanto, para que a aplicao apresente ca resultados satisfatrios, sua utilizao indicada para aqueles que o ca e possuam n de conhecimento intermedirio e que tambm estevel a e jam familiarizamos com o uso da linguagem tcnica dos computae dores.
2.4.4
Restries da Aplicao co ca
Devido ao curto per odo de tempo dispensado para a elaborao ca do projeto, a aplicao desenvolvida no tem a pretenso de reca a a solver todo e qualquer problema inerente a falhas de computadores. Contudo houve esforo cont c nuo na busca de respostas aos casos mais comuns que um dispositivo aleatrio poderia apreseno tar. Aps um nmero considervel de questes levantadas junto ao o u a o usurio, o SE para Diagnstico e Soluo de Problemas em Microa o ca computadores tenta chegar a concluses que satisfaam a soluo o c ca do problema,porm existem situaes em que todas as alternatie co vas poss veis no conduzem ` soluo. Nesses casos, o SE para Dia a ca agnstico e Soluo de Problemas em Microcomputadores conclui o ca que no se pode atingir uma soluo, cando a cargo do usurio a ca a tentar outros tipos de diagnsticos de falhas. o
2.4.5
Finalidade da Aplicao ca
O propsito principal do desenvolvimento da aplicao, alm de o ca e ilustrar a funcionalidade de um SE, est voltado ao aux na a lio
26
busca de solues para problemas relativos ` falhas de computaco a dores. Com isso, podemos estender sua utilizao tambm para ca e ns de treinamento par aqueles que possuam conhecimento terico o e pouca experincia prtica, incluindo-se nesta situao, tcnicos e a ca e e analistas recm-formados. e
2.4.6
Teste e Avaliao ca
Como o SE para Diagnstico e Soluo de Problemas em Mio ca crocomputadores foi desenvolvido atravs da implementao de e ca mdulos independentes, cada processo pertencente a um mdulo, o o foi testado e avaliado de forma que todas suas possibilidades fossem abrangidas. Assim sendo, todas as respostas, as interaes co com o usurio, as aceitaes, a credibilidade e a preciso foram a co a sendo avaliadas ` medida que o sistema era implementado. a
2.4.7
Reviso a
O processo de reviso utilizado na implementao do SE para a ca Diagnstico e Soluo de Problemas em Microcomputadores foi o ca feito de forma cont nua, ou seja, ` medida que o sistema era ima plementado. Como esta uma etapa posterior a etapa de teste e e avaliao, as alteraes foram feitas melhorando os aspectos probca co lemticos levantados na referida etapa. a
27
28
3.2
Breve Histrico o
As pesquisas acadmicas em Inteligncia Articial Distribu e e da (IAD) comearam nos anos 70, poca em que ocorreram as c e primeiras experincias para resolver problemas de modo cooperae tivo. Vale destacar entre essas primeiras experincias o projeto HEARSAY e II, que se tratava de um sistema para reconhecimento de fala. Na dcada de 80, quando se iniciou a discusso sobre a utilizao de e a ca modelos organizacionais humanos em sistemas computacionais, os trabalhos de Inteligncia Articial Distribu se concentravam e da em aplicaes de reconhecimento de palavras, interpretao de co ca sensores e controle de robs. o Na rea de robtica foram testados os chamados robs reativos, a o o cuja idia bsica era a de utilizar uma arquitetura simples, e a baseada em comportamentos elementares, para projetar um rob o autnomo. Atualmente aplicaes no campo da Inteligncia Artio co e cial Distribu no param de se multiplicar. da a 29
3.3
Conceitos Bsicos a
A seguir, sero introduzidos alguns conceitos bsicos de Ina a teligncia Articial Distribu (IAD), como agentes, sociedades, e da ambientes, organizaes e interaes, que sero utilizados nas co co a sees subseqentes. co u 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 aes deve co tomar. O termo ativo tem como objetivo indicar que o agente est ligado a um mecanismo de controle para sua ativao. As a ca entidades passivas formam o ambiente. O conjunto de agentes forma uma sociedade. O termo interao designa as trocas de informao que podem ca ca ocorrer entre os agentes. Organizao descreve as restries aplica co cadas aos agentes pertencentes a uma sociedade.
temas que suportem os diferentes requisitos necessrios a cada a agente pertencente ao sistema. Alguns destes problemas tm sido pesquisados por pesquisadores e de outras reas, como por exemplo em sistemas distribu a dos e lgica. No entanto, a IAD tem por objetivo reunir tais problemas o num mesmo contexto cient co.
3.6
Sistemas Multiagentes
O principal objetivo desta rea oferecer meios para que os a e agentes possam cooperar na resoluo de um problema espec ca co quando este for apresentado ao sistema. Para tanto, apresenta as seguintes caracter sticas: i. Concepo: os agentes so concebidos independentemente de ca a um problema particular a ser resolvido, isto , no so entie a a dades capazes de realizar um processamento espec co para resolver um problema particular, mas sim capazes de realizar qualquer processamento; ii. Interao: so desenvolvidos protocolos de interaes genricos, ca a co e isto , que podem ser utilizados em vrias aplicaes; e a co iii. Organizao: os agentes so implementados com todas as funca a cionalidades necessrias para resoluo de um problema; a ca iv. Controle do Sistema: no existe um controle global do sisa tema, este implementado de forma totalmente descentrale izada. A gura 5 permite uma melhor compreenso do funcionamento do a modelo de SMA para soluo de um problema. ca Figura 5
32
ar planos consiste em um meio de cada agente poder planejar suas aes, considerando as aes potenciais de outros agentes, isto , co co e cada agente deve possuir conhecimento de algumas caracter sticas de outros agentes (racioc nio social). Cada agente tem uma viso limitada da situao global, o que a ca no suciente para resolver o problema. A interao entre os a e ca mltiplos especialistas ou agentes torna-se necessria para resolver u a o problema. Para tanto, os agentes tm permisso de comunicar-se e a de forma limitada para compartilhar objetivos comuns e trabalhar neles.
3.8
Aplicaoes da IAD c
Sistemas de Inteligncia Articial Distribu so a classe de e da a sistemas que permite a vrios processos autnomos, chamados a o agentes, realizarem atos de inteligncia global atravs de procese e samento local e comunicao interprocessos. Enm, a meta de ca 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 no seria am resolvidos com a tecnologia tradicional. Com a IAD a base de conhecimentos pode ser subdividida em reas, assim como o a problema. Dessa maneira, cada processo procura um problema, resolve a sua parte e devolve os dados trabalhados ` base, para a que um outro processo identique o seu padro e possa seguir a manipulando os mesmos dados, adiantando mais a resoluo do ca problema em questo. a Como exemplo de uma situao real do emprego da IAD, temos ca o sistema de defesa dos EUA. O sistema composto de mais de e um sistema especialista, todos com a mesma funo, contudo com ca formas diferenciadas de armazenar e decidir sobre os problemas. Dessa maneira, para uma resoluo ser feita, mais de um sistema ca deve chegar na mesma soluo, de formas diferentes e por mtodos ca e diferentes. O sistema composto por um nmero e u mpar de processos distribu dos para que no ocorra empate de decises. Ao a o se projetar um sistema especialista distribu do, devem ser feitas algumas perguntas bsicas como: a O que um agente ir dizer ao outro?, Que linguagem eles usaro?, a a 34
O que eles devem descrever? e etc. E muito importante, como em qualquer projeto, que seja feita uma excelente anlise do problema para que o custo de uma reestrutua rao seja minimizado. ca
3.8.1 istas
No campo da IAD, tem havido um crescente interesse na pesquisa e desenvolvimento de sistemas que permitem a participao de ca sistemas especialistas j existentes em redes cooperativas de traa balho[ ]. Este problema de grande importncia devido a suposio bsica e a ca a que a heterogeneidade de sistemas inerente ao universo da e cincia da computao. Isto no signica que os esforos para e ca a c padronizao so inteis, muito pelo contrrio. Entretanto, estes ca a u a esforos sempre deixam para trs novas aplicaes e tecnologias c a co que saem dos laboratrios de pesquisa e das indstrias que proo u duzem programas. At h poucos anos atrs, a linha de pesquisa predominante da e a a IAD respondia ` necessidade de desenvolvimento de sistemas para a sistemas cooperativos. O foco causou uma concentrao inicial nos ca aspectos mais fundamentais do campo, por exemplo, estratgias de e cooperao, dinmica de comunicao de agentes, arquitetura de ca a ca agentes, etc. Conforme se progrediu nestes aspectos, tm havido e experimentaes em diferentes ambientes de programao para co ca sistemas cooperativos. Vrios grupos de pesquisa tm empreendido a tarefa de integrar a e estes agentes cooperativos em sistemas mais amplos que assegurem interoperabilidade de sistemas heterogneos. Exemplos disso so e a os sistemas Carnot[ ] e Archon[ ]. A aplicao desses sistemas na indstria e no setor de servios fez ca u c perceber novas dimenses de problemas, sendo que duas das mais o importantes so: a i. Heterogeneidade na representao do conhecimento, na base ca de dados, nas linguagens de programao, e na comunicao ca ca de servios; c ii. Integrao: conceito que assegura o funcionamento harmoca niosamente do conjunto de aplicaes, sistemas e servios; co c 35
Em 1990, um projeto desenvolvido na MCC, sob a direo de ca Michael Huhns, marcou o in de estudos mais espec cio cos. Assim como os sistemas Carnot e Archon, esse projeto consistia do desenho de uma rede de comunicao para conectar sistemas especa cialistas existentes. Esta intercomunicao permite a distribuio ca ca de dados e concluses, facilitando assim o trabalho cooperativo na o soluo de problemas mais complexos. ca A proposta de Huhns consistia na criao de uma rede de mdulos ca o que assegurasse a comunicao dos sistemas especialistas, focalca izando principalmente a comunicao e administrao das partes ca ca da rede, prevenindo principalmente, o problema do impasse nos dilogos. Neste projeto identica-se a necessidade de se ter um a mdulo adicional cuja funo garantir a cooperao entre os siso ca e ca temas especialistas, isto , coordenar a chamada dos sistemas ese pecialistas envolvidos na soluo cooperativa de um determinado ca problema. Metfora de uma Rede Cooperativa a O objetivo desta seo apresentar o esboo de uma rede de coca e c operao, que tambm pode ser denominada junta cooperativa, ca e que incorpora os mdulos de cooperao necessrios para que siso ca a temas especialistas correntemente em us resolvam problemas cooperativamente. Esta proposta faz parte de um projeto a longo prazo, chamado RESH que estava sendo desenvolvido pelo Laboratrio Nacional de Informtica Avanada (LANIA) da cidade de o a c Vera Cruz no Mxico[ ]. e O dom nio de aplicao escolhido para expor a rede foi a desca ignao de crdito em banco. Antes porm, vamos introduzir uma ca e e metfora para a rede cooperativa, isto , faremos uma analogia a e com ambiente de trabalho num escritrio. o Suponha que o escritrio funciona como um tipo de rede coopo erativa formada por um grupo de pessoas que incluem chefes e secretrios. Cada chefe tem,como seu associado, um secretrio exa a ecutivo a que ele est hierarquicamente relacionado. Os servios a c de comunicao dispon ca veis para esses chefes e secretrios so: a a telefone, fax e servio de mensagem. O secretrio est apto no c a a a somente a assumir a comunicao de seu chefe, mas tambm inca e terpretar e executar suas ordens, e resolver todos os problemas relacionados a esta execuo. ca 36
O modelo descrito est apto a discriminar entre pelo menos trs a e n veis hierrquicos de comunicao: n (n) chefes, n (n-1) a ca vel vel secretrios e n (n-2) servios de comunicao. a vel c ca Em adio, importante estabelecer, tambm, trs tipos diferentes ca e e e de dilogos: chefe.n - chefe.n, chefe.n - secretrio.n-1, secretrio.na a a 1 - secretrio.n-1. a Esses dilogos so realizados usando os vrios servios de comua a a c nicao existentes no escritrio. Eles podem ser descritos em terca o mos de camadas de dilogos que so controlados por protocolos de a a n veis inferiores n-1, e servios de n c veis mais baixos. Em resumo, cada camada deve fornecer servio de comunicao bsica para a c ca a camada imediatamente acima. A comunicao com o exterior sempre realizada atravs de um ca e e dos secretrios. O ambiente externo identicado com o cliente da a e rede. O cliente conta seu problema ` rede atravs do secretrio.na e a 1 que est associado com o chefe.n. a Algumas restries podem ser impostas sobre esta analogia: co i. No existe dilogo direto entre chefe e chefe. a a ii. Cada chefe pode se comunicar somente com seu/sua secretrio, por meio de ordens, questes e armaes. a o co iii. Dilogos entre secretrios estabelece comunicao atravs da a a ca e transmisso de pedidos, perguntas, asseres e transmisso de a co a documentos. Em vista dessas restries, cada chefe concebido como um esco e pecialista isolado cuja unica conexo com o resto do escritrio a o e atravs de seu/sua secretrio, que assume a responsabilidade da e a cooperao. O secretrio tem familiaridade com o ambiente globca a al, 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 tambm como divid e -las em tarefas envolvendo um ou mais interlocutores. A metfora que foi descrita anteriormente serve como uma base a para a denio de uma arquitetura para a rede cooperativa de ca sistemas especialistas. Para comear o papel exercido pelos chefes c na metfora est associado aos sistemas especialistas distribu a a dos no escritrio. O problema que os autores em [ ] se propem a o o resolver consiste do planejamento e construo de uma rede de ca sistemas que assume o papel dos secretrios executivos da rede. a Estes sistemas so chamados facilitadores porque seu propsito a o 37
facilitar a cooperao entre os sistemas especialistas que foram e ca constru dos para trabalhar independentemente. Modelo de uma Rede Cooperativa O modelo de rede cooperativa de sistemas especialistas que estamos expondo organizada em trs camadas: e e i. A rede de Sistemas Especialistas ii. Rede de facilitadores iii. Comunicao da rede ca A Rede de Sistemas Especialistas composta por um conjunto de e sistemas especialistas, que podem resolver juntos problemas mais complexos do que aqueles que cada um poderia resolver sozinho. Essa cooperao para soluo de problemas poss com a ajuda ca ca e vel da rede de facilitadores. A rede de facilitadores abrangem um conjunto de sistemas capazes de denir e coordenar uma soluo cooperativa dos problemas dos ca usurios. a A soluo do problema feita atravs do intercmbio, por um ca e e a lado entre os prprios facilitadores, e por outro lado, entre os fao cilitadores e os usurios ou tambm com os sistemas especialistas. a e Internamente, cada facilitador possui algumas interfaces que permitem lig-lo com um usurio, uma base de dados gerenciadora do a a sistema e um sistema especialista. Externamente, cada facilitador associado aos demais facilitadores da junta. e A comunicao da rede corresponde ` rede de computador e ` rede ca a a de comunicao f ca sica, cujas principais tarefas so: a i. assegurar a interconexo lgica da rede de facilitadores a o ii. assegurar o servio de transmisso de mensagem c a Em termos do esquema das camadas em sistemas abertos, os usurios de um sistema facilitador esto situados na ultima camaa a da de um sistema aberto cooperativo, a camada n de aplicaes, os co facilitadores esto situados na penltima camada, n-1, e portanto a u se constitue na camada de servios de comunicao da camada c ca superior.
38
3.8.2
Arquitetura do Facilitador
O principal objetivo do facilitador assegurar a coordenao de e ca um Sistema Especialista que est ligado a ele com os demais Sisa temas Especialistas da rede, assegurando a soluo global dos ca problemas dos usurios. a As principais tarefas dos facilitadores controlar diferentes tipos e de dilogos envolvidos na soluo de um problema e selecionar a ca uma estratgia de cooperao para esta soluo. Para tanto, os e ca ca facilitadores contam com dois mdulos: o i. Mdulo de Controle de Cooperao; o ca ii. Mdulo de Controle de Dilogo; o a O mdulo de Controle de Cooperao o mdulo principal do fao ca e o cilitador. A primeira tarefa em um problema criar o grupo de e agentes dispon veis na junta e depois escolher a estratgia coope erativa para soluo do problema e, a seguir, os tipos de dilogos ca a envolvidos. Esse mdulo tem conhecimento total do dom o nio da rede de Sistemas Especialistas, das diferentes estratgias de coe operao, assim como um modelo de seu SE todos os sistemas da ca rede. O mdulo de controle de dilogo responsvel pela aplicao da o a e a ca estratgia selecionada e gerenciamento dos dilogos correspone a dentes. Existem trs diferentes tipos de dilogos: e a i. Entre o facilitador e o usurio; a ii. Entre o facilitador e seu Sistema Especialista; iii. Com outros facilitadores da rede. Estudo de Caso: Concesso de Crdito Bancrio para Empresas a e a Este estudo de caso focaliza a concesso de crdito em banco. Para a e esse propsito, so considerados uma rede cooperativa formada o a por trs sistemas especialistas: e i. SE1 Para concesso de crdito; a e ii. SE2 Para avaliar projetos; iii. SE3 Para Clculos a Cada um desses sistemas especialistas possui uma base de conhecimento. As principais caracter sticas desses sistemas especialistas so: a i. SE1 - Esse sistema um especialista em operaes bancrias e co a que admite diferentes tipos de crditos bancrios. Ele possui e a 39
um conjunto de pol ticas bancrias que lhe permitem oferea cer crdito com base em alguns critrios tais como: solvncia, e e e garantia de lucro para o banco, capacidade de gerenciamento dos indiv duos que solicitam o crdito para suas companhias, e viabilidade tcnica e nanceira do projeto, etc. Este sistema e tambm tem acesso a uma base de dados que contm arquivos e e de aplicao daqueles que esto solicitando o emprstimo, inca a e formaes sobre pol co ticas bancrias, taxas de interesse atual, a etc. ii. SE2 - Esse sistema um especialista faz avaliao de projetos. e ca Seu propsito analisar e avaliar projetos de investimentos. o e Ele possui a incumbncia de ordenar os projetos de acordo e com o tamanho do projeto, os custos relevantes, se seguro e ou de risco, se possui todas as informaes necessrias e se co a estas so favorveis. Nesse exemplo ele ser usado somente a a a como um assistente da rede cooperativa. iii. SE3 - Este um sistema especialista em clculos que pode e a aplicar diferentes modelos e realizar clculos de complexidade a variada. Para tanto, acompanha a conduta do mercado e pode acessar a base de dados contendo todas as informaes co necessrias para realizar estes clculos. Esse sistema tambm a a e ser usado como um assistente. a Existe uma base de dados que contm informaes gerais da eme co presa, isto , situao nanceira e dados referentes ao projeto para e ca o qual a aplicao de crdito foi feita. Ela pode ser acessada por ca e qualquer um dos trs sistemas especialistas atravs de seus ree e spectivos facilitadores. Em qualquer situao, o usurio requisica a tar primeiramente o facilitador do SE1. O SE1, atravs de seu a e facilitador, solicitar a ajuda dos outros dois sistemas especialisa tas assistentes para posteriormente aplicar uma soluo denitiva ca para o problema apresentado pelo usurio. a O que se pode concluir desta aplicao que o conceito de facilitaca e dor elemento poderoso em sistemas distribu e dos complexos que implica na inter-operao de sistemas heterogneos. ca e Sua aplicabilidade vai alm de executar a comunicao de sistemas e ca especialistas existentes, e pode ser extendidoa sistemas auxiliares, como tambm a problemas de interoperatividade gerais que exe igem solues em n de semntica. co vel a O problema de ligar sistemas especialistas para tarefas cooperativas um campo frtil de experimentao, pois problemas que e e ca 40
41
42
4.1
E curioso como alguns aspectos revolucionrios da Internet ainda a no esto sendo explorados em todo o seu potencial. Um deles a a a possibilidade de transformar o microcomputador do usurio e a em algo mais do que um simples terminal de acesso, atravs do e sistema denominado execuo distribu ca da. O que isso? Os e programas do tipo Netscape e Internet Explorer, a partir de sua verso 2, j permitem a execuo de programas (softwares) nas a a ca CPUs do computador do usurio. a A tecnologia mais recente a Java, que consiste de um aplicativo e usualmente pequeno (applet), que descarregado para o come putador do usurio quando ele acessa uma pgina na Web, e a a e uma linguagem poderosa, que tem a executado localmente. E vantagem de ser independente de plataforma. Apesar disso, a maior parte dos sites na WWW ainda utiliza aplicaes simples co para a execuo distribu raro encontrar usos das tecnologias ca da e de Inteligncia Articial, como os sistemas especialistas. Eles ime plementam conhecimento em alguma rea especializada, e ajudam a o usurio a tomar decises, planejar, criticar, etc., procurando ima o itar a maneira como o intelecto humano funciona. Um bom exemplo um sistema especialista na rea mdica, que e a e pode auxiliar o prossional a chegar a um diagnstico, com base o nos sinais, sintomas e resultados de exames de laboratrio ou outo ros. O resultado enviado atravs da Web para o usurio que o e e a solicitou. O bom de um sistema desse tipo que ele pode ser usado e 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 Inteligncia Articial que j est comeando a e a a c fazer sucesso o softbotou agente inteligente, um software e que navega em sites espec cos na Internet para colher dados de uma certa natureza. Por exemplo, os softbots do site MySimon so capazes de buscar um determinado item que voc queira coma e prar, em centenas de sites de mercadores on-line, e volta com os preos. No Brasil j existe a srie de mineradores automticos de c a e a dadosna UOL. Tem o PeopleMiner, o BookMiner, o DoctorMiner, o CDMiner, e muitos outros. A tendncia de personalizar os e sites tambm vai utilizar muitos recursos de Inteligncia Articial, e e 43
assim como os sites de monitorao ativa dos hbitos de navegao ca a ca e de consumo. O cu o limite quando se trata de fazer convergir e e vrias tecnologias de Informtica, tais como multim a a dia, hipertexto, Inteligncia Articial, bancos de dados, etc. e
4.2
Cache Plugins so programas normalmente executados de maneira a distribu em micros interligados com conexes de alta velocidade da o a um servidor cache.A implementao da arquitetura de cache pluca gins utiliza conceitos de Inteligncia Articial Distribu e da, onde SE so implementados para resoluo distribu de problemas a ca da (RDP) visando obteno de resultados mais ecientes e de melhor ca qualidade. Uma vez operacional, os plugins so capazes de realizar vrias das a a tarefas do servidor, com gerao de pginas seguindo um padro ca a a especicado ou a contabilizao de acessos.Desta forma, o uso de ca plugins faz com que a computao necessria para responder a ca a uma requisio seja distribu ca da, diminuindo a carga do servidor de busca, e dos canais de comunicao que chegam a ele, ja que o ca custao da operao minimizado com a distribuio do problema. ca e ca Quando chega uma requisio, o plugins a analisa e determina ca todos os objetos estticos (como baners, applets e outros dados) a necessrios para se gerar a resposta. Estes objetos so ento requia a a sitados ao servidor cache, que os trata com uma requisio normal: ca com aplicao de conceitos de Inteligncia Articial ele procura ca e uma cpia local, se esta for encontrada no cache, ela retornada; o e seno, o objeto esttico buscado do servidor remoto, enviana a e do ao plugin e armazenado localmente para atender a requisies co futuras. Aps receber todos os objetos estticos necessrios, o o a a plugin os combina de acordo as caracter sticas da busca sendo realizada, gerando a pgina que ser enviada como resposta ao a a servidor cache, que a repassa ao cliente. O plugin tambm pode ter outras funcionalidades, como coletas e e manter informaes sobre usurios e contabilizar o nmero de co a u acessos realizados a uma pgina ou o nmero de cliquesefetuados a u em um anncio, reportando esses dados ao servidor de busca peu riodicamente. Este processo totalmente transparente ao cliente, e e pode ser visualizado de maneira resumida na FiguraX . Os 44
nmeros mostrados na gura se referem `s seguintes atividades: u a i. O cliente requisita uma pgina dinmica ao servidor cache; a a ii. O servidor cache redireciona a requisio ao cache plugin; ca iii. O cache analisa a requisio e busca todos os objetos estticos ca a do servidor cache; iv. Caso ainda no estejam armazenados localmente, os objetos a estticos so buscados do servidor original; a a v. O plugin monta e envia ao servidor cache a resposta ` requia sio; ca vi. O servidor cache retorna essa pgina ao cliente; a vii. O cache plugin informa ao servidor o acesso e pode criar um canal de comunicao para buscar novas diretrizes de gerao ca ca de pginas. a Uma premissa importante para o funcionamento da arquitetura proposta que pginas dinmicas podem ser constru e a a das a partir de um certo conjunto de objetos estticos. Note que o plugin que a representa um determinado servidor deve ser fornecido pelos responsveis pelo mesmo servidor, de forma que o plugin implemente a os mecanismos de recuperao de objetos estticos necessrios e de ca a a combinao desses objetos. Todo o controle de consistncia da inca e formao presente nos objetos a partir dos quais o plugin compe ca o sua resposta pode ser feito pelo servidor de contedo, que deteru mina qual o tempo de expirao de cada um. Esta informao ca ca utilizada na determinao da validade de objetos presentes no e ca cache, que requisita cpias atualizadas ao servidor caso necessrio. o a O uso de cache plugins traz benef cios tanto para os provedores de contedo e de acesso, que tero reduzidas as suas cargas de prou a cessamento e nos canais de comunicao, quanto para os clientes, ca cujo tempo de resposta ser menor. Obviamente, o ganho obtido a com o uso de plugins depende da localidade de referncia existente e nas requisies submetidas. co A utilizao de caches plugins uma estratgia que objetiva melca e e horar a qualidade de servio de requisies a objetos gerados dic co namicamente na World Wide Web. Essa estratgia ilustrada e e pela integrao de mquinas de busca, servidores cache, conceitos ca a de IAD e processamento distribu do. Usando a arquitetura proposta, os resultados das buscas e o contedo de pginas dinmicas u a a podem ser efetivamente armazenados por servidores cache, o que no poss usando tecnologia atual. a e vel 45
Essa estratgia reduz tanto o tempo de resposta para o cliente e quanto a carga no servidor e na rede. A implementao de cache ca plugins possibilita tambm a contabilizao de nmeros de visitas e ca u a pginas e nmeros de acessos a pginas de anunciantes, at a u a e ento uma das maiores restries para resplicao de pginas de a co ca a contedo dinmico. u a
46
Cronograma
Atividade Data de concluso a Escrever as regras do dom nio de conhecimento conhecimento para a base do S.E. julho proposto e implement-la no a Expert SINTA e realizar os Agosto testes necessrios a Ser tambm constru um help para a base a e do de conhecimento atravs de uma e ferramenta de ajuda a ser denida Descrever sobre o seguinte tema em IAD: Melhorando a Qualidade de Servios de Busca na Internet c Editar o projeto atravs do e uso do editor LATEX. Elaborar a apresentao ca do projeto ` banca a Entrega do Projeto de Graduao ca
Setembro
47
Referncias Bibliogrcas e a
[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. [Gt98] S. M. Gtz. Communication-Ecient Parallel Algoo o rithms 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 Implementaes Paralelas co para Florestas Geradoras Mnimas. Tese de Mestrado, In stituto de Matemtica e Estat a stica - USP - So Paulo/SP a - Brasil, Dezembro 1997. [Ste00] M. A. Stefanes. Algoritmos paralelos para modelo real sticos, Maro 2000. Qualicao de Doutorado - Instic ca tuto de Matemtica e Estat a stica - USP - So Paulo/SP a Brasil.
48