• Sonuç bulunamadı

Um Sistema Especialista (SE) é um programa computacional, que utiliza o conhecimento de um especialista para inferir conhecimento em um determinado domínio. Sendo assim, sistemas especialistas são programas sofisticados, que manipulam conhecimento para resolução de problemas, em áreas restritas de um dado domínio. Da mesma forma que os especialistas humanos, tais sistemas, se utilizam de lógica simbólica e regras oriundas da prática para encontrar as soluções [Brasil 99].

Um SE como ilustrado na Figura 5.1 é composto dos seguintes módulos básicos [Widman 1998]:

• Base de Conhecimento: contém o conhecimento especializado a ser utilizado nas decisões, o qual pode ser estruturado e codificado de diversas maneiras; • Mecanismo de Inferência: implementa um algoritmo, capaz de tomar

decisões a partir dos dados fornecidos pelo usuário do sistema e do conhecimento armazenado em sua base;

• Interface: tem por objetivo realizar o diálogo entre o SE e o usuário. O usuário pode ser um humano ou um outro programa computacional.

Além desses módulos básicos, outros componentes podem estar presentes em um SE, destacando-se o componente Contexto e o Módulo de Execução. O Contexto, também chamado de memória de trabalho, é o componente que armazena os dados do problema que se deseja resolver. O Módulo de Execução é o componente que tem como objetivo apresentar os passos que foram executados, para que o SE tome uma determinada decisão [Krishnamoorthy 96], [Liebowitz 97], [Merrit 89].

Para entender um SE, é também necessário conhecer as pessoas que estão relacionadas com seu desenvolvimento, implementação e utilização. Essas pessoas são [Merrit 89]:

• Especialista: o indivíduo ou grupo de indivíduos que tem conhecimento para a resolução do problema que o SE pretende resolver.

• Engenheiro do Conhecimento: o indivíduo que codifica o conhecimento do especialista de uma forma declarativa que possa ser usado pelo SE.

• Usuário: o indivíduo que consulta o sistema, para recuperar as informações fornecidas pelo especialista.

Base de Conhecimento Mecanismo de Inferência I N T E R F A C E

SE

Usuário

CAPÍTULO 5. ESCALONADOR INTELIGENTE DE TRANSAÇÕES – EIT 51 Como em qualquer outro programa computacional, existem diversas metodologias e processos para seu desenvolvimento. O processo específico de construção de um SE mostrado na Figura 5.2, é denominado Engenharia do Conhecimento (EngC). O engenheiro do conhecimento (como apresentado no parágrafo anterior) é responsável pela implementação desses sistemas. Tal processo abrange a Análise de viabilidade do Sistema e definição do escopo, passando pelas fases de Aquisição de Conhecimento, Representação de Conhecimento, Implementação e manutenção, chegando até a fase de Elaboração dos documentos e manuais do sistema [Gottlob 90].

A seguir são apresentadas de maneira resumida, as fases de Aquisição do Conhecimento e Representação do Conhecimento, consideradas as mais importantes no desenvolvimento de um SE.

5.2.1 Aquisição do Conhecimento

Aquisição do conhecimento é o processo de extração, estruturação e organização do conhecimento, proveniente de várias fontes de conhecimento, freqüentemente especialistas humanos, de tal forma que o raciocínio humano para resolver problemas de um domínio específico, possa ser capturado e transformado de maneira compreensível para o computador. Conhecimento é o componente mais importante de um SE. O conhecimento capturado é a base para um processo de resolução de um sistema especialista [Liebowitz 1997].

A fase de Aquisição de Conhecimento divide-se em duas principais etapas: a Elicitação do Conhecimento e a Representação do Conhecimento [Brasil 94], [Rojas 03]. Essas duas etapas são descritas a seguir.

5.2.1.1 Elicitação do Conhecimento

A EIC é a etapa mais importante da Aquisição do Conhecimento. Nessa fase, o engenheiro de conhecimento extrai o conhecimento do especialista do domínio, com o objetivo de permitir a construção de um modelo desse conhecimento [Brasil 94], [Liebowitz 97], [Canuto 03].

Identificação Viabilidade conhecimentoAquisição de

Verificação e validação Representação do conhecimento Implementação Instalação Manutenção

CAPÍTULO 5. ESCALONADOR INTELIGENTE DE TRANSAÇÕES – EIT

52

Existem várias técnicas para aquisição do conhecimento. A técnica utilizada pode determinar a qualidade e quantidade de esforço requerido para sua aquisição. Dentre estas técnicas, destacam-se [Brasil 94], [Liebowitz 97]:

• Observação: esta técnica se manifesta em observar como um especialista soluciona um problema real.

• Entrevista: é uma técnica conhecida também como "questionamento", uma vez que o principal tipo de interação é a colocação de perguntas pelo entrevistador (elicitante) e a resposta pelo entrevistado (especialista).

• Discussão focalizada: é semelhante à técnica de entrevista, apenas diferenciando na introdução de um terceiro elemento, o foco, que interage com o elicitante e a fonte humana de conhecimento.

• Análise de protocolo: requer que o especialista “pense em voz alta” enquanto soluciona um problema.

5.2.1.2 Representação do Conhecimento

A representação verbal deve ser transformada em um programa de computador, usando os significados básicos da conceituação matemática, a qual é mais pobre do que a linguagem humana [Liebowitz 97]. Esse processo de colocar o conhecimento num formalismo utilizável pela máquina, depois que o mesmo tenha sido adquirido, é conhecido como Representação do Conhecimento.

