• Nenhum resultado encontrado

CAPÍTULO 4 SISTEMAS BASEADOS EM CONHECIMENTO

4.6 REPRESENTAÇÃO DO CONHECIMENTO (RC)

A Representação do Conhecimento (RC) pode ser entendida como uma forma sistemática de estruturar e codificar o que se sabe sobre uma determinada aplicação. Do ponto de vista da estrutura de representação, o conhecimento pode ser considerado um conjunto de fragmentos que são acessados pelo processo de inferência. A adequação heurística da estrutura de RC pode ser analisada sob dois aspectos: em relação às propriedades dos fragmentos e em relação às propriedades da estrutura (FERNANDES, 2003). Quanto à codificação, ao contrário de uma codificação qualquer ou procedural, uma RC deve apresentar as seguintes características (BITTENCOURT, 2001):

● Ser compreensível ao ser humano, pois caso seja necessário avaliar o estado de conhecimento do sistema, a RC deve permitir a sua interpretação;

● Abstrair-se dos detalhes de como funciona internamente o processador de conhecimento que a interpretará;

● Ser generalizável, ao contrário do conhecimento em si que é individual. Uma representação necessita de vários pontos de vista do mesmo conhecimento, de modo que possa ser atribuída a diversas situações e interpretações.

Como propriedades dos fragmentos de conhecimento, cita-se (BITTENCOURT, 2001):

● Granularidade ou nível de detalhe do fragmento;

● Disponibilidade, pois os fragmentos do conhecimento podem ser explicitamente representados ou não. Exemplos de conhecimento implícito são as heranças na programação que utilizam modelagem orientada a objetos;

● Credibilidade que está associada ao grau de certeza destes fragmentos. Como propriedade da estrutura, cita-se (BITTENCOURT, 2001):

● Modularidade que vai mostrar o quão fácil é adicionar ou modificar os fragmentos de conhecimento.

Existem várias técnicas de RC e para avaliar essas técnicas existem alguns critérios, dos quais os principais são (RICH, 1993):

● Adequação Lógica: observa se o formalismo usado é capaz de expressar o conhecimento do domínio que se deseja representar;

● Conveniência Notacional: verifica as convenções da linguagem de representação. Se essas forem muito complicadas, a tarefa de codificação torna-se extremamente complexa;

● Adequação Inferencial: capacidade de manipular as estruturas representacionais de modo a derivar novas estruturas que correspondam a novos conhecimentos, inferidos a partir de conhecimento antigos;

● Eficácia Inferencial: capacidade de incorporar à estrutura de conhecimento informações adicionais que podem ser utilizadas para focalizar a atenção dos mecanismos de inferência nas direções mais promissoras;

● Eficácia Aquisitiva: capacidade de adquirir um novo conhecimento de maneira facilitada. O caso mais simples envolve a inserção direta, por um EH, na base de conhecimento. Idealmente o próprio programa deveria ser capaz de controlar a AC diretamente do EH.

A RC é um dos problemas cruciais de IA, pois não existe uma teoria geral de RC. Entretanto, se nenhum bom mapeamento puder ser definido a partir de um problema, então não importa a competência do programa para solucionar problemas, ele não será capaz de produzir respostas que correspondam as respostas reais para o problema. (RICH, 1993).

Muitas técnicas de RC têm sido estudadas pelos pesquisadores de IA. Nos itens seguintes são apresentadas as técnicas de RC utilizadas neste trabalho. No Apêndice B são mostradas outras técnicas de RC que foram estudadas durante a pesquisa bibliográfica para embasamento teórico deste trabalho.

a) Regras de Produção

Os primeiros SBC’s foram sistemas baseados em regras. Esses sistemas se inspiraram na idéia que o processo de tomada de decisão humano poderia ser modelado por meio de regras do tipo { SE Condições ENTÃO Conclusões FAÇA Ações }. Portanto, as regras podem expressar relacionamentos lógicos e equivalências de definições para simular o raciocínio humano (REZENDE, 2003).

A parte SE de uma regra é uma lista de condições a serem satisfeitas, a parte ENTÃO é uma lista de conclusões e FAÇA são as ações a serem executadas. Cada uma das condições da lista é verificada, e se todas forem satisfeitas, as conclusões são consideradas verdadeiras e as ações serão executadas. Assim como outros esquemas de representação, as regras podem ser usadas para justificar a conduta do sistema na busca da solução. Entre várias alternativas de RC, as regras constituem uma forma natural de representar o conhecimento de um EH (REZENDE, 2003).

