manual expert sinta

Upload: guilherme-alves-de-oliveira

Post on 18-Oct-2015

83 views

Category:

Documents


1 download

TRANSCRIPT

  • LIALaboratrio de Inteligncia Artificialhttp://www.lia.ufc.br

    Expert SINTA verso 1.1Uma ferramenta visual para criao de sistemas especialistas

    manual do usurio

  • ndiceBEM-VINDO AO EXPERT SINTA.....................................................................4

    CAPTULO I - PLANEJANDO UM SISTEMA ESPECIALISTA........................6

    1.1 Arquitetura de um sistema especialista no Expert SINTA............................................................7

    1.2 Utilizando regras de produo.........................................................................................................81.2.1 Viso geral...................................................................................................................................81.2.2 As regras no Expert SINTA........................................................................................................8

    1.3 Acompanhando a execuo de um sistema....................................................................................101.3.1 Conhecimento procedural x conhecimento declarativo............................................................101.3.2 O mtodo de extrao procedural de conhecimento do Expert SINTA....................................111.3.3 Exemplo de encadeamento para trs.........................................................................................111.3.4 Variveis univaloradas x variveis multivaloradas...................................................................131.3.5 Leitura adicional: conhecimento monotnico x conhecimento no-monotnico.....................131.4.1 Viso geral.................................................................................................................................141.4.2 O clculo de probabilidades no Expert SINTA.........................................................................15

    1.5 Lidando com o desconhecido..........................................................................................................17

    1.6 Sumrio.............................................................................................................................................18

    CAPTULO II - IMPLEMENTANDO O SISTEMA............................................19

    2.1 Gerenciando bases...........................................................................................................................20

    2.2 A janela Knowledge-in-a-box (KIB)..........................................................................................20

    2.3 Criando variveis.............................................................................................................................21

    2.4 Definindo o(s) objetivo(s).................................................................................................................22

    2.5 Trabalhando com regras.................................................................................................................24

    2.6 Definindo interface com o usurio.................................................................................................27

    2.7 Informaes adicionais sobre a base..............................................................................................29

    2.8 Opes...............................................................................................................................................31

    2.9 Criando frmulas.............................................................................................................................34

    2.10 Sumrio...........................................................................................................................................35

    CAPTULO III - CONSULTANDO O SISTEMA ESPECIALISTA...................36

    3.1 Conceitos rpidos.............................................................................................................................37

    3.2 Guia visual de operaes.................................................................................................................37

  • 3.3 A consulta..........................................................................................................................................39

    3.4 As janelas de acompanhamento......................................................................................................41

    3.5 Compreendendo os resultados atingidos........................................................................................43

    3.6 Sumrio.............................................................................................................................................47

    AGRADECIMENTOS.......................................................................................48

    APNDICE A - SISTEMA DE DIAGNSTICO DE PRAGAS E DOENAS DO CAJUEIRO (SECAJU).....................................................................................49

  • Captulo I - Planejando um sistema especialista 4

    Bem-Vindo ao Expert SINTA

    O que so sistemas especialistas e o que o Expert SINTA capaz de fazer por voc.

    Sistemas especialistas so programas de computador que procuram atingir solues de determinados problemas do mesmo modo que especialistas humanos, se estiverem sob as mesmas condies. Apesar das limitaes das mquinas, possvel, hoje, a construo de sistemas especialistas com alto grau de desempenho, dependendo da complexidade de sua estrutura e do grau de abrangncia desejado.

    A arquitetura mais comum de sistemas especialistas a que envolve regras de produo (production rules). Essas regras so simplesmente um conjunto de condies no estilo SE... ENTO..., com a possibilidade de incluso de conectivos lgicos relacionando os atributos no escopo do conhecimento e o uso de probabilidades, como vemos no exemplo a seguir:

    SE carne = vermelhaE cor preferida = tintoOU temperatura = ambienteENTO melhor vinho = exemplo CNF 70;

    Um sistema de bom tamanho tem em torno de centena de regras (considerando aqueles que utilizam regras). Visando uma maior viabilidade econmica na implementao de um sistema especialista, e considerando-se que diversos sistemas compartilham uma mquina de inferncia e outras caractersticas comuns de ambiente, foram criadas ferramentas, shells, aptas a realizar muito do trabalho necessrio para transpor um sistema especialista para um computador. Essas ferramentas permitem que o criador do sistema preocupe-se somente com a representao do conhecimento do especialistas, deixando para a shell a tarefa de interpretar o conhecimento representado e execut-lo em uma mquina, alm de permitir depuraes e explicaes de como o computador chegou quela(s) concluso(es). A principal funo de uma shell simplificar ao mximo o trabalho de implementao de um sistema especialista e permitir seu uso por qualquer pessoa sem conhecimentos de informtica.

    Captulo I - Planejando um sistema especialista 4

  • 5 Expert SINTA

    O Expert SINTA uma ferramenta computacional que utiliza tcnicas de Inteligncia Artificial para gerao automtica de sistemas especialistas. Esta ferramenta utiliza um modelo de representao do conhecimento baseado em regras de produo e probabilidades, tendo como objetivo principal simplificar o trabalho de implementao de sistemas especialistas atravs do uso de uma mquina de inferncia compartilhada, da construo automtica de telas e menus, do tratamento probabilstico das regras de produo e da utilizao de explicaes sensveis ao contexto da base de conhecimento modelada. Um sistema especialista baseado em tal tipo de modelo bastante til em problemas de classificao. O usurio responde a uma sequncia de menus, e o sistema encarrega-se- de fornecer respostas que se encaixem no quadro apontado pelo usurio. Como exemplos, temos sistemas de diagnsticos mdicos e configurao de redes de computadores.

    Entre outras caractersticas inerentes ao Expert SINTA, temos:

    utilizao do encadeamento para trs (backward chaining); utilizao de fatores de confiana; ferramentas de depurao; possibilidade de incluir ajudas on-line para cada base.

    O Expert SINTA procura ser uma ferramenta de criao geral. Dvidas e sugestes podem ser enviadas ao servio de suporte:

    Laboratrio de Inteligncia Artificial - LIA

    E-mails: [email protected]@[email protected]@lia.ufc.br

    Universidade Federal do Cear - UFC

  • Captulo II - Implementando o sistema 6

    Captulo I - Planejando um sistema especialista

    Como se deve planejar um sistema especialista no Expert SINTA, algumas definies importantes da rea e como entender o funcionamento de um sistema construdo.

    Captulo II - Implementando o sistema 6

    Esse captulo procura trazer informaes bsicas sobre a idia por trs dos sistemas especialistas e alguns conceitos da rea de Inteligncia Artificial. Tambm explicado o funcionamento interno do Expert SINTA, o modo como representa o conhecimento e o uso de probabilidades na sua mquina de inferncia. Aqueles que j esto familiarizados aos assuntos abordados a seguir podem examinar rapidamente o seu contedo. Os iniciantes devero dispensar um pouco mais de tempo.

  • 1.1 Arquitetura de um sistema especialista no Expert SINTAOs sistemas especialistas (SE) gerados no Expert SINTA seguem a arquitetura

    abaixo:

    Figura 1.1 - Arquitetura

    simplificada do Expert SINTA

    onde:

    base de conhecimentos representa a informao (fatos e regras) que um especialista utiliza, representada computacionalmente;

    editor de bases o meio pelo qual a shell permite a implementao das bases desejadas;

    mquina de inferncia a parte do SE responsvel pelas dedues sobre a base de conhecimentos;

    banco de dados global so as evidncias apontadas pelo usurio do sistema especialista durante uma consulta.

    O objetivo do Expert SINTA simplificar ao mximo as etapas de criao de um SE completo. Para tanto, j oferece uma mquina de inferncia bsica, fundamentada no encadeamento para trs (backward chaining).

  • Captulo I - Planejando um sistema especialista 8

    O encadeamento para trs destaca-se em problemas nos quais h um grande nmero de concluses que podem ser atingidas, mas o nmero de meios pelos quais elas podem ser alcanadas no grande (um sistema de regras de alto grau de fan out), e em problemas nos quais no se pode reunir um nmero aceitvel de fatos antes de iniciar-se a busca por respostas. O encadeamento para trs tambm mais intuitivo para o desenvolvedor, pois fundamentada na recurso, um meio elegante e racional de programao, para onde a prpria Programao em Lgica se direcionou. Em nenhum momento, porm, deixa-se de reconhecer que o encadeamento para frente (foreward chaining) possui vantagens em determinadas ocasies. possvel, entretanto, simular o encadeamento para frente, como ser visto no captulo II, Implementando o sistema.

    1.2 Utilizando regras de produo

    1.2.1 Viso geral

    As regras de produo so populares por possurem as seguintes vantagens:

    Modularidade: cada regra, por si mesma, pode ser considerada como uma pea de conhecimento independente;

    Facilidade de edio (uma conseqncia da modularidade): novas regras podem ser acrescentadas e antigas podem ser modificadas com relativa indepen-dncia;

    Transparncia do sistema: garante maior legibilidade da base de conhecimentos.

    Portanto, preciso ter em mente que a modularidade de um sistema baseado nessa arquitetura permite a construo passo-a-passo da base de conhecimentos, ou seja, possvel realizar vrios testes com apenas um subconjunto de regras concludo. Obviamente, sabe-se que menos regras implicam geralmente em um menor nmero de casos abrangidos.

    1.2.2 As regras no Expert SINTA

    Vejamos o seguinte exemplo (extrado da base SECAJU, um exemplo que acompanha o Expert SINTA):

  • SE galerias nos ramos ou inflorescnciasOU inflorescncias = murchas ou secasE brotaes novas murchasE orifcios laterais nos ramos ou inflorescnciasENTO praga = broca das pontas [90%]

    Figura 1.2 - Regra de ProduoDenomina-se os conseqentes de uma regra como as cabeas da regra e os

    antecedentes, caudas. Esta notao proveniente da linguagem PROLOG, na qual as concluses encabeam as clusulas.

    Para o projetista do conhecimento que cria bases utilizando o Expert SINTA, o seguinte critrio para definies de assertivas deve ser seguido:

    ( I ). A estrutura de cada cauda (premissa) deve obedecer ao seguinte modelo:

    onde:

    conectivo um dos seguintes elementos utilizados na lgica clssica: NO, E, OU. Sua funo unir a sentena ao conjunto de premissas que formam a seo de antecedentes de uma regra.

    atributo uma varivel capaz de assumir uma ou mltiplas instanciaes no decorrer da consulta base de conhecimentos. Cabe ao desenvolvedor definir o tipo de atributo. Um atributo uma entidade totalmente abstrata, capaz de armazenar listas de valores cujo significado depende do contexto da base. Por exemplo, um atributo doena, no SECAJU, capaz de ser instanciado a qualquer um ou vrios elementos da lista de valores pr-definida [mofo preto, oidio, antracnose]. Nmeros tambm podem ser atribudos a variveis;

    operador um elo de ligao entre o atributo e o valor da premissa que define o tipo de comparao a ser realizada. So operadores relacionais: =, >,

  • Captulo I - Planejando um sistema especialista 10

    ( II ). A estrutura de cada cabea (concluso) deve obedecer ao seguinte modelo:

    =

    onde:

    atributo eqivale ao mesmo atributo usado em caudas;

    = um operador de atribuio e no de igualdade. Ou seja, o atributo, nas cabeas de regra, sempre instanciado a um valor. Dependendo se a varivel pode ou no acumular mltiplas instanciaes, o novo valor substitura o antigo ou ser empilhado com os demais.

    valor eqivale ao mesmo valor utilizado em caudas;

    grau de confiana uma porcentagem indicando a confiabilidade daquela concluso especfica da regra. O grau de confiana varia de 0% a 100%.

    Veja a seo 1.4 para maiores detalhes sobre graus de confiana.

    1.3 Acompanhando a execuo de um sistema

    1.3.1 Conhecimento procedural x conhecimento declarativo

    Quando uma pessoa tem conhecimento de algum fato, certamente ela poder extrair tudo o que souber sobre aquele fato quando bem entender. Porm, na Inteligncia Artificial, existe um problema a mais quanto ao uso do conhecimento.

    Supe-se que o conhecimento por si s j o suficiente para a resoluo de problemas. Essa a idia por trs do conhecimento declarativo: no h preocupaes quanto ao seu uso, somente quanto sua posse e especificao, e ela j garantir o alcance dos objetivos desejados.

    Porm, a realidade bem mais problemtica. Um computador no capaz de decidir qual a prxima informao que ele utilizar para o desenvolvimento de uma atividade. Faltam s mquinas um modo menos metdico e linear de ao. necessrio que especifiquemos uma estratgia de uso do seu saber. Mas, qual o problema, quando a mquina possui o potencial necessrio? Vejamos um exemplo:

    Todos ns sabemos calcular o fatorial de um nmero. O fatorial de zero um, e o fatorial dos demais nmeros positivos simplesmente ele multiplicado pelo fatorial do seu antecessor (como quando dizemos que o fatorial de 5 5 vezes o fatorial de 4). Ao colocarmos essa representao no computador, podemos representar simbolicamente por

  • Fatorial (n) = n x Fatorial(n - 1)Ah, e claro: Fatorial(0) = 1

    O conhecimento est a: agora devemos ditar ao computador o meio pelo qual ele utilizar tais afirmativas. Uma estratgia bastante comum simplesmente percorrer as informaes na ordem: inicialmente, a primeira; depois, se necessrio a seguinte, e assim vai. Mas, se desejarmos calcular o prosaico fatorial de 2? Para a mquina, fatorial(2) = 2 x fatorial(1). E quanto o fatorial de 1? Nesse caso, devemos voltar primeira informao de como se calcula o fatorial, Fatorial (n) = n x Fatorial(n - 1). Assim chegamos que fatorial(1) 1 vezes fatorial de zero. E o fatorial de zero? Observe que, como temos um mecanismo fixo de extrao de dados, no podemos avaliar a segunda informao enquanto no terminarmos a primeira. Assim, simplesmente o computador calcularia que o fatorial de zero zero vezes o fatorial de menos um! E continuaria eternamente com essa regra.

    Esse tipo de conhecimento que depende de uma regra de extrao chamamos de conhecimento procedural. Nota-se que, se simplesmente invertssemos a ordem das informaes, chegaramos a um resultado (sempre antes de calcular um fatorial de um nmero, a mquina verificaria se esse nmero zero)! Por isso, o uso do conhecimento uma questo maior que simplesmente uma descrio do saber.

    1.3.2 O mtodo de extrao procedural de conhecimento do Expert SINTA

    O Expert SINTA utiliza o encadeamento para trs, o modo mais comum de utilizao de um sistema especialista. O projetista deve incluir na definio da base quais os atributos que devem ser encontrados (ou seja, os objetivos - goals - do sistema especialista). A mquina de inferncia encarrega-se de encontrar uma atribuio para o atributo desejado nas concluses das regras (aps o ENTO...). Obviamente, para que a regra seja aprovada, suas premissas devem ser satisfeitas, obrigando mquina a encontrar os atributos das premissas para que possam ser julgadas, acionando um encadeamento recursivo. Caso o atributo procurado no seja encontrado em nenhuma concluso de regra, uma pergunta direta feita ao usurio.

    1.3.3 Exemplo de encadeamento para trs

    Sejam as seguintes regras um sistema especialista para decidir se devo ou no ir praia amanh.

    REGRA 1SE amanh pode chover = NoE tenho dinheiro suficiente = SimE tenho tempo suficiente = SimENTO devo ir praia = Sim

    REGRA 2SE amanh pode chover = Sim

  • Captulo I - Planejando um sistema especialista 12

    OU tenho dinheiro suficiente = NoOU tenho tempo suficiente = NoENTO devo ir praia = No

    REGRA 3SE o servio de meteorologia disse que vai chover amanh = SimENTO amanh pode chover = No

    REGRA 4SE no vou sair hoje = SimE nenhuma emergncia ocorrer = SimENTO tenho dinheiro suficiente = Sim

    REGRA 5SE minha namorada ligar = SimENTO no vou sair hoje = No

    REGRA 6SE meu orientador passar trabalho extra = SimENTO tenho tempo suficiente = No

    Obs.: Note que as regras acima j esto na sintaxe de regras aceita pelo Expert SINTA, o que demonstra a sua facilidade de entendimento. Os valores atribudos no precisam ser somente Sim e No. Veja o captulo II, Implementando o sistema, para maiores explicaes.

    Examinando o pequeno sistema especialista acima, claramente distinguimos que o seu objetivo determinar o valor da varivel devo ir praia. Ento, iniciamos a busca por ela. O Expert SINTA procura as regras nas quais a varivel sendo procurada no momento pode receber um valor se a regra for aceita (ou seja, quando ela aparece aps o ENTO). Em seguida, a mquina de inferncia verifica se a regra vale ou no. No exemplo dado, o sistema avalia a regra 1 para poder determinar se devo ir praia ou no. Mas, para isso, temos que determinar se todas as premissas (amanh pode chover = No, tenho dinheiro suficiente = Sim, tenho tempo suficiente = Sim) so verdadeiras. Para descobrir se amanh pode chover, tenho que repetir o processo, avaliando a regra 3. Agora tenho que saber se a meteorologia disse sobre a possibilidade de chuva amanh. Como no existe nenhuma regra que possa concluir o que a meteorologia disse, o Expert SINTA realiza uma pergunta ao usurio, do tipo A meteorologia afirmou se amanh pode chover (Sim/No)? (claro, o computador no ir criar uma frase, essa uma das tarefas do criador da base de conhecimento - veja o captulo II, Implementando o sistema, para maiores detalhes).

    Se a meteorologia disser que amanh vai chover, ento primeira premissa da regra 1 passar no teste (quem confia nos servios meteorolgicos?). Avaliando a segunda premissa e repetindo o processo do encadeamento para trs, chegamos regra 4. Mas, para descobrir se eu vou sair hoje ou no, preciso recorrer regra 5 (observa-se a forte idia de recurso no backward chaining). A regra 5 leva a uma pergunta, pela qual concluiremos se tal regra vai ser aprovada. Se realmente for aprovada, a primeira premissa da regra 4 verdadeira, fazendo com que verifiquemos agora a segunda premissa. Quando todas as premissas da primeira

  • regra forem avaliadas, podemos determinar se a regra 1 foi aprovada ou no. Caso contrrio, passamos para a prxima regra que possa concluir um valor para a varivel devo ir praia.

    1.3.4 Variveis univaloradas x variveis multivaloradas

    Outra questo deve ser levada em conta durante o acompanhamento da execuo de um sistema especialista. Uma nica varivel pode receber vrios valores em uma nica consulta ao sistema. muito comum, por exemplo, em sistemas de diagnstico mdico, onde o paciente pode apresentar mais de uma doena. Portanto, importante saber lidar com variveis que podem ter apenas uma instanciao (univalorada) ou mltiplas (multivaloradas). Para saber como indicar ao Expert SINTA quais so as variveis multivaloradas e univaloradas, consulte o captulo II, Implementando o sistema.

    Quando a mquina de inferncia est atrs de encontrar instanciaes para uma varivel univalorada, ela ir procurar at encontrar um valor ou at esgotar todas as possibilidades da base de conhecimento. Se, por algum motivo, durante a busca de uma outra varivel, uma varivel univalorada receber um valor quando j possua outro, esse valor antigo ser descartado e o novo vigorar.

    A busca de valores para variveis multivaloradas prossegue at que toda a base de conhecimento seja explorada. Os valores permanecem acumulados. nessa hora que preciso ter cuidado com contradies presentes na base. O Expert SINTA, na presente verso, no faz verificaes de inconsistncias lgicas.

    Obs.: variveis numricas so tratadas como univaloradas, sempre.

    1.3.5 Leitura adicional: conhecimento monotnico x conhecimento no-monotnico

    Digamos que voc estacionou o seu carro em frente ao local de trabalho. Evidentemente, ao retornar, voc saber o local onde deixou o seu carro e saber que o utilizar para voltar para casa. Mas, em um intervalo de trabalho, algum lhe diz que seu carro foi roubado! Agora voc sabe que no o encontrar onde o tinha deixado.

    No dia-a-dia, enfrentamos situaes que modificam as nossas certezas. O que antes tnhamos por certo agora estamos convictos que no so mais realidade. Isso porque ns pensamos em um tipo de lgica no-monotnica, ou seja, podemos receber informaes que contrarie as que j possumos.

    No tratamento tradicional de informaes da Inteligncia Artificial, o conhecimento monotnico, ou seja, aquele que ao acrescentarmos novas informaes nunca fica contraditrio, inconsistente, o comumente usado. O Expert SINTA trata o conhecimento de forma essencialmente monotnica.

    1.4 Fatores de confiana

  • Captulo I - Planejando um sistema especialista 14

    1.4.1 Viso geral

    No exemplo dado na seo 1.3.3, as variveis recebiam apenas valores determinsticos (sim e no). Porm, comum que no queiramos determinar com exatido o valor que cada varivel pode receber.

    Sabemos que o conhecimento humano no determinstico. No h especialista que sempre se encontre em condies de afirmar determinada concluso com certeza absoluta. Graus de confiana so freqentemente atribudos s suas respostas, principalmente quando existe mais de uma. Este, sem dvida, um dos mais fortes pontos crticos na elaborao de uma representao computacional do saber humano.

    Vejamos a dificuldade em representar a confiabilidade das informaes:

    Especialistas humanos no se sentem confortveis em pensar em termos de probabilidade. Suas estimativas no precisam corresponder quelas definidas matematicamente;

    Tratamentos rigorosamente matemticos de probabilidade utilizam informaes nem sempre disponveis ou simplificaes que no so claramente justificveis em aplicaes prticas.

    Na verdade, existem duas correntes de pensamento: aquela que utiliza frmulas estatsticas rigorosas, com teoria das probabilidades, e aquela que utiliza uma abordagem da teoria das possibilidades sobre os fatores de certeza, ou seja, mais generalizada e sem uma base matemtica forte. O Expert SINTA utiliza atualmente uma abordagem possibilista.

  • 1.4.2 O clculo de probabilidades no Expert SINTA

    Vejamos como se atribuem fatores de confiana na presente verso do Expert SINTA:

    Caso 1: Quando queremos saber o valor final atribudo s variveis na concluso de um regra.

    Seja c1 o grau de confiana atribudo ao resultado final da premissa de uma regra r. Na concluso de r, devemos ter expresses como var = value CNF c2, onde var uma varivel, value um termo qualquer que pode ser atribudo a uma varivel, c2 um real pertencente ao intervalo [0; 100] que representa o grau de confiana da atribuio. Mas, c2 apenas uma referncia, pois o valor final dependente do resultado da premissa. Assim sendo, realizar-se- a operao var = value CNF c1. c2.

    Exemplo de aplicao:

    SE fumagina = simENTO suspeita de praga = mosca branca, grau de confiana (CNF) 70%.

    Assim sendo, supondo que o grau de confiana da igualdade fumagina = sim 80%, teremos que varivel suspeita de praga ser atribudo o valor mosca branca, com o respectivo grau de confiana 0.80 * 0.70 = 0.56 = 56%.

    Caso 2: Clculo do grau de confiana com o operador E.

    Se possumos duas igualdades var1 = value1 e var2 = value2, com os respectivos graus de confiana c1 e c2, temos que a sentena var1 = value1 E var2 = value2 retornar como valor de confiana c1 x c2.

    Exemplo de aplicao:

    SE estados das folhas = esfarelam facilmente E presena de manchas irregulares = sim...

    Se o grau de confiana da igualdade estados das folhas = esfarelam facilmente 80% e o grau de confiana da igualdade presena de manchas irregulares = sim 70%, temos que a conjuno das duas sentenas retornar um valor CNF de 56%, pois esse o produto dos dois valores.

    Caso 3: Clculo do grau de confiana com o operador OU.

    Se possumos duas igualdades var1 = value1 e var2 = value2, com os respectivos graus de confiana c1 e c2, temos que a sentena var1 = value1 OU var2 = value2 retornar como valor de confiana c1 + c2 - c1 x c2.

  • Captulo I - Planejando um sistema especialista 16

    Exemplo de aplicao:

    SE besouros vermelhos = sim OU larvas marrons = sim ...

    Se o grau de confiana da igualdade besouros vermelhos = sim 80% e o grau de confiana da igualdade larvas marrons = sim 70%, temos que a disjuno das duas sentenas retornar um valor CNF de 0.70 + 0.80 - 0.70 * 0.80 = 1.50 - 0.56 = 0.94 = 94%.

    Caso 4: Quando uma varivel recebe duas vezes o mesmo valor em pontos diferentes da consulta.

    Em momentos diferentes de uma consulta, uma mesma varivel var pode receber o mesmo valor v, sendo que at penltima instanciao ela possua grau de confiana c1, e a ltima atribuiu um CNF c2. Sendo assim, temos que o valor final de confiana para var = v ser dado pela frmula ca + cn - ca * cn, onde ca representa o grau de confiana antes da ltima mudana e cn o ltimo grau de confiana atribudo.

    Exemplo de aplicao:

    A varivel doena possua valor mofo preto com grau de confiana 60%. Aps a aplicao de outras regras chegou-se a uma outra atribuio doena = mofo preto, desta vez com CNF 50%.

    O clculo se d de maneira semelhante aplicao da regra OU: doena ter como um dos valores mofo preto, com respectivo grau de confiana 0.60 + 0.50 - 0.60 * 0.50 = 1.10 - 0.30 = 0.80 = 80%.

    Obs.: O sistema admite 50% como valor mnimo de confiana para que uma igualdade seja considerada verdadeira, mas esse valor pode ser modificado. O intervalo de grau de confiana varia de 0 a 100.

    Obs2.: Observe que as funes para conjuno e disjuno utilizadas seguem a Teoria dos Possibilidades, no envolvendo nenhum tratamento estatstico mais aprofundado.

    Obs3.: possvel mudar as frmulas utilizadas. Consulte o captulo II, Implementando o sistema.

  • 1.5 Lidando com o desconhecidoVamos relembrar o exemplo dado na seo 1.3.3. Se respondermos que o

    servio de meteorologia disse que amanh VAI chover, ento a regra 3 ir falhar. Mas, observe que isso NO quer dizer que a varivel amanh pode chover ir receber o valor Sim. Muito pelo contrrio, essa varivel no vai ser instanciada, permanecendo inalterada. Portanto, a regra 2 tambm vai falhar, e o sistema simplesmente responder que no conseguiu atingir nenhuma concluso. Quando se projeta um sistema especialista, deve-se levar em conta o maior nmero de possibilidades possvel, para evitar mensagens desagradveis como Nenhum valor encontrado...

    Alm do uso de graus de confiana para tratamento de incertezas, e da no-instanciao de variveis, o Expert SINTA permite o uso de um valor especial, passvel de ser usado por todas as variveis. o DESCONHECIDO, que representa uma indeterminao total sobre as instanciaes de uma varivel. Este valor pode ser tanto includo nas regras como dado como resposta pelo usurio (consulte o captulo III, Realizando uma consulta com o Expert SINTA).

  • Captulo I - Planejando um sistema especialista 18

    1.6 SumrioNeste captulo, vimos:

    A arquitetura bsica de um sistema especialista construdo com o uso do Expert SINTA;

    Explicaes sobre regras de produo e encadeamento para trs;

    Definies de conhecimento procedural, declarativo, monotnico e no-monotnico;

    O uso de regras no Expert SINTA e explicaes sobre variveis univaloradas e multivaloradas;

    Exemplo de funcionamento da mquina de inferncia;

    Tratamento de fatores de confiana e do valor DESCONHECIDO.

  • Captulo III - Consultando o sistema especialista 19

    Captulo II - Implementando o sistema

    Com o sistema j definido, deve-se agora transport-lo para o computador utilizando o Expert SINTA.

    Captulo III - Consultando o sistema especialista 19

    O Expert SINTA foi criado de modo a permitir ao prprio analista de conhecimento implementar a base desejada. O usurio do Expert SINTA no necessita do menor conhecimento de programao, apenas saber como interagir em ambientes visuais.

    Uma base de conhecimento no Expert SINTA envolve os seguintes conjuntos de atributos que devem ser indicados pelo projetista da base:

    Variveis Regras Perguntas Objetivos Informaes adicionais

    Quando esses elementos estiverem definidos, j se torna possvel utilizar o sistema especialista.

  • Captulo II - Implementando o sistema 20

    2.1 Gerenciando basesComo padro, O Expert SINTA grava as bases de conhecimento geradas em

    arquivos *.BCM. Para abrir bases pr-existentes em seus discos, utilize o menu Arquivo|Abrir. Consulte a ajuda do Windows se precisar de maiores informaes de como trabalhar com a caixa de dilogo Abrir Arquivo. Para criar uma base totalmente nova, use o menu Arquivo|Novo. Imediatamente, uma nova base de conhecimento, vazia, ser criada para voc.

    Finalmente, quando desejar salvar uma base na qual se est trabalhando para posterior uso, utiliza-se o menu Arquivo|Salvar. Quando voc estiver salvando a base pela primeira vez, uma caixa de dilogo aparecer para que seja indicado o nome do arquivo na qual a base ser gravada e a pasta na qual ele ser encontrada. Consulte a ajuda do Windows se precisar de maiores explicaes sobre o uso da caixa de dilogo Salvar Arquivo.

    A impresso se d atravs do menu Arquivo|Imprimir. Uma caixa de dilogo de configurao de impressoras aparecer. Consulte a ajuda para detalhes de como usar a caixa de dilogo de configurao de impressoras.

    Muitas das opes dos menus encontram-se tambm na barra de ferramentas, inicialmente presente no topo da rea de trabalho do Expert SINTA. possvel mudar a posio da barra de ferramentas clicando sobre ela e arrastando o mouse.

    2.2 A janela Knowledge-in-a-box (KIB)

    Lista de regras: um duplo-clique abre a regra. possvel arrastar o nome da regra at a posio desejada, para alterar a ordem na qual elas aparecem.

    Clique aqui para criar uma nova regra.

    Abre a regra que est selecionada na lista ao lado.

    Exclui a regra que est selecionada na lista ao lado.

    Chama a janela de edio de variveis.

    Chama a janela de edio de interface.

    Define os objetivos da base de conhecimento.

    Permite a incluso de informaes extras sobre a base.Fecha a base de conhecimento. Somente uma pode estar aberta por vez.

    Opes relativas gerncia de bases.

  • 21 Expert SINTA

    Essa janela traz todas as opes de edio de base, alm de uma lista com todas as regras presentes at o momento. Tais opes, e outras, encontram-se repetidas na barra de ferramentas, inicialmente presente no topo da rea de trabalho do Expert SINTA.

    Deixe o cursor do mouse momentaneamente sobre cada boto para exibir uma descrio breve.

    2.3 Criando variveisAntes de podermos criar regras, necessrio que todas as variveis utilizadas,

    bem como seus respectivos valores, sejam criados. Atravs desse mecanismo, a base fica organizada, fcil de manter e as regras podem ser criadas visualmente. Vejamos os passos necessrios para criao e edio de variveis e valores:

    Na janela da base de conhecimentos, clique o boto Variveis;

    A janela de variveis aberta, e duas caixas de listagem podem ser vistas. A caixa da esquerda representa as variveis j existentes, enquanto da direita, os valores relativos varivel que est atualmente selecionada (clique em determinado item da lista de variveis para exibir os valores correntes);

    Adicionar variveis simples: basta que pressione o boto Adicionar Varivel e, em seguida, digitemos um valor na caixa de texto Varivel. Ateno: Para confirmarmos o novo valor necessrio que se tecle imediatamente aps a digitao ou que se pressione o pequeno boto direita (o que possui a marca de verificao). Para cancelar a insero, s clicar em qualquer outro controle da janela (incluindo os botes OK e Cancelar, os quais fecham a janela).

    Adicionar valores um procedimento anlogo, s necessrio que uma varivel esteja selecionada;

    Para indicar se uma determinada varivel numrica, multivalorada ou univalorada, primeiro selecionamos uma varivel e, em seguida, o tipo desejado entre os botes de opo localizados no canto inferior direito da janela;

    Variveis numricas no podem ter valores pr-definidos. Nesse caso, a lista de valores passa atuar como lista de intervalo, ou seja, nela exibido o intervalo de valores aceitveis para aquela varivel. Intervalos so includos de maneiras idnticas a valores, mas necessrio obedecer a certas regras:

    O p e s r e l a t i v a s j a n e l a K I B .

  • Captulo II - Implementando o sistema 22

    - Os intervalos devem ser da forma a;b ou ;b ou a;, onde a e b representam nmeros reais . Assim sendo

    a;b representa um nmero entre a e b;;b um nmero maior ou igual a b;a; um nmero menor ou igual a a;

    - Somente um intervalo pode ser includo por varivel numrica;

    Obs1.: Mudar de varivel no numrica para numrica pode implicar perda de valores.

    Obs2.: Apagar uma varivel ou valor encontrado em uma regra ou mais regras implica que as mesmas tambm devem ser eliminadas. O Expert SINTA efetua uma confirmao antes de elimin-las.

    Obs3.: Se voc no definir nenhum valor para determinada varivel, o Expert SINTA assume que ela uma varivel lgica, ou seja, que aceita apenas valores Sim e No.

    2.4 Definindo o(s) objetivo(s)

    Todas as variveis includas aparecero deste lado.

    Nessa caixa aparecero os valores relacionados quela determinada varivel.

    Veja a seo 1.3.4 para entender

    melhor a diferena entre

    variveis multi e univaloradas.

    O boto marcado com V confirma alteraes e equivale tecla ENTER. O boto marcado com X cancela alteraes e equivale tecla ESC.

    Pressione OK para fechar essa janela e confirmar as alteraes feitas, no para efetuar uma nica alterao. Para isso, use o boto pequeno marcado com um V verde ou a tecla ENTER.

    Quando esses botes esto com a legenda em cinza, porque realmente no possvel utiliz-los. Se desejar utiliz-los, verifique o voc est fazendo de diferente para isso ocorrer.

  • 23 Expert SINTA

    O objetivo de uma consulta a um especialista encontrar a resposta para um determinado problema. Assim tambm o um sistema especialista. A diferena que, aqui, os problemas so representados por variveis. Antes de podermos executar nosso sistema pela primeira vez, preciso que definamos quais so as variveis (chamadas variveis objetivo) que iro controlar o modo como a mquina de inferncia se comporta.

    Sigamos o seguinte esquema para determinao de objetivos:

    Na janela de base de conhecimentos, pressionemos o boto Objetivos. Aparecer uma janela com duas listas: a lista das variveis comuns e a das variveis objetivo;

    Para fazer de uma varivel comum uma varivel objetivo e vice-versa, selecione e varivel desejada e clique no boto correspondente, aquele que aponta para a lista de destino. A lista com uma seta dupla (seja para a esquerda ou para direita) move todos os itens de uma lista para outra. Para mudar a ordem dos elementos da lista de objetivos, clique em um item e arraste-o at a posio desejada.

    Observao: caso o sistema seja posto em funcionamento sem nenhum objetivo definido, nada acontecer (seria como falar com um especialista sem ter nada para descobrir!)

    Lista das variveis que podem ser utilizadas

    como objetivos do sistema especialista.

    Lista das variveis objetivo.

    Deixe marcada este caixa para o Expert SINTA mostre em destaque os resultados atingidos do objetivo marcado acima. Para maiores detalhes, veja o captulo III.

  • Captulo II - Implementando o sistema 24

    Simulando encadeamento para frente

    O Expert SINTA trabalha naturalmente com encadeamento para trs, mas possvel manipular a mquina de inferncia de modo a simular encadeamento para frente Para tal, as variveis que se deseja encontrar inicialmente devem ser colocadas na lista de objetivos. Obviamente, como no desejado que uma janela de resultados aparea a cada varivel encontrada, possvel desabilitar essa exibio simplesmente desmarcando a caixa Mostrar resultados relativo varivel desejada na janela de edio de objetivos. Para maiores informaes sobre a janela de exibio de resultados, consulte o captulo III, Consultando o sistema especialista.

    2.5 Trabalhando com regrasO Expert SINTA utiliza regras de produo para modelar o conhecimento

    humano, o que o torna ideal para problemas de seleo, no qual uma determinada soluo deve ser atingida a partir de um conjunto de selees.

    Para excluir uma regra, selecione-a na janela da base de conhecimentos e pressione o boto Excluir. Para abrir uma regra, selecione-a na janela da base de conhecimentos e pressione o boto Abrir.

    Para criar uma regra, faa os seguintes passos:

    Clique o boto Nova Regra, na janela da base de conhecimentos;

    Um caixa de dilogo pedir para que voc indique a posio dessa regra em relao s demais (pois a ordem das regras influencia o descobrimento de solues). Selecione a ordem desejada na lista;

    Indique a posio da regra (lembre-se que, em conhecimento procedural, a ordem das regras importante). Se desejar, mude sua posio depois.

    Se a regra que voc est criando muito parecida com outra, possvel reaproveit-la. No exemplo, a regra 33 ser criada a partir de ligeiras alteraes na regra 28.

  • 25 Expert SINTA

    Para inserir uma premissa, marque o local na caixa de listagem na qual se desejar inserir a sentena e clique o boto Inserir. Uma outra janela aparecer com vrias listas.

    A primeira lista indica a varivel a ser utilizada e a ltima o valor com o qual estabelecemos uma relao. tambm possvel identificar o tipo de relao: igualdade (=), diferena (), superioridade (> - somente para variveis

    Varivel: clique na seta ao lado da caixa para exibir uma lista com as variveis criadas.

    Tambm possvel mudar a ordem da regra a partir daqui.

    SOMENTE pressione esse boto QUANDO FINALIZAR a regra.

    Conectivo: escolha o conectivo que ir ligar a sentena de regra s outras sentenas na mesma regra.

    Negao: deixe marcada essa caixa para avaliar essa sentena por sua negativa. Equivale inverter os operadores (transformar = em , , etc.)

    Operador de comparao: estabelece uma relao entre a varivel e o valor (igualdade, diferena, etc.) qual posteriormente ser dado um grau de confiana.

    Valor: clique na seta ao lado da caixa para exibir uma lista com todos os valores relacionados varivel escolhida ao lado.

    Aperte aqui quando terminar de inserir os itens desejados.

    Aperte aqui para inserir uma nova premissa ou concluso. Voc poder inserir vrias sem necessidade de fechar esta janela, contanto que as premissas/concluses inseridas sejam consecutivas.

    Embora no seja necessrio, definir

    um nome para uma regra facilita sua identificao

    posterior.

    aqui que apa-recem as senten-

    as da sua regra. A sentena sele-

    cionada ser aquela que sofre-r

    alteraes.

    Cada um desses botes efetua uma operao diferente

    com a sentena selecionada.

    Deseja criar logo a prxima regra? Clique aqui. A regra aberta no momento ser fechada.

  • Captulo II - Implementando o sistema 26

    numricas), entre outras. Caso a premissa no seja a primeira da regra, voc dever indicar o tipo de conectivo (E ou OU) pelo qual a premissa se liga anterior.

    Para inserir uma concluso, proceda de maneira anloga. escolhendo um item a partir do conectivo ENTO na sua regra. Em concluses, somente o operador de atribuio (=) pode ser utilizado. A ltima lista presente indica o grau de confiana daquela atribuio. Deixar a lista vazia indica uma confiana de 100% (cem por cento).

    Para editar uma sentena, selecione-a e clique o boto Alterar (ou d um duplo clique sobre ela). Para eliminar uma sentena, selecione-a e clique o boto Excluir.

    Observao: tambm possvel visualizar regras em conjunto. Clique no boto Visualizar da janela KIB.

    Aperte aqui para confirmar a mudana de um item, fechando a janela.

    Fecha a janela sem efetuar alteraes.

  • 27 Expert SINTA

    Como posso acelerar a digitao de regras?

    O ambiente do Expert SINTA permite a criao de regras sem grandes esforos. Basta que se sejam seguidas as dicas abaixo:

    Procure definir a priori todas as variveis antes de iniciar as regras. Mas nada impede que uma regra seja iniciada e novas variveis sejam definidas com a regra aberta. Apenas no esquea de fechar a janela de variveisvars com o boto OK antes de prosseguir;

    Use as duas mos. Enquanto uma usa o mouse para selecionar um item na listas com as variveis e seus valores, possvel acelerar digitando a primeira ou as primeiras letras que formam o nome de uma varivel ou valor. Assim, as listas iro abrir prximas ao item desejado;

    Nessa ocasio, tambm possvel utilizar as setas do teclado para cima e para baixo para selecionar um item de uma lista. Digite a primeira ou as primeiras letras de um nome de uma varivel/valor e, em seguida, use a seta para baixo at aparecer o nome desejado. Mesmo em bases grandes, esse um mtodo mais eficaz que digitar todo o nome;

    Use e abuse dos modelos. Eles existem para diminuir ao mximo seu trabalho. muito comum em sistemas especialistas aparecerem regras derivadas de outras, portanto muito comum tambm ser o uso de modelos;

    O boto Nova... na janela de edio de regras acelera bastante o processo. Quando voc terminar a digitao de regra e desejar criar uma nova, aperte esse boto para uma nova surgir e a antiga ser fechada, tudo em um passo s;

    2.6 Definindo interface com o usurioUm sistema especialista implementado com o Expert SINTA comunica-se com

    o usurio final atravs de menus de mltipla escolha (ou escolha simples, se a varivel em questo for univalorada). Estes menus so construdos automaticamente pela shell, mas alguns detalhes devem ser fornecidos pelo criador da base. Os elementos da interface com o usurio so os seguintes:

  • Captulo II - Implementando o sistema 28

    Por exemplo, a pergunta realizada pela mquina de inferncia deve ser personalizada para que seja inteligvel. Quando o Expert SINTA necessita perguntar o valor de determinada varivel, ele cria uma sentena genrica do tipo Qual o valor de x?, onde x o nome da varivel. Deve-se criar uma sentena mais clara atravs do editor de interface.

    Para isso, clique no boto Interface da janela KIB. O Expert SINTA permite modificaes em apenas dois itens: perguntas e explicaes rpidas.

    Pergunta realizada pelo sistema ao usurio.

    Opes referentes

    quela varivel. Foram definidas

    na janela de Variveis.

    Variveis que ainda no possuem perguntas relacionadas.

    Indicativo de que a varivel multi ou univalorada. Definido na janela de Variveis.

    Variveis que j possuem perguntas.

    Explicao rpida sobre aquela pergunta.

    Use esses botes para mandar elementos de uma lista para outra.

    Entrada para grau de confiana: construdo automaticamente.

    Aqui so modificadas as perguntas. As mudanas so acionadas automatica-mente.

    Explicaes sobre a

    pergunta, motivo pelo qual feita, entre outras

    informaes.

    permitido usar graus de confiana na

    resposta? Ento, marque

    esta caixa.

  • 29 Expert SINTA

    Na parte superior direita da janela, encontra-se uma lista das variveis que j possuem perguntas prontas. Para visualiz-las, clique em alguma. Para modificar a pergunta ou o motivo, simplesmente rescreva o contedo das caixas de texto. As mudanas so automticas. Para eliminar uma pergunta, simplesmente mova o item selecionado para a lista da esquerda, pressionando o boto correspondente;

    Na lista superior esquerda, aparecem as variveis que ainda no possuem nenhuma pergunta pronta. Para criar uma nova pergunta, selecione a varivel desejada e mova-o para a lista da direita, pressionando o boto correspondente, e digite o contedo das caixa de texto. As mudanas so automticas.

    2.7 Informaes adicionais sobre a baseA janela Informaes sobre a Base, exibida a partir do boto Informaes da

    janela KIB, permite a definio de informaes esclarecedoras sobre a base, indicao dos autores e definio de contextos de ajuda que podem ser vitais para o aproveitamento do sistema especialista. A janela se divide em duas partes:

    Geral: Aqui, informaes iniciais sobre o sistema so includas, tais como o nome da base, os autores e um texto de abertura. Todo os dados aparecero em uma tela de abertura quando a base colocada em funcionamento. Para permitir a exibio desses dados, deixe marcada a caixa de verificao Exibir tela de abertura, na parte inferior da janela.

    Arquivo de Ajuda: um bom sistema especialista no deve saber somente encontrar respostas, mas tambm fazer o usurio utilizar a resposta com fins prticos. Para isso, o Expert SINTA possibilita a incluso de tpicos de ajuda para os valores possveis de determinados atributos, associando a um arquivo no formato Ajuda do Windows a sua base. Explicaes sobre a

    Deixe marcada se quiser que

    uma tela de abertura com

    essas informaes

    aparea no incio de cada

    consulta.

  • Captulo II - Implementando o sistema 30

    criao de arquivos de ajuda fogem ao escopo do presente documento, mas existem diversas documentaes fornecidas por terceiros. O Expert SINTA tambm no distribui o compilador necessrio para a criao do arquivo final.

    A idia desses textos explicativos no somente ativar uma ajuda on-line quando o usurio estiver utilizando o sistema, mas ir diretamente ao tpico explicativo de uma resposta, quando o Expert SINTA atinge um determinado objetivo. Para isso, o desenvolvedor deve, na janela Informaes sobre a Base, escolher os valores das variveis-objetivo que iro possuir um nmero de contexto de ajuda. Quando o usurio final ativar a ajuda on-line, ela aparecer diretamente no tpico referente soluo especfica. O desenvolvedor tambm deve incluir o nome do arquivo de ajuda na caixa de texto nome do arquivo de ajuda, na mesma janela.

    Por exemplo, no caso da configurao de redes de computadores, o protocolo ideal sugerido pelo sistema foi o TCP/IP. Ento, bastar ao usurio selecionar esse item e acionar a ajuda que imediatamente aparecero informaes sobre tal protocolo.

    Maiores informaes sobre nmeros de contexto de ajuda e compiladores de Windows Help (como o HC31 ou o Microsoft Help Workshop) podem ser conseguidas atravs de terceiros.

    Para garantir melhor aproveitamento da sua base, textos didticos podem ser relacionados a cada soluo encontrada. Para tanto, crie um arquivo de ajuda no formato Ajuda do Windows e defina os contextos de ajuda relativos a cada valor (se desejado) de cada varivel objetivo.

    Digite aqui o nome do arquivo de ajuda.

    Selecione a varivel objetivo

    desejada aqui...

    ...e o valor correspondente aqui.

    Entre o nmero de contexto de ajuda daquele valor e pressione ou o pequeno boto verde ao lado.

    Desfaz a ltima alterao.Confirma mudanas.

    S pressione aqui quando concluir tudo.

  • 31 Expert SINTA

    2.8 OpesPara permitir maior flexibilidade na construo de um sistema especialista, o

    Expert SINTA oferece diversas opes de configurao. Para acess-las, utilize o menu Exibir|Opes. Uma caixa de dilogo com trs partes aparecer.

    Mquina de inferncia: permite pequenas modificaes no comportamento da mquina de inferncia, como o modo pelo qual as premissas so avaliadas.

    Fatores de confiana: aps avaliar todas as premissas de uma regra, o Expert SINTA pode aceit-la ou rejeit-la. Se, ao calcular o fator de confiana final ele for maior que o mnimo estipulado, a regra ser aceita. nessa janela que se define o valor mnimo. Tambm aqui que se pode personalizar as funes de clculo de fatores de confiana.

    Defina aqui qual a precedncia dos operadores lgicos E e OU. Lembre-se da diferena: na expresso A e B ou C, se mativermos a precedncia no e, ela pode ser intepretada como (A e B) ou C. Se a precedncia for do ou, A e (B ou C).

    Dependendo do modo como a precedncia for organizada ou como os fatores de confiana forem definidos, a mquina de inferncia pode saber que uma regra no vai atingir o grau mnimo de confiana para ser aceita antes mesmo de avali-la por completo. Se voc desejar que as regras sejam sempre avaliadas completamente, mesmo quando j se sabe se sero aceitas ou no, marque esta caixa.

  • Captulo II - Implementando o sistema 32

    Senha: um sistema especialista no deixa de ser um programa de computador. Portanto, pode se fazer necessrio algum tipo de proteo sobre este software. O Expert SINTA permite trs nveis de proteo:

    Permitir execuo e visualizao O usurio do seu sistema especialista no tem permisso para modificar

    a base, mas pode execut-la, depur-la e imprimi-la. uma opo para evitar que estranhos modifiquem a base, fazendo com que perca sua consistncia.

    Permitir somente execuo Um pouco mais polmica, essa opo permite que o usurio sem senha

    apenas possa executar o sistema especialista, mas no pode modific-la e menos ainda visualiz-la. Porm, um sistema especialista que no exibe o contedo de suas regras, no permite acompanhar sua execuo e verificar como atingiu o resultado exibido no merece a mesma confiabilidade de um sistema que permite o completo acesso s suas regras. O principal motivo que levaria um projetista a escolher essa opo de restrio o perigo de pirataria do contedo do sistema especialista. Mas, recomenda-se esquecer o risco e dar prioridade confiabilidade de seu trabalho. Alm disso, um sistema especialista que no protegido por nenhuma lei de direitos autorais d sempre a impresso de no ser to profissional quanto deveria.

    Aqui definido o valor de confiana mnimo para que uma regra seja aceita. Coloque na escala percentual: mnimo 0 e mximo 100.

    O Expert SINTA utiliza algumas funes para calcular fatores de confiana em determinados eventos. Estes eventos podem ser uma conjuno, uma disjuno ou uma regra aceita. Pode-se usar as funes padres do Expert SINTA ou criar novas. Cada funo apresenta dois parmetros implcitos, cnf1 e cnf2 (ou seja, o grau de confiana do primeiro termo da conjuno e o grau de confiana do segundo termo da conjuno, respectivamente). Para, por exemplo, mudar a funo da conjuno para o mnimo entre os dois valores (aperte o boto Alterar se a frmula padro estiver sendo utilizada) ao lado da funo de conjuno e digite Min(cnf1, cnf2). Para retorna forma padro, aperte o boto respectivo. Maiores informaes sobre frmulas posteriormente neste captulo (Criando frmulas).

  • 33 Expert SINTA

    Nenhuma permisso Somente pessoas com senha podem utilizar esse sistema especialista.

    O Expert SINTA no pretende criar protees realmente seguras para seu sistema, mas apenas desencorajar modificaes no autorizadas. Se voc realmente deseja criar um senha, clique no boto Nova Senha... (ele se chama Mudar Senha... caso alguma senha j esteja sendo utilizada). Uma caixa de dilogo aparecer:

    O uso de senhas para proteo da base de conhecimento s se efetivar de verdade quando esta caixa de verificao estiver marcada.

    Define diferentes nveis

    de acesso que uma pessoa que

    no dispe de senha tem direito em relao ao

    sistema especialista.

    Clique aqui para chamar a caixa de dilogo de definio de senhas para criar ou apagar uma senha que esteja protegendo o sistema especialista.

    Digite aqui a senha que ir proteger seu sistema. Note que ela no ir aparecer na tela.

    Repita a senha que foi digitada acima para sua maior segurana, j que no se est vendo qual a palavra-chave.

    Se voc no quiser mais nenhuma senha no seu sistema, clique esse boto.

  • Captulo II - Implementando o sistema 34

    2.9 Criando frmulasQuando se utiliza variveis numricas, comum que queiramos atribuir a elas

    valores extrados de frmulas matemticas, ou compar-las a valores equivalentes. Se voc j sabe como criar regras, j deve saber como inserir uma sentena de regra contendo uma varivel numrica e um valor. Para inserir uma funo ou expresso, simplesmente digite-a no lugar reservado ao valor. Deve-se, porm, seguir as seguintes regras:

    Os operadores matemticos vlidos so: + (adio), - (subtrao), * (multiplicao), / (diviso), + (sinal unrio indicando que um nmero positivo), - (sinal unrio indicando que um nmero negativo);

    As seguinte funes podem ser utilizadas:- Min(a, b): retorna o menor valor entre a e b;- Max(a, b): retorna o maior valor entre a e b;- Sqr(x): raiz quadrada de x;- Exp(x): exponencial de x;- Pot(a, b): retorna a elevado a b;- Log(a, b): logaritmo de a na base b;- Ln(x): logaritmo natural de x;- Abs(x): mdulo (valor absoluto) de x;- Sen(x): seno de x, x em radianos;- Cos(x): cosseno de x, x em radianos;- Tan(x): tangente de x, x em radianos;

    Variveis podem ser utilizadas nas expresses. Para atribuir a raiz de uma varivel a outra, pode-se fazer algo do tipo a = sqr(b). A diferena entre maisculas e minsculas no considerada. Ateno: se o nome da varivel contiver espaos em branco ou smbolos, coloque-a na expresso entre aspas. Por exemplo: Min(juros de dezembro, juros de janeiro);

    Se o valor da expresso for desconhecido, uma varivel que esteja recebendo o valor retornado tambm ser instanciada para desconhecido;

    possvel utilizar parnteses e aninhar funes.

  • 35 Expert SINTA

    2.10 SumrioNeste captulo, vimos:

    Como tratar com os arquivos de base de conhecimento, os denominados arquivos BCM;

    Quais so as entidades que formam a base de conhecimento: variveis, objetivos, regras, perguntas, informaes adicionais;

    A janela Knowledge-in-a-Box e os editores de entidades do Expert SINTA.

    Opes de configurao e senhas;

    Usando frmulas matemticas;

    A esta altura, voc est apto a criar seu especialista digital!

  • Captulo III - Consultando o sistema especialista

    Como utilizar um sistema especialista construdo com o Expert SINTA, alm de permitir entender o seu funcionamento.

    O Expert SINTA mantm uma interface uniforme para a consulta de qualquer base de conhecimento criada em seu ambiente. Existem dois modos pelos quais podem ser efetuadas consultas:

    a execuo usual, na qual o usurio acompanha uma sequncia de menus de mltipla (ou nica) escolha, nos quais deve-se indicar informaes que resultaro nas concluses atingidas pelo sistema especialista;

    o modo de acompanhamento, pelo qual possvel examinar o contedo das regras que formam o sistema, bem como acompanhar a execuo passo a passo e as instncias (valores) que cada varivel possui em determinado momento. Para utilizar este modo, preciso que o projetista da base no tenha protegido o acesso s regras por meio de uma senha

    Um sistema especialista procura atingir concluses para determinados objetivos. Sempre que um desses objetivos atingido, ou quando se esgotam todas as possibilidades, o Expert SINTA apresentar uma janela com os resultados e o acompanhamento de como se chegou quela concluso (tambm necessrio que o projetista no tenha restringido o acesso).

    Alguns sistemas tambm devem trazer um sistema de ajuda on-line, pelo qual sero dadas maiores informaes de como se deve melhor utilizar as respostas conseguidas, bem como explicaes mais detalhadas sobre as funes daquele determinado sistema especialista.

  • 37 Expert SINTA

    3.1 Conceitos rpidosEstes conceitos so para entendimento das sees a seguir. Se voc leu os

    captulos anteriores, encontrar alguns termos repetidos:

    projetista do conhecimento: o encarregado de transporta o conhecimento humano para uma srie de passos que um computador capaz de entender;

    base de conhecimento: o conjunto de informaes, representado no Expert SINTA na forma de regras SE-ENTO, as quais supostamente devem agir conforme um especialista humano. Seria, ento, a alma do sistema especialista;

    variveis: so os elementos do mundo real representados na base de conhecimento, como, por exemplo, uma tipo de doena, a quilometragem de um carro, pragas de um cajueiro, a posse ou no de crdito em determinada agncia bancria, etc.

    valores: so instncias das variveis, ou seja, uma varivel pode possuir um ou mais valores (quem decide o projetista do conhecimento). Tambm podem existir casos nos quais uma varivel permanece DESCONHECIDA, ou seja, o sistema no conseguiu nenhum valor satisfatrio para ela;

    depurao: acompanhamento da execuo da consulta com o intuito de compreender como o sistema especialista chegou quela(s) concluso(es). Tambm pode ser usada com o intuito de corrigir falhas na base de conhecimento;

    3.2 Guia visual de operaesExistem dois modos pelos quais se pode acompanhar uma consulta no Expert

    SINTA. Utilizando o menu da janela principal ou a barra de ferramentas. As operaes de execuo/depurao podem ser:

    iniciar a consulta;

    interromper a execuo para saber que regra est utilizando naquele ponto;

    executar passo a passo;

    adicionar elementos da base (variveis) para acompanhar os valores que eles recebem durante a consulta;

  • Captulo III - Consultando o sistema especialista 38

    ver esses valores escolhidos;

    abandonar a consulta.

    Os comandos equivalentes na barra de ferramentas so:

    figura 3.1 - A barra de ferramentas para execuo de consultas

    A seguir, so especificados os comandos equivalentes atravs do menu. Aqueles que estiverem em cinza no esto disponveis naquele momento. Os itens de menu no explicados aparecem em figuras anteriores. Alguns itens apresentam um nome representando uma tecla (ou uma combinao de teclas) que pode ser utilizada em substituio ao menu. Consulte a ajuda do Windows para maiores informaes sobre teclas de atalho.

    Antes do incio da consulta:

    Durante o modo de execuo :

    Durante o modo de acompanhamento:

    Inicia a execuo/termina o modo de acompanhamento e retorna ao modo de execuo.

    Interrompe a execuo da base, exibindo as regras no modo de acompanhamento.

    Cancela a consulta. O sistema pedir confirmao.

    Estando no modo de acompanhamento, avana sentena por sentena na base de conhecimento (tambm conhecido como execuo passo a passo).

    Visualiza todas os valores das variveis que voc escolheu.

    Escolhe variveis para que sejam exibidos seus valores durante uma consulta.

    Inicia a execuo do sistema especialista.

    Coloca o sistema no modo de acompanhamento.

    Encerra a consulta antes do final.

    Inicia a execuo no modo de acompanhamento. Exibe os valores das variveis que voc escolheu.

    Escolhe variveis para exibio.

    Volta para a ltima pergunta realizada ao usurio pelo sistema.

  • 39 Expert SINTA

    figura 3.2 - Os itens de menu para execuo de consultas

    3.3 A consultaIniciando-se a consulta, seja no modo de execuo ou acompanhamento, o

    sistema especialista poder apresentar uma tela de abertura, com informaes sobre seu funcionamento, os autores e casos aos quais ele se aplica. Leia atentamente esse texto de abertura, pois poder trazer informaes teis. Se o boto de ajuda estiver disponvel (aquele situado no canto inferior direito), aperte-o se desejar informaes mais detalhadas.

    Para iniciar a consulta, pressione o boto OK. O boto Cancelar abandona a execuo do sistema especialista. O boto Ajuda chama a ajuda da base, se ela estiver disponvel.

    figura 3.3 - Uma abertura tpica de um sistema especialista

    Obs.: Nem todas os sistemas trazem uma abertura, pois sua criao depende do projetista do conhecimento.

    A consulta se desenvolve por meio de menus de mltipla (ou nica) escolha. Um menu tpico mostrado na figura 3.4. A figura 3.5 mostra um menu para entrada de valores numricos.

    Retorna ao modo de execuo.

  • Captulo III - Consultando o sistema especialista 40

    figura 3.4 - Uma pergunta realizada pelo sistema a voc

    figura 3.5 - Uma pergunta sobre um valor numrico

    Escolha a(s) opo(es) desejada(s) marcando as respectivas caixas de verificao, localizadas sempre esquerda de cada alternativa. Observe, direita, na figura 3.4, a possibilidade de entrar com o grau de confiana da sua resposta. Graus de confiana so utilizados quando no se possui certeza absoluta sobre um fato. Assim sendo, voc pode expressar sua dvida por meio de um nmero percentual, ou seja, a sua resposta ter validade no intervalo de zero a cem por cento. Cada resposta assinalada pode ter o seu prprio grau de confiana.

    Caso realmente no saiba responder quela pergunta, simplesmente deixe todas as alternativas em branco. O Expert SINTA entender que voc no sabe como responder ao questionamento apresentado.

    No esquea que, a qualquer momento, possvel mudar o modo de execuo da base ou interromp-la usando o menu ou a barra de ferramentas.

    As opes de escolha aparecem dentro desse grupo de caixas de verificao.

    Preste ateno quantas opes so passveis de escolha.

    Qual o grau de confiana da sua resposta? Coloque aqui, em porcenta-gem.

    Pressione aqui para confirmar a sua resposta. Se esse boto estiver habilitado, possvel ler algumas explicaes extras sobre a

    importncia daquela pergunta.

  • 41 Expert SINTA

    3.4 As janelas de acompanhamentoQuando se est no modo de acompanhamento, uma nova janela sempre estar

    aberta, o depurador (figura 3.6).

    figura 3.6 - O depurador

    O depurador exibe, em sua caixa de listagem, todas as regras da base de conhecimento. A sentena em destaque aquela que est sendo analisada no momento pela mquina de inferncia. Observe que possvel rolar a lista para cima e para baixo, exibindo o resto da base, mas somente a linha representando o ponto de parada pode ser selecionada.

    Utilize o menu Depurar|Passo, ou o boto respectivo da barra de ferramentas, ou ainda a tecla F8 para continuar a acompanhar, passo a passo, a execuo do sistema. Se o sistema estiver realizando uma pergunta para voc, primeiro responda antes de executar um passo, ou nada acontecer.

    Fechar o Depurador equivale a voltar ao modo de execuo. Se voc deseja abandonar a consulta, utilize os mtodos explicados anteriormente neste captulo.

    Para acompanhar mudanas nas instanciaes das variveis, primeiro deve-se escolher quais delas se deseja que sejam acompanhadas. Use o menu Depurar|Adicionar Variveis..., ou o boto respectivo. A caixa de dilogo da figura 3.7 aparecer.

  • Captulo III - Consultando o sistema especialista 42

    figura 3.7 - Caixa de dilogo Adicionar Variveis

    Selecione uma ou mais variveis. Mantenha pressionada a tecla CONTROL para selecionar mais de uma. Use a tecla SHIFT para selecionar uma seqncia. Ao apertar o boto OK, elas iro para a lista de variveis acompanhadas.

    possvel exibir essa lista a qualquer momento. Use o menu Depurar|Variveis, ou o boto respectivo da barra de ferramentas, ou ainda as teclas CONTROL e R ao mesmo tempo.

    figura 3.8 - A lista de variveis acompanhadas

    Sempre que a consulta alterar uma dessa variveis, essa janela atualizar-se- automaticamente. Para retirar uma varivel da lista de acompanhamento, selecione-a com o mouse e pressione a tecla DELETE.

    Relembrando: para poder utilizar livremente as janelas de acompanhamento, necessrio que o projetista da base no tenha inserido uma proteo por senha.

    S sero exibidas as variveis que ainda no foram adicionadas.

  • 43 Expert SINTA

    3.5 Compreendendo os resultados atingidosComo foi dito anteriormente, o sistema especialista divide a sua consulta em

    uma busca de objetivos. Ao final de cada busca, uma janela de resultados apresentada. Ela se divide em quatro partes:

    Resultados: so apresentados todos os valores atingidos pelo objetivo, com os respectivos graus de confiana. Caso o sistema no tenha chegado a nenhuma soluo, ele indicar. Observe tambm o pequeno boto localizado no canto superior esquerdo, marcado com um ponto de interrogao. Se ele estiver habilitado, significa que o projetista da base tambm criou uma ajuda sobre o sistema especialista. Assim sendo, selecione no grid de qual soluo voc deseja maiores explicaes (um leve retngulo envolve a seleo). Em seguida, aperte esse boto, e um texto explicativo sobre o que voc deve fazer com essa soluo aparecer. Ou d um clique duplo sobre a resposta, ou ainda pressione F2 com a soluo desejada selecionada. O boto Ajuda localizado direita apenas mostra como se deve utilizar a janela de resultados;

    figura 3.9 - Os resultados atingidos

    Histrico: exibe todo o caminho realizado pelo sistema especialista at atingir quela(s) soluo(es). Mova a lista para cima e para baixo para visualizar o resto. Clique nos cones para fechar regras ou abri-

    O objetivo em questo.

    O boto est habilitado, indicando que esse sistema especialista possui ajuda.

    Este item est selecionado

    Indica o grau de confiana das solues respectivas.

  • Captulo III - Consultando o sistema especialista 44

    las, facilitando a visualizao. Esta pgina s est disponvel livremente se o projetista da base no houver protegido a base de conhecimento;

    figura 3.10 - A rvore de pesquisa

    Todos os valores: uma generalizao da primeira pgina. Exibe todos os valores de todas as variveis. D um clique duplo na figura indicando a varivel para exibir ou esconder todos os seus valores. Tambm s est disponvel com permisso do projetista.

    Clique aqui para expandir todas as sentenas.

    Clique aqui para fechar todos os itens, exibindo apenas a chama-da de cada regra.

    Clique aqui rolar a rvore para cima e para baixo.

  • 45 Expert SINTA

    figura 3.11 - Todos os valores atingidos pelo sistema especialista

    O sistema: exibe as todas as regras do sistema especialista. til tambm para entender como o sistema chegou quela(s) concluso(es), em conjunto com o Histrico.

    figura 3.12 - A base de conhecimento

    Clique aqui para mostrar os valores de todas as variveis.

    Clique aqui para esconder todos os valores.

    D um clique duplo nessa figurinha para abrir a varivel.

  • Captulo III - Consultando o sistema especialista 46

    Essa janela pode aparecer em uma consulta tantas vezes quanto for o nmero de objetivos a serem alcanados.

    Pressione o boto Fechar para continuar a consulta. Parabns, voc agora deve saber tudo sobre a utilizao de um sistema especialista construdo com o Expert SINTA.

  • 47 Expert SINTA

    3.6 SumrioNeste captulo, vimos:

    Reviso de conceitos bsicos sobre variveis e valores;

    Itens de menu e botes de atalho para aes de consulta;

    Estrutura da janela de perguntas do Expert SINTA;

    Acompanhamento da consulta;

    A janela de resultados.

    Voc pode utilizar este captulo para a elaborao de manuais dos sistemas especialistas de sua autoria!

  • Apndice A - Regras do SECAJU 48

    Agradecimentos

    O Expert SINTA foi criado pelo Grupo SINTA (Sistemas INTeligentes Aplicados), um projeto UFC / UECE. A presente ferramenta foi o fruto do primeiro ano de trabalho desse grupo. O grupo espera receber vrias crticas e sugestes sobre o que foi apresentado at o momento. O contato pode ser feito pelo endereo WWW do Laboratrio de Inteligncia Artificial (LIA) - http://www.lia.ufc.br.

    Grupo SINTA - Sistemas INTeligentes AplicadosCoordenao geral: Prof. Jos Helano Matos NogueiraIntegrantes:

    Joo Fernando Lima AlcntaraRafael Castro de AndradeRicardo Bezerra de Andrade e Silva

    Expert SINTA - idia original de Ricardo Sousa Silvestre, ex-integrante, 1995

    SECAJU - Sistema especialista em pragas e doenas do cajueiro - de autoria dos seguintes membros do CNPAT:

    Qulzia Maria Silva Melo (Doutora em Entomologia)Antonio Lindemberg M. Mesquita (Mestre em Entomologia)Lianna Maria Saraiva Teixeira (Mestre em Fitossanidade)Francisco das Chagas O. Freire (Doutor em Fitopatologia).

    SECAJU - CNPAT, 1988 - 1996

    Agradecimentos especiais: Genaro Frana - EMBRAPA Marcelino Pequeno - UFCTarcsio Pequeno - UFC

    Expert SINTA1995, 1996 - Laboratrio de Inteligncia Artificial/LIA-UFCProjeto financiado pela CAPES e CNPq.

    Apndice A - Regras do SECAJU 48

  • pApndice A - Sistema de Diagnstico de Pragas e Doenas do Cajueiro (SECAJU)

    A seguir, as regras que compem o SECAJU, base de conhecimento de autoria de membros do CNPAT.

    Objetivos:pragasuspeita de pragadoena suspeita de doena

    Regras:

    Regra 1SE castanha broqueada com amndoa totalmente destruda = SimENTO praga = traa das castanhas CNF 100%

    Regra 2SE galerias nos ramos ou inflorescncias = SimENTO praga = broca das pontas CNF 100%

    Regra 3SE inflorescncias = Murchas ou secasE brotaes novas murchas = SimE orifcios laterais nos ramos ou inflorescncias = SimENTO praga = broca das pontas CNF 100%

    Regra 4SE inseto mole amarelo ou verde = SimENTO praga = pulgo das inflorescncias CNF 100%

    Regra 5SE caro estreito ou longo nas inflorescncias = SimENTO praga = eriofideo das flores CNF 100%

    Regra 6SE inseto com cinta avermelhada sob as folhas = SimENTO praga = tripes CNF 100%

    Regra 7SE lagarta cinza lisa com partes pretas e manchas brancas = SimOU lagarta enrolada em folha = SimOU espirais de ovos = SimENTO praga = lagarta saia justa CNF 100%

    p

  • Apndice A - Regras do SECAJU 50

    Regra 8SE lagarta grande verde - alaranjada = SimENTO praga = lagarta verde CNF 100%

  • 51 Expert SINTA

    Regra 9SE lagarta verde com plos avermelhados e urticantes = SimENTO praga = lagarta das folhas CNF 100%

    Regra 10SE lagarta pequena com plos longos e verdes = SimENTO praga = lagarta vu de noiva CNF 100%

    Regra 11SE besourinhos vermelhos = SimOU larvas marrom - claras e lentas = SimENTO praga = besouro vermelho CNF 100%

    Regra 12SE secreo pulverulenta branca sob as folhas = SimENTO praga = mosca branca CNF 100%

    Regra 13SE folhas do broto terminal repolhadas = SimENTO praga = larva do broto terminal CNF 100%

    Regra 14SE espuma sobre inflorescncias ou maturis = SimENTO praga = cigarrinha CNF 100%

    Regra 15SE praga broca das pontasE goma nos ramos = SimENTO suspeita de praga = broca das pontas CNF 30%

    Regra 16SE praga broca das pontasE brotaes novas murchas = SimENTO suspeita de praga = broca das pontas CNF 40%

    Regra 17SE praga broca das pontasE inflorescncias = Murchas ou secasENTO suspeita de praga = broca das pontas CNF 40%

    Regra 18SE praga pulgo das inflorescnciasE inflorescncias = Murchas ou secasE maturis = DeformadosENTO suspeita de praga = pulgo das inflorescncias CNF 20%

    Regra 19SE praga pulgo das inflorescnciasE mela nas inflorescncias, folhas e maturis = SimENTO suspeita de praga = pulgo das inflorescncias CNF 20%

  • Apndice A - Regras do SECAJU 52

    Regra 20SE praga eriofideo das floresE queda das inflorescncias = SimENTO suspeita de praga = eriofideo das flores CNF 50%

    Regra 21SE praga eriofideo das floresE inflorescncias clorticas = SimENTO suspeita de praga = eriofideo das flores CNF 70%

    Regra 22SE praga tripesE folhas = Com colorao prateadaENTO suspeita de praga = tripes CNF 45%

    Regra 23SE praga lagarta saia justaE praga lagarta das folhasE praga lagarta verdeE praga lagarta vu de noivaE praga besouro vermelhoE diminuio da rea foliar = SimENTO suspeita de praga = lagarta saia justa CNF 50% suspeita de praga = lagarta da folhas CNF 50% suspeita de praga = lagarta verde CNF 50% suspeita de praga = lagarta vu de noiva CNF 50% suspeita de praga = besouro vermelho CNF 50%

    Regra 24SE praga lagarta saia justaE teias envolvendo inflorescncias e brotaes novas = SimENTO suspeita de praga = lagarta saia justa CNF 100%

    Regra 25SE praga besouro vermelhoE folhas = PerfuradasE ocorrncia de janeiro a abril = SimENTO suspeita de praga = besouro vermelho CNF 50%

    Regra 26SE fumagina na face superior das folhas = SimENTO suspeita de praga = mosca branca CNF 70%

    Regra 27SE inflorescncias Nenhum valor encontradoE maturis = RachadosOU maturis = Necrosados (muito escuros)OU maturis = MumificadosENTO doena = antracnose CNF 100%

  • 53 Expert SINTA

    Regra 28SE bolor negro na face inferior das folhas = SimENTO doena = mofo preto CNF 100%

    Regra 29SE cinza vegetal sobre as folhas = SimENTO doena = oidio CNF 100%

    Regra 30SE doena antracnoseE folhas = DeformadasOU folhas = Esfarelam facilmente quando amassadasE manchas irregulares nas folhas = SimENTO suspeita de doena = antracnose CNF 75%

    Regra 31SE doena antracnoseE folhas = DeformadasOU folhas = Esfarelam facilmente quando amassadasE manchas irregulares nas folhas = SimE folhas = Com exsudao de resina (goma)ENTO suspeita de doena = antracnose CNF 85%

    Regra 32SE doena oidioE queda das inflorescncias = SimENTO suspeita de doena = oidio CNF 50%

    Bem-Vindo ao Expert SINTACaptulo I - Planejando um sistema especialista1.1 Arquitetura de um sistema especialista no Expert SINTA1.2 Utilizando regras de produo1.2.1 Viso geral1.2.2 As regras no Expert SINTA

    1.3 Acompanhando a execuo de um sistema1.3.1 Conhecimento procedural x conhecimento declarativo1.3.2 O mtodo de extrao procedural de conhecimento do Expert SINTA1.3.3 Exemplo de encadeamento para trs1.3.4 Variveis univaloradas x variveis multivaloradas1.3.5 Leitura adicional: conhecimento monotnico x conhecimento no-monotnico1.4.1 Viso geral1.4.2 O clculo de probabilidades no Expert SINTA

    1.5 Lidando com o desconhecido1.6 Sumrio

    Captulo II - Implementando o sistema2.1 Gerenciando bases2.2 A janela Knowledge-in-a-box (KIB)2.3 Criando variveis2.4 Definindo o(s) objetivo(s)2.5 Trabalhando com regras2.6 Definindo interface com o usurio2.7 Informaes adicionais sobre a base2.8 Opes2.9 Criando frmulas2.10 Sumrio

    Captulo III - Consultando o sistema especialista3.1 Conceitos rpidos3.2 Guia visual de operaes3.3 A consulta3.4 As janelas de acompanhamento3.5 Compreendendo os resultados atingidos3.6 Sumrio

    AgradecimentosApndice A - Sistema de Diagnstico de Pragas e Doenas do Cajueiro (SECAJU)