Existem várias formas de representar o conhecimento, tais como redes semânticas, linguagem lógica, scripts, dentre outras. A seguir é apresentado o modelo baseado em regras que utiliza regras de produção. Este formalismo foi utilizado na implementação do Analisador do EIT.

As regras de produção são formas simples, porém poderosas, na representação do conhecimento. Uma regra de produção tem um conjunto de antecessores e um conjunto de conseqüentes. Os antecessores especificam um conjunto de condições e os conseqüentes um conjunto de ações. A sintaxe de uma regra de produção é [Krishnamoorthy 96]:

REGRA nome da regra

SE antecessores (condições)

ENTÃO conseqüentes (ações)

5.2.2 Sistemas Especialistas Fuzzy

O engenheiro britânico Ebrahim Mandani foi o primeiro a usar os conjuntos nebulosos (fuzzy) em um sistema de controle no início dos anos 70. Ele desenvolveu um sistema para controle de uma máquina a vapor, usando a experiência de um operador humano [Mcneill 94]. Um SE fuzzy, nada mais é do que um SE baseado na lógica fuzzy. O conceito fuzzy que deu origem a Teoria da Lógica fuzzy foi apresentada em meados dos anos 60 por Zadeh [Zadeh 65]. O professor Lofti Zadeh, da Universidade da Califórnia em Berkeley, reconheceu que a natureza verdadeira e falsa da lógica booleana, não se aplica em muitos problemas do mundo real. Diferentemente da lógica booleana, a lógica fuzzy pretende modelar raciocínios que são aproximados e não exatos [Motorola 92], [Zadeh 91], [Jain 98], [Shaw 99].

CAPÍTULO 5. ESCALONADOR INTELIGENTE DE TRANSAÇÕES – EIT 53 Para considerar os intervalos infinitos entre o verdadeiro e o falso, Zadeh introduziu a idéia de um conjunto clássico que ele chamou de Conjunto fuzzy [Zadeh 65]. Um conjunto fuzzy consiste de um universo de discurso e funções de pertinência que mapeiam todos os elementos do universo de discurso para um valor de pertinência entre 0 e 1 [Zadeh 65], [Ying 00], [Mendel 95]. Um conjunto fuzzy F é definido pelo conjunto de pares ordenados:

]} 1 , 0 [ : | ) ( , { ∈ → = x x x U e U F μF μF

onde x é um elemento do Universo de discurso U e μF é uma função de pertinência que especifica um grau de pertinência μF(x) para cada elemento x de F [Mendel 95], [Dualibe 03].

Para compreender o mecanismo fuzzy, faz-se necessário familiarizar-se com alguns conceitos intrínsecos à lógica fuzzy, os quais encontram-se ilustrados na Figura 5.3 [Motorola 92]:

• Entradas crisp: corresponde a valores de entrada.

• Grau de Pertinência: equivale ao resultado de uma entrada crisp submetida a uma função de pertinência (de 0 a 1). Também chamado de entrada fuzzy. • Rótulo: descreve o nome usado para identificar uma função de pertinência. • Função de Pertinência: a função de pertinência associa a cada elemento x

pertencente ao conjunto U um número real μA(x) no intervalo [0,1], que representa o grau de possibilidade de que o elemento x venha a pertencer ao conjunto A [Rojas 03].

• Domínio: largura da função de pertinência. O domínio corresponde a uma escala de conceitos, normalmente números, sendo utilizado pela função de pertinência para o mapeamento em graus de pertinência. Na Figura 5.3, o domínio do conjunto fuzzy LEVE é de 60 a 80.

• Universo de discurso: também chamado de espaço ou faixa, é um conjunto de valores finitos. O universo discurso de uma variável representa o intervalo numérico de todos os possíveis valores reais que uma variável específica pode assumir [Shaw 99].

0 1 60 80 Domínio Grau de Pertinência Universo de discurso LEVE MODERADO Rótulo Função de Pertinência Entrada Crisp

CAPÍTULO 5. ESCALONADOR INTELIGENTE DE TRANSAÇÕES – EIT

54

As funções de pertinência podem ter diferentes formas, variando de formas lineares (triangular, trapezoidal, dentre outras) às não-lineares (gaussiana, sigmóide, dentre outras). As formas lineares mais utilizadas são: triangular (Figura 5.4a) e trapezoidal (Figura 5.4b) [Motorola 92], [Mendel 95]. A forma singleton (Figura 5.4c) é utilizada principalmente para representar valores de saída [Motorola 92].

Finalizando, dentre os conceitos básicos relacionados com a teoria fuzzy tem-se as variáveis lingüísticas. Uma variável lingüística pode ser considerada uma entidade utilizada para representar de modo impreciso e, portanto, lingüístico, um conceito ou uma variável de um dado problema. Ao contrário de uma variável numérica, uma variável fuzzy admite como valores apenas expressões lingüísticas [Canuto 03]. Essas variáveis são freqüentemente decompostas em um conjunto de termos, os quais cobrem os seus universos de discurso [Mendel 95].

Os SEs fuzzy recebem valores de entrada crisp e devem responder com valores de saída crisp. O processamento fuzzy está dividido em três etapas: fuzzificação, avaliação das regras e defuzzificação. Como a Figura 5.5 mostra, o sistema controlado envia informações crisp que são convertidas em valores fuzzy (fuzzificação). Esses valores fuzzy são processados pela base de conhecimento (avaliação das regras). A saída

fuzzy é defuzzificada (convertida para valores crisp), que pode mudar as condições de operações do sistema controlado [Motorola 92].

Benzer Belgeler