As grandes vantagens da regra são a naturalidade e a uniformidade. A regra é natural, pois é a forma de representação que as pessoas e especialistas normalmente empregam no dia a dia, o que as tomam fáceis de serem entendidas. Uniformes porque normalmente as regras são escritas segundo um padrão, na forma de pares de expressão consistindo em uma condição e uma ação. Como desvantagem tem-se a dificuldade de compreensão do fluxo de informações em um SBC. Esta dificuldade pode ser contornada em algumas situações onde é possível separar as regras em grupos (RICH, 1993).

b) Orientação a Objetos

Segundo Rezende (2003), a orientação a objetos reúne características tanto das redes semânticas quanto dos frames. Entretanto, neste trabalho, o estudo de frames e redes semânticas, mostradas no Apêndice B, têm caráter eminentemente histórico e didático, visto que os SBC’s contemporâneos vêm utilizando orientação a objetos em vez destas técnicas. Na orientação a objetos a estratégia principal é representar o conhecimento como conjuntos completos de objetos com comportamentos. Os objetos são definidos em classes hierarquicamente estruturadas, de modo que níveis inferiores na estrutura acessam atributos e relacionamentos de níveis superiores (REZENDE, 2003). A potencialidade da representação orientada a objeto está relacionada com propriedades como abstração, encapsulamento, herança e polimorfismo, caracterizadas a seguir (GONZALEZ e DANKEL, 1993):

● Abstração: ignora aspectos de algumas entidades, concentrando-se naqueles aspectos mais relevantes para a resolução do problema corrente;

● Encapsulamento: separação dos aspectos externos de um objeto, acessíveis por outros, dos detalhes internos da implementação que ficam ocultos dos demais. É usado no

desenvolvimento de uma estrutura global de programas, onde cada parte do programa deve conter tarefas específicas, revelando tão pouco quanto possível, os detalhes internos;

● Herança: permite expressar características comuns possuídas por uma coleção de diferentes classes de objetos em uma só vez;

● Polimorfismo: permite que uma mesma mensagem seja respondida por diferentes classes de maneira própria de cada classe. Onde mensagem é uma solicitação ou comando enviado por um objeto emissor para um objeto receptor para realização de um serviço ou processamento; A flexibilidade na descrição é o ponto mais forte desta técnica de representação. Um conjunto básico de objetos pode ser estabelecido e então ser utilizado na implementação de vários sistemas através de modificações, de acordo com cada situação (REZENDE, 2003).

c) Orientação a Objetos Associada a Regras de Produção

A orientação a objetos oferece uma representação estrutural concisa de relações estáticas, mas não oferece facilidades diretas para descrever declarativamente como o conhecimento armazenado deve ser utilizado. Essa deficiência da representação orientada a objetos pode ser tratada com sucesso por meio do uso de regras de produção. Por isso, está cada vez mais difundido o uso de regras de produção combinadas com orientação a objetos, de maneira a explorar as vantagens que as duas representações oferecem (REZENDE, 2003).

Segundo Rezende (2003), enquanto a orientação a objetos oferece uma forma rica, simples e natural para expressar os objetos do domínio, suas relações e a forma de comportamento, as regras de produção oferecem um meio simples e natural de expressar o processo de raciocínio do sistema.

4.6.1 Considerações sobre Representação de Conhecimento (RC)

A RC consiste nos caminhos que podem ser trilhados para codificar o conhecimento em um programa computacional. A bibliografia estudada revela que, a técnica de RC mais adequada depende do tipo do problema e da área na qual o SBC está sendo usado, não havendo uma regra geral de representação que atenda a todas as situações.

Entretanto cabe ressaltar que, sistemas baseados em um único formalismo de RC (em particular regras de produção) limitam o tipo de informação que pode ser representado e tendem a ficarem ineficientes à medida que cresce a quantidade e os tipos de informações que precisam ser armazenadas. Assim, SBC’s híbridos podem ser encarados como uma solução adequada, pois combinam as vantagens dos formalismos por eles utilizados.

Neste trabalho se utilizou a orientação a objetos associada a regras de produção, com auxílio da shell FuzzyClips, os Capítulos 5 e 6 mostram mais detalhes deste processo.