Buscar

Dissertação de mestrado de RIBACIONKA

Prévia do material em texto

UNIVERSIDADE MACKENZIE
Programa de pós-graduação em Engenharia Elétrica
Área de Concentração: Engenharia da Computação
SISTEMAS COMPUTACIONAIS BASEADOS EM LÓGICA FUZZY
Francisco Ribacionka
Dissertação de Mestrado
apresentada a Universidade
Mackenzie como requisito parcial
para a obtenção do título de Mestre
em Engenharia Elétrica na área da
Engenharia da Computação.
Orientador: Prof. Dr. Laécio Carvalho de Barros
São Paulo
1999
R112 Ribacionka, Francisco
Sistemas Computacionais baseados em Lógica Fuzzy /
Francisco Ribacionka – São Paulo, 1999
115 f.: il; 30 cm
Dissertação (Mestrado em Engenharia Elétrica – Área de
Concentração: Engenharia da Computação) –
Universidade Mackenzie, 1999
Bibliografia: f. 115.
1. Lógica Fuzzy 2. Conjuntos Fuzzy 3. Engenharia da
Computação I. Título CDD 511.322
À minha mãe (Em Memória)
Ao meu pai
Às minhas irmãs Neusa e Nanci
À minha esposa Márcia e meu filho André, pela paciência!
Certa noite, em uma de suas aulas no mestrado, o professor Vilmar nos contou a
seguinte estória:
Estava o coelho digitando a sua tese de mestrado, em sua toca, quando passa rasteira
uma águia, que comenta: : “- O que será que o meu almoço estará fazendo?”. Pousa
na entrada da toca e pergunta: “- Oi amigo coelho. O que você está fazendo?”. “-
Estou digitando a minha dissertação de mestrado!”.
“- Mas do que trada a sua pesquisa?”. “- Trata em como transformar uma águia em
almoço de coelho!”. “- Ora! Podes me mostrar o seu trabalho?”.
“- Claro”, responde o coelho. “Entre na minha toca que eu mostro”. E foi pena para
todo lado. Após alguns minutos, palitando os dentes, o coelho comenta:
“-Realmente, o tema do meu trabalho é muito bom.”. E, com um tapinha em suas
costas, o leão completa: “- Sim, o tema é importante. Mas o orientador é muito
mais!”
Agradeço a Deus por ter colocado o Laécio no meu caminho.
INTRODUÇÃO
A teoria de conjuntos fuzzy foi introduzida por Lotfi Asker Zadeh em 1965 (Zadeh
(1965)), como uma teoria matemática aplicada a conceitos vagos. Desde então a
pesquisa e aplicação desta teoria em sistemas de informática tem crescido. Uma área de
aplicação da teoria fuzzy é a chamada raciocínio aproximado, conforme Zadeh (1975),
onde um tipo de raciocínio não é totalmente certo nem totalmente errado. Este tipo de
raciocínio se aproxima da forma do raciocínio humano. Neste caso, variáveis
lingüísticas são representadas por conjuntos fuzzy, interpretando uma variável
lingüística como uma variável cujos valores são palavras ou sentenças em uma
linguagem natural. Conjuntos fuzzy proporcionam, aos métodos de desenvolvimento de
sistemas computacionais, uma forma de programação mais próxima da linguagem e do
raciocínio humano.
Atualmente, Lotfi Zadeh é diretor do BISC1 - Berkeley Initiative in Soft Computing
- na Universidade da Califórnia, em Berkeley. O seu grupo tem como objetivo a
divulgação e pesquisa das aplicações da "computação Soft", que é uma derivação da
computação tradicional. Zadeh chama a computação tradicional de "Computação Hard"
e a principal diferença entre elas é o fato da computação Soft ter uma tolerância em
relação à imprecisão, incerteza ou verdade parcial, tendo como modelo a mente
humana, conforme Zadeh (1997).
A computação Soft é baseada na Lógica Fuzzy, Teoria de Redes Neurais,
Raciocínio Probabilístico, Algorítimos Genéticos, Teoria do Caos e Teoria do
 
1 O endereço na Internet deste grupo de pesquisa é
http://www.cs.berkeley.edu/projects/Bisc, e pode ser um ponto de partida para
uma busca na Internet dos grupos de pesquisa sobre Lógica Fuzzy.
Aprendizado, onde cada uma destas teorias se complementam para apresentar na
computação Soft uma solução mais abrangente para uma faixa maior de aplicações.
Uma conseqüência disto é que em muitos casos, um problema pode ser resolvido mais
eficientemente usando uma combinação destas teorias ao invés do uso exclusivo de uma
delas. Um exemplo são os sistemas NeuroFuzzy em aplicações industriais como mostra
Altrock (1995).
Zadeh (1997) afirma que, além de aplicações industriais, a computação Soft está
sendo aplicada em produtos para o consumidor final, como aparelhos de ar
condicionado, filmadoras e tantos outros, onde as técnicas de computação Soft aplicadas
a estes produtos incluem um indicativo de "Quociente de Inteligência de Máquina", ou
MIQ (Machine Intelligence Quotient), sendo a Lógica Fuzzy a teoria mais aplicada nos
produtos com este quociente.
Além destas aplicações, a teoria fuzzy já está incluida em programas tradicionais
para aplicações científicas e de engenharia. Dois destes programas são o MatLab da
empresa Math Works2 e o Mathematica da empresa WRI3. O programa MatLab contém
uma interface gráfica que possibilita o desenvolvimento de métodos fuzzy e
NeuroFuzzy, com geração de código fonte na linguagem C. O programa Mathematica
fornece um conjunto de recursos para criar, modificar e visualizar sistemas baseados na
Lógica Fuzzy.
Na bibliografia consultada, o termo Lógica Fuzzy é usado de duas formas:
 
2 O endereço na Internet com informações sobre o módulo fuzzy do
programa MatLab é http://www.mathworks.com/products/fuzzylogic
3 Na Internet o endereço para obter maiores informações sobre Lógica fuzzy no
programa mathematica é http://store.wolfram.com/view/fuzzylogic
1º) Com o objetivo de generalizar a lógica clássica Aristotélica, onde as proposições
são valoradas apenas por 0 ou 1 (falsas ou verdadeiras), com o intuito de quantificar,
formalizar e mesmo raciocinar com conceitos subjetivos e imprecisos (fuzzy).
2º) Como generalização de tudo que envolve conceitos fuzzy.
Neste trabalho são utilizadas as duas formas, onde é feito um estudo da teoria fuzzy
e como esta teoria pode contribuir no desenvolvimento de sistemas para solução de
problemas complexos e de difícil modelamento.
No Capítulo 1, tem-se uma visão geral das aplicações da teoria fuzzy e um histórico
de seu desenvolvimento.
No Capítulo 2, faz-se um estudo da teoria tradicional de conjuntos e da teoria de
conjuntos fuzzy, procurando mostrar as diferenças fundamentais entre estas teorias.
No Capítulo 3 faz-se um estudo da lógica tradicional e da lógica fuzzy, procurando
apresentar as diferenças fundamentais entre ambas, onde também é introduzido o
conceito de raciocínio aproximado.
No Capítulo 4 estuda-se uma metodologia para o desenvolvimento de Sistemas
Fuzzy, com a descrição de um exemplo. A codificação deste exemplo na linguagem de
programação C e a conclusão deste trabalho é feita no capítulo 5. Este programa foi
desenvolvido no ambiente operacional Linux. O fato do Linux ser um sistema aberto e
ter um compilador C padrão ANSI, proporciona o desenvolvimento de programas mais
facilmente adaptáveis a outros ambientes operacionais.
CAPÍTULO 1. APLICAÇÕES DA LÓGICA FUZZY
Segundo Klir (1997), a teoria fuzzy tem se estabelecido como uma regra importante
na Ciência da Computação, tornando os recursos de armazenamento e manipulação da
informação e do conhecimento em uma forma mais compatível com o pensamento
humano. A principal vantagem de se usar teoria fuzzy nestes sistemas baseados em
computação está na capacidade adquirida de representar e manipular informação e
conhecimento expresso numa linguagem natural. Esta capacidade torna estes sistemas
mais flexíveis e realistas.
A Lógica Fuzzy surgiu há cerca de trinta anos com a publicação do artigo Zadeh
(1965), mas somente na atualidade está sendo aplicada na confecção de produtos e
sistemas. Tem sido usada como uma ferramenta em sistemas de controle de processos
industriais, aplicações domésticas e de diversão eletrônica, sistemasde diagnósticos e
outros sistemas especialistas. Criada nos Estados Unidos, esta tecnologia vem crescendo
em aplicações no Japão e na Europa e o número de patentes requeridas vem aumentando
exponencialmente. Segundo Cox (1998), a maior parte vem de aplicações de
Controladores Fuzzy.
As principais áreas de aplicação da Lógica Fuzzy são: Sistemas de Controle Fuzzy,
Tomada de Decisão, Reconhecimento de Padrões e Processamento de Imagens,
Medicina, Ecologia, Banco de Dados Fuzzy, NeuroFuzzy e Aplicações em Sistemas
Operacionais. A seguir, descreve-se cada uma destas aplicações.
1.1 SISTEMAS DE CONTROLE FUZZY
Lee (1990), afirma que, sistemas de controle é a área que mais tem recebido
aplicações da teoria fuzzy, especialmente em aplicações industriais. Ele também afirma
que o uso de controladores fuzzy tem como objetivo emular a forma humana de operar
um sistema. Generalizando, um controlador fuzzy pode ser visto como um método de
tomada de decisão, baseado no raciocínio aproximado, fazendo com que o sistema se
pareça mais com a forma humana de operar o sistema controlado.
Enquanto controladores clássicos são baseados em modelos matemáticos rígidos
para controle de processos, controladores fuzzy são baseados no conhecimento da
operação humana. Este conhecimento é formulado em termos de regras de controle
fuzzy, cada um expresso por uma proposição condicional, tal como:
SE velocidade do veículo é devagar
E distância entre o veículo e o sinal de "Pare" é grande
ENTÃO pressão sobre os freios é nenhuma
onde velocidade e distância são variáveis observadas do processo controlado,
enquanto pressão é uma variável que representa a ação a ser controlada. Os termos
lingüísticos devagar, grande e nenhuma são apropriadamente representados na lógica
fuzzy.
Muitos produtos disponíveis no mercado de consumo já contêm controladores
fuzzy, segundo Zadeh (1997): Máquinas de lavar roupa, aspiradores de pó, barbeadores,
filmadoras, automóveis (sistemas de freios, transmissão automática, e outras funções),
refrigeradores e aparelhos de ar condicionado. Sistemas mais complexos são usados
para controlar grupos de elevadores, sistemas de metrô urbano e controle de tráfego de
veículos.
Em Arbex (1996), a arquitetura de controladores fuzzy é apresentada em detalhes e
uma discussão a respeito dos elementos de projeto é realizada, com uma comparação
entre controladores fuzzy e controladores convencionais.
Maruyama (1991), apresenta diretrizes gerais para o desenvolvimento de projeto de
controladores fuzzy, com a apresentação da arquitetura de controladores fuzzy com uma
discussão sobre os parâmetros deste projeto.
1.2 TOMADA DE DECISÃO
Tomar uma decisão é uma das atividades humanas fundamentais e o objetivo da
mesma é o estudo de como são feitas e de como elas podem levar a um maior sucesso.
Klir (1995) mostra como é feita a aplicação da teoria fuzzy sobre a teoria de tomada de
decisão, através da utilização de conceitos vagos e pouco específicos, semelhantes à
formulação humana de preferências e objetivos.
Na teoria clássica trabalha-se com um conjunto de alternativas naturais, onde a
decisão é feita sobre certas condições disponíveis para a referida resolução. A resolução
é tomada sobre condições de riscos, os quais são determinados pela distribuição
probabilística de cada ação. Quando as probabilidades das ações não são conhecidas, o
grau de risco só pode ser estimado aproximadamente, e as decisões são feitas sobre
graus de incerteza. Neste caso, pode-se aplicar a teoria fuzzy para se obter um maior
grau de sucesso.
Os sistemas fuzzy podem ser desenvolvidos para auxiliar na decisão de tomada de
preço de um produto novo como mostra Cox (1998) ou na compra uma casa, segundo
ilustra Klir (1997), ou até na escolha da escola para seu filho, como está em McNeill
(1994). São sistemas que auxiliam no processo de decisão.
Exemplo 1
Para ilustrar este método, supõe-se uma pessoa que deverá decidir-se por uma entre
quatro propostas de emprego, considerando o salário oferecido e a distância entre o
local de trabalho e sua casa.
Estas informações podem ser representadas por dois conjuntos fuzzy, sendo salário
representado pela letra S e distância, representado pela letra D. Colocados em uma
escala entre 0 e 1, sendo 0 o pior caso, e 1 o melhor caso; a pessoa atribui o valor 0.1
para a primeira proposta, aqui chamada de p1, 0.3 para a proposta p2, 0.48 para a
proposta p3 e 0.8 para a p4. O conjunto S fica:
S: {0.1, 0.3, 0.48, 0.8}
Este conjunto caracteriza que a proposta p4 é uma proposta mais interessante em
termos de salário do que a proposta p1.
Para o conjunto D a pessoa atribui a seguinte seqüência ordenada pelas propostas:
D: {0.4, 0.6, 0.2, 0.2}
Ou seja, em uma escala entre 0 e 1, sendo 0 o emprego fica muito longe de sua casa
e 1 fica muito próximo. A proposta p1 recebe o valor 0.4, a proposta p2 recebe o valor
0.6, a proposta p3 o valor 0.2 e p4 também 0.2, pois a distância entre o local de trabalho
das propostas p3 e p4 e sua residência são iguais.
Analisando o conjunto D, conclui-se que a empresa com a proposta p2 é a que fica
mais próxima de sua casa.
Aplicando o método proposto por Klir (1995), a combinação dos dois conjuntos S e
D gera o conjunto final F dado pelo menor valor entre cada elemento para as propostas
p1, p2, p3 e p4:
F={menor(0.1,0.4),menor(0.3,0.6), menor(0.48,0.2), menor(0.8,0.2)}
F={0.1,0.3,0.2,0.2}
O conjunto final F tem os valores 0.1 para a proposta p1, 0.3 para a proposta p2, 0.2
para a proposta p3 e 0.2 para a proposta p4. Deste conjunto F a decisão é tomada
levando-se em conta o elemento com o valor mais próximo de 1. Neste caso a melhor
proposta de emprego é a proposta p2.
O próximo item também envolve tomada de decisão, onde o sistema deve escolher
um entre vários padrões no processamento de imagens.
1.3 Reconhecimento de Padrões e Processamento de Imagens
O reconhecimento de padrões está associado ao processamento de imagens. Klir
(1997), afirma que o objetivo básico é comparar as categorias identificadas nos dados
com categorias definidas em tabelas ou base de dados. Uma aplicação é o
reconhecimento óptico de caracteres, ou OCR (Optical Character Recognize), onde
através de um scanner digitaliza-se textos para posterior conversão de uma imagem em
um texto manipulável por um programa de computador. Quando se digita um texto em
um editor de textos, cada letra é um valor numérico em uma tabela. A conversão de uma
imagem em texto lida com a manipulação de imagens, pois cada letra digitalizada deve
ser convertida para um número que represente esta letra.
Shimura (1975), considera o reconhecimento de padrões essencialmente fuzzy,
porque não há uma fronteira definida entre as categorias de fontes de caracteres. Afirma
que o reconhecimento de padrões é mais um evento probabilístico do que
determinístico, pois a impressão de caracteres pode ser afetada por várias situações,
como a má qualidade de impressão ou sujeira no papel.
No caso de se ter um padrão, onde o número de modelos de exemplo para
comparação e reconhecimento é limitado, impedindo a aplicação da teoria
probabilística, um modelo fuzzy é mais útil na classificação de padrões desconhecidos
do que os métodos de classificação tradicionais.
1.4 MEDICINA
A aplicação da teoria fuzzy na medicina tem sido reconhecida desde 1970, segundo
Klir (1997). O foco principal tem sido o modelamento dos processos de diagnóstico de
doenças.
Exemplo 2
Por exemplo, para diagnosticar a cirrose o médico faz exames de sangue para
identificar se:
"Total de proteínas está diminuindo, a-globulina está freqüentemente diminuindo,
e g-globulina está aumentando".
Os termos diminuindo, freqüentemente, e aumentandosão valores vagos. Assim,
para representar estes termos de forma manipulável, a teoria fuzzy é uma opção.
1.5 ECOLOGIA
Barros (1992, 1997), tem aplicado a teoria fuzzy em dinâmica de população
distinguindo basicamente duas situações. A primeira quando acredita-se que o ambiente
(clima, higiene, cidade, floresta, etc.) onde vivem os indivíduos, interfere fortemente na
dinâmica de suas relações; a outra trata de questões de competição ou predação entre
espécies onde tanto o conceito de presa como o de predador são cotados de maneira
subjetiva.
Um ser, como o tubarão, pode ser considerado como predador, porém seu grau de
predação certamente não é o mesmo durante toda a sua vida, podendo até sair da
condição de predador para presa quando muito jovem ou velho.
1.6 BANCOS DE DADOS FUZZY
Um banco de dados informatizado tem como objetivo capacitar um usuário a
manipular e recuperar informações armazenadas eletrônicamente, como descrito em
Klir (1995). Muitos modelos para representar estas informações têm sido propostos.
Um destes modelos é chamado de modelo relacional, que consiste de um conjunto
multi-dimensional de relações manipuladas como tabelas, conforme conceitua Korth
(1994). As colunas destas tabelas correspondem a campos ou atributos e são chamados
de domínios. Cada domínio é definido em um conjunto universal apropriado. As linhas
destas tabelas são os elementos da relação e correspondem a registros, chamados de
tuplas.
O acesso ao banco de dados é feito através de operações algébricas tradicionais,
como a união ou a interseção sobre os domínios a serem operados, a fim de produzir a
informação desejada.
 O modelo relacional proposto por Buckles (1983), difere do modelo tradicional no
seguinte aspecto: os elementos das tuplas, contidos em uma relação, podem ser
subconjuntos do domínio universal, permitindo a inclusão de conceitos vagos como
"tamanho igual a grande", ou "potencial igual a bom". A aplicação da algebra relacional
fuzzy utilizada para acessar um banco de dados fuzzy, providencia uma maior
flexibilidade na recuperação e manipulação das informações em uma linguagem mais
próxima da linguagem humana.
Cox (1995), propõe a aplicação da teoria fuzzy em banco de dados gerenciados pela
linguagem SQL (Structured Query Language) com a criação de novas bibliotecas de
comandos SQL, com a capacidade de manipular informações vagas ou imprecisas.
Segundo esta proposta, com a teoria fuzzy a capacidade de busca e recuperação de
informações através da linguagem SQL é ampliada de forma a permitir aplicações na
área financeira, para negócios e na industria com um alcance que o uso tradicional não
permite. Como os problemas das áreas citadas envolvem conceitos imprecisos, como
“situação economicamente viável”, “alta produtividade” ou “baixa liquidez” a teoria
fuzzy é bem aplicada.
A próxima seção também trata da manipulação de informações, onde, utilizando
uma base de dados, o sistema tem como objetivo o aprendizado de um determinado
comportamento.
1.7 NEUROFUZZY
A combinação com a teoria de redes neurais fornece uma capacidade de
aprendizado para fazer com que os controladores fuzzy se adaptem a uma variada gama
de condições, como descrito em Altrock (1997), e em Altrock (1995). O objetivo das
redes neurais é o de imitar a mente humana, a fim de processar informações através de
algoritmos que capacitem um aprendizado de um determinado comportamento. O
benefício da teoria fuzzy é o de capacitar a tomada de decisões, onde a teoria de redes
neurais permitem um aprendizado, a partir de um conjunto de dados, enquanto a teoria
fuzzy proporciona uma forma de se obter resultados sobre este aprendizado.
Altrock (1997), também mostra como esta teoria tem sido utilizada em aplicações
industriais, aplicações na área financeira e de negócios.
Blinder (1994), apresenta a implementação da lógica fuzzy em redes neurais
artificiais aplicados na biologia. Mostra que a representação de problemas biológicos
tem um grande grau de incerteza e imprecisão lingüísticas e que, através da teoria fuzzy,
aliada a teoria de redes neurais, obtém-se uma ferramenta com grande poder de síntese.
1.8 SISTEMAS OPERACIONAIS
Kandel (1998), apresenta o uso da tecnologia fuzzy na arquitetura de sistemas
operacionais. O sistema operacional é uma parte importante de um sistema de
computador e tem como objetivo principal, gerenciar eficientemente a arquitetura do
computador, a qual é formada pelos elementos de hardware e software que compõem
este sistema.
Técnicas fuzzy podem ser usadas para um aprimoramento da qualidade de um
sistema operacional com a inclusão de algoritmos fuzzy, pois muitos elementos que
compõem um sistema de computador podem ser considerados fuzzy. Por exemplo, o
tempo de acesso a memória, que pode ser mais rápido ou não de acordo com as
condições gerais de uso do sistema, ou o tempo de resposta de um processamento, que
depende do espaço em disco disponível para uso de um determinado programa. Os
termos mais rápido e tempo de resposta são valores vagos, onde a teoria fuzzy pode ser
aplicada para se obter um melhor gerenciamento do sistema, a fim de se obter melhores
resultados.
Perguntas do tipo "Deve-se segmentar o programa em blocos grandes ou pequenos
para se obter o menor tempo de execução?" são problemas que o sistema operacional
deve resolver a todo instante. Valores vagos como grandes, pequenos e menor
possibilitam a aplicação da teoria fuzzy.
Este capítulo tratou das aplicações da teoria fuzzy. No capítulo 2 será visto a teoria
de conjuntos fuzzy.
CAPÍTULO 2. CONJUNTOS FUZZY
Na teoria clássica de conjuntos, um elemento ou pertence ao conjunto ou não
pertence ao mesmo. Esta dicotomia é reflexo da lógica clássica, onde cada proposição é
tratada como totalmente falsa ou totalmente verdadeira. No entanto, muitas proposições
não podem ser bem caracterizadas dessa forma.
Por exemplo, na classe das pessoas altas de uma localidade a fronteira não pode ser
precisamente determinada. Isto porque há uma transição contínua entre ser alto e não ser
alto. Não é razoável que uma pessoa com 1.69m seja considerada baixa e outra com
1.70m alta.
Há muitos outros exemplos que não podem ser representados totalmente pela teoria
clássica de conjuntos; como a classe dos altos salários em uma empresa, a linha de
custo de um produto, ou a experiência administrativa de uma pessoa. Um conjunto
fuzzy é um recurso natural para caracterizar estes conceitos.
Uma das principais motivações para a criação de conjuntos fuzzy é a representação
de conceitos imprecisos. Um indivíduo é membro do grupo de pessoas altas de acordo
com o conceito de alto. A idéia é atribuir um grau (valor) a cada membro individual do
grupo que indica o grau de compatibilidade do elemento com o conceito que se deseja
precisar.
Com o objetivo de dar um tratamento ou mesmo tornar programável conceitos que
julga-se vagos ou imprecisos, como bem maior, bem menor, aproximadamente, é que
surge a idéia de conjuntos fuzzy (ou nebulosos).
Zadeh (1965) propôs então a seguinte definição matemática:
Definição 2.1
Um subconjunto fuzzy A de um conjunto clássico X é dado por uma função a:X ®
[0,1], onde a(x) é o grau de pertinência do elemento x a a, com os graus 1 e 0
representando, respectivamente, a pertinência máxima e a não pertinência do elemento
ao conjunto fuzzy A. A função a é chamada grau de pertinência do conjunto fuzzy A.
Baseando-se na caracterização de um conjunto clássico A através da sua função
característica 1A é que definiu-se um subconjunto fuzzy por meio de uma função
"generalizando" o conceito de subconjunto clássico. Isto é, enquanto a função
indicadora (ou característica) 1A que caracteriza o subconjunto A assume apenasvalores
no conjunto {0,1}, a função grau de pertinência A(x) do subconjunto fuzzy A pode
assumir qualquer valor no intervalo [0,1].
Aqui neste texto, a exemplo de tantos outros, às vezes o próprio conjunto fuzzy A
será usado para indicar sua função grau de pertinência.
A construção de conjuntos fuzzy é tratada na próxima seção.
2.1 CONSTRUINDO CONJUNTOS FUZZY
A construção de conjuntos fuzzy tem como objetivo modelar um sistema através de
termos lingüísticos apropriados. Estes termos podem ter aplicações diferentes, conforme
o contexto. Por exemplo, o termo "jovem" tem um significado diferente quando
utilizado por crianças ou por adultos. A sua construção varia sempre para diferentes
universos.
O problema de se construir as funções grau de pertinência no contexto de várias
aplicações não é um problema da teoria fuzzy em si. É um problema relacionado a um
novo campo chamado de "Engenharia do Conhecimento", onde se concentra a aquisição
dos fatos relacionados ao conhecimento da situação. O processo de aquisição do
conhecimento envolve um ou mais especialistas na área de aplicação e um engenheiro
de conhecimento. O engenheiro deve transformar em uma forma operacional o
conhecimento fornecido pelos especialistas.
Muitos métodos para construção da função grau de pertinência têm sido
desenvolvidos, e um deles é descrito no exemplo a seguir.
Exemplo 3
Supondo que se tem em uma competição cinco mulheres para a disputa de Salto
Ornamental: Márcia, Cristina, Nanci, Neusa e Terezinha e o júri é composto por dez
juízes, descritos por J1, J2, ..., J10, que darão 1 para um bom salto e 0 para um salto ruim.
Deve-se construir uma função grau de pertinência A que capture o termo lingüístico
"excelente saltadora". Após receber os resultados dos juízes, monta-se uma tabela
como:
Tabela 1 - Notas fornecidas pelos Juizes
Juiz Márcia Cristina Nanci Neusa Terezinha
J1 1 1 1 1 1
J2 0 0 1 1 1
J3 0 1 0 0 1
J4 1 0 1 1 1
J5 0 0 1 1 1
J6 0 1 1 1 1
J7 0 0 0 0 0
J8 1 1 1 1 1
J9 0 0 0 0 1
J10 0 0 0 0 1
Para cada concorrente calcula-se o grau de pertinência de acordo com a média do
número total de respostas favoráveis ao número total de juízes. Este procedimento
fornece o seguinte conjunto fuzzy para a excelente saltadora:
A = 0.3 / Márcia + 0.4 / Cristina + 0.6 / Nanci + 0.6 / Neusa + 0.9 / Terezinha
Neste exemplo, tem-se que Terezinha pertence mais ao conjunto fuzzy das
excelentes saltadoras do que as demais e Márcia pertence menos. Aqui utiliza-se uma
forma de representar este conjunto fuzzy. A representação de um conjunto fuzzy facilita
o seu entendimento e as formas de se representar estes conjuntos vem a seguir.
2.2 REPRESENTAÇÕES DE CONJUNTOS FUZZY
A representação das funções que definem os membros de um conjunto fuzzy facilita a
visualização deste conjunto, e pode ser feita na forma tabular ou de lista, graficamente e
na forma analítica.
Para conjuntos finitos, as funções podem sempre ser representadas por tabelas. A
tabela representando um conjunto fuzzy lista todos os elementos do conjunto com seus
respectivos graus de pertinência. No seguinte exemplo tem-se uma ilustração deste
tópico.
Exemplo 4
Seja A o conjunto dos alunos "estudiosos" de uma sala de aula de uma faculdade, e
sejam os alunos desta sala: Fernando, Carlos, Márcia e André. Este conjunto A é um
subconjunto do conjunto universo X com todos os alunos da faculdade. Nem todos os
alunos do conjunto A estudam diligentemente, logo alguns têm um grau de mais
estudioso, outros menos estudioso variando entre os valores 0 e 1. Para os alunos
citados tem-se a representação tabular:
Tabela 2 - Alunos e seus graus de estudo
Estudante Grau de estudo
Carlos 0.3
Márcia 0.7
Fernando 0.8
André 0.9
Alternativamente à tabela acima, pode-se listar os pares consistindo de cada
membro com seu grau de estudo, da seguinte forma:
A = { (Fernando; 0.8), (Carlos; 0.3), (Márcia; 0.7), (André;0.9)}
Esta segunda forma tabular é mais comumente escrita assim:
A = 0.8/Fernando + 0.3/Carlos + 0.7/Márcia + 0.9/André
Aqui o símbolo / é usado apenas para associar o elemento do conjunto universo X e
o seu grau de pertinência ao conjunto fuzzy A. Assim também o sinal de + não significa
soma; simplesmente conecta os elementos do grupo. A forma geral para representar o
conjunto fuzzy A quando X é finito tem a forma:
Uma outra forma de se representar um conjunto fuzzy é feita graficamente.
A representação gráfica é a mais usada na literatura fuzzy por ter uma interpretação
mais intuitiva. No caso de se fazer a representação em duas dimensões, o eixo vertical
representa a função grau de pertinência no intervalo [0,1], e o eixo horizontal contém a
informação a ser modelada.
A seguir tem-se três exemplos de representação gráfica de conjuntos fuzzy. No
exemplo 5, tem-se uma curva que inicia em 1 (no eixo vertical) e se aproxima do eixo
horizontal, ou seja, toma forma de uma curva decrescente. No exemplo 6 tem-se uma
curva que cresce e depois decresce, na forma de sino. No exemplo 7, tem-se uma curva
que inicia próxima ao eixo horizontal e vai crescendo até o limite de 1.
å= xxAA /)(
Exemplo 5
Um conjunto fuzzy J compatível com o conceito de jovem deve, no mínimo, indicar
que, quanto menos idade um indivíduo tiver, mais jovem será. Sua função grau de
pertinência J (x) pode ser representada como na figura 1.
Figura 1 – Função grau de pertinência de jovens
Exemplo 6
O conjunto fuzzy de pessoas de meia idade poderia ser representado pela função
A(x) ilustrada na figura 2.
Neste exemplo, a curva tem a forma de sino, crescendo da esquerda para a direita
até uma certa idade, e depois decrescendo com a idade.
Que a curva deva ter esta forma acredita-se que seja consenso. As controvérsias
talvez apareçam a respeito da idade, onde há mudança do crescimento da curva.
Figura 2 – Conjunto de pessoas de meia idade
Exemplo 7
Suponha que uma universidade defina níveis de experiência acadêmica, de acordo
com o número de créditos feitos pelos alunos, conforme a tabela 3:
Tabela 3 - Níveis de experiência acadêmica
Nível Créditos (em horas)
Iniciante 0-32
Segundanista 33-62
Júnior 63-94
Sênior 95-126
Ao contrário da teoria clássica de conjuntos que definiriam precisamente os níveis
de experiência, o termo vago grau de experiência acadêmica corresponde a um
genuíno conjunto fuzzy. Os créditos (em horas) é que classificam os níveis dos
indivíduos, porém há diferenças de créditos dentro de cada nível. Por exemplo, o
indivíduo com 126 créditos é mais sênior que aquele que tem 95 créditos. Uma
representação gráfica para este exemplo pode ser a seguinte:
Figura 3 - Representação dos níveis de experiência acadêmica
Nesta fase, em que os conjuntos fuzzy estão sendo definidos, é de fundamental
importância o trabalho conjunto do especialista e do engenheiro de conhecimento, como
descrito na seção 2.1.
A representação analítica é também bastante utilizada em teoria fuzzy.
Quando o conjunto universo X é infinito, é impossível listar todos os elementos com
seus graus. O exemplo a seguir ilustra este caso.
Exemplo 8
Por exemplo, o conjunto fuzzy A dos números reais em torno de 6 não pode ser
representado na forma tabular por motivos claros. No caso, uma representação analítica
de A é:
Se 5 £ x £ 6
Se 6 £ x £ 7
caso contrário
A figura 4 representa graficamente este conjunto.
ï
î
ï
í
ì
-
-
=
0
7
5
)( x
x
xA
Figura 4 - Conjunto fuzzy dos números reais "em torno de 6"
Após examinar as diversas formas de representar conjuntos fuzzy, segue-se as
operações que podem ser feitas entre estes conjuntos.
2.3 OPERAÇÕES ENTRE CONJUNTOS FUZZY
Executar operações entre conjuntos fuzzy significa combinar, comparar ou agregarestes conjuntos. As operações entre conjuntos permitem construções que são muito
importantes em várias situações envolvendo informações e processamento de dados.
Na teoria tradicional, as operações básicas entre conjuntos são três: União,
Interseção e Complemento. Na teoria fuzzy estas são chamadas de operações básicas,
existindo outras que generalizam estas, conforme visto em Gomide (1998), em Klir
(1995), e em Blinder (1994). Para o desenvolvimento deste trabalho será visto apenas as
operações básicas.
A seguir tem-se as definições para União, Interseção e Complemento de Conjuntos,
para a teoria tradicional e para a teoria fuzzy.
Definição 2.2
Seja X o conjunto universo. A união entre dois conjuntos A e B na teoria clássica é
representada por AÈB, e definida como o conjunto que contém todos os elementos
pertencentes ao conjunto A ou ao conjunto B. Formalmente:
AÈB = {x Î X | x Î A ou x Î B} (1)
Considera-se a união entre dois conjuntos fuzzy A e B em X, denotada por AÈB, o
conjunto expresso pela equação (2) e definida pela função grau de pertinência:
(AÈB)(x) = max [A(x), B(x)] (2)
para todo x Î X.
Exemplo 9
Supõe-se que X seja o conjunto de n pacientes de um médico, identificados pelos
números 1, 2, 3, 4, 5 e sejam A e B os conjuntos que representam os pacientes em X
com Pressão Alta e Febre, respectivamente. Usando a equação (2) podemos determinar
AÈB dos pacientes em X que têm pressão alta ou febre, conforme a tabela 4:
Tabela 4 - Ilustração da União dos conjuntos fuzzy A e B
Paciente A=Pressão Alta B=Febre AÈB
1 0.6 0.7 0.7
2 1.0 1.0 1.0
3 0.2 0.8 0.8
... ... ... ...
n 1.0 1.0 1.0
Os valores desta tabela são os graus com que cada paciente pertence ao conjunto
fuzzy A, B, e AÈB.
A próxima definição é a da interseção de conjuntos.
Definição 2.3
Seja X o conjunto universo. A interseção entre dois conjuntos A e B na teoria
clássica de conjuntos é denotada por AÇB e contém todos os elementos pertencentes a A
e a B simultaneamente. Formalmente:
AÇB = {x Î X | x Î A e x Î B} (3)
Na teoria de conjuntos fuzzy, a interseção entre dois conjuntos fuzzy A e B
definidos no universo X é denotada por AÇB, definida por sua função grau de
pertinência dada por:
(AÇB)(x) = min[A(x), B(x)] (4)
para todo x Î X.
Exemplo 10
Como exemplo, seja A o conjunto de rios que são longos, B o conjunto de rios
navegáveis. A interseção AÇB é dada por rios que são longos e navegáveis, conforme
ilustrado na tabela 5:
Tabela 5 - Ilustração da Interseção de conjuntos fuzzy para o exemplo 10
Rio A=Rio Longo B=Navegável AÇB
Amazonas 1.0 0.7 0.7
Nilo 0.9 0.6 0.6
Danúbio 0.5 0.8 0.5
Mississipi 0.8 0.5 0.5
Neste exemplo tem-se que o rio Amazonas tem um grau 0.7 na escala [0,1] como
sendo navegável e longo enquanto que o rio Mississipi possui grau 0.5, de acordo com a
última coluna da tabela.
As particularidades do complemento de um conjunto fuzzy são descritas a seguir.
Definição 2.4
Na teoria tradicional de conjuntos, o complemento de um conjunto A é denotado por
A' e composto por todos os elementos do conjunto universo X que não pertencem a A .
Mais precisamente:
A' = { x | x Î X e x Ï A} (5)
Os elementos x de A' podem ser caracterizados pela função indicadora de A' dada
por:
Se x Ï A'
Se x Î A'ï
î
ï
í
ì
=
0
1
)(' xI A
Na teoria de conjuntos fuzzy, dado um subconjunto fuzzy A de um conjunto
universo X, o complemento fuzzy de A é outro subconjunto fuzzy A' de X que "troca" o
grau de pertinência dos elementos de A . Isto é, enquanto que para cada x Î X, A(x)
expressa o grau que indica o quanto x pertence a A, A'(x) expressa quanto x não pertence
a A . A função grau de pertinência de A' é definido por
A'(x) = 1 - A(x) (6)
Para todo x Î X.
Exemplo 11
Para ilustrar o complemento de um conjunto fuzzy, toma-se o exemplo 7 dos alunos
com experiência acadêmica. De acordo com a definição para complemento de conjuntos
fuzzy, as funções grau de pertinência de A e de seu complemento A' (dos alunos sem
experiência acadêmica) estão representadas na figura 5
Figura 5 - Complemento de um conjunto fuzzy
Uma conseqüência da imprecisão dos limites dos conjuntos fuzzy é a de que há uma
sobreposição do conjunto com seu complemento. Quando um aluno pertence ao grupo
dos alunos com experiência com grau 0.8, ele também pertence ao grupo de alunos sem
experiência com grau 0.2, como indicado na figura 6 onde no eixo das abscissas são
colocadas as horas de créditos. Esta é uma diferença fundamental entre a teoria clássica
e a teoria de conjuntos fuzzy. Na teoria clássica, um elemento ou pertence ao conjunto
ou a seu complementar.
Nesta seção discutiu-se as operações entre conjuntos fuzzy. Na próxima será
discutida o conceito de relações fuzzy.
2.4 RELAÇÕES FUZZY
Associações entre objetos têm sido assunto de grande interesse para a humanidade.
Matematicamente, as associações entre objetos está intimamente ligada ao conceito de
relações entre conjuntos, que por sua vez é definida através do produto cartesiano.
Definição 2.6
O produto cartesiano X1 x X2 x .. x Xn dos conjuntos X1, X2, ..., Xn é constituido
pelas n-uplas (x1, x2, ..., xn) onde cada coordenada xi é um elemento do conjunto Xi.
Formalmente tem-se:
X1 x X2 x ... x Xn = {(x1, x2, ..., xn):x1 ÎX1, x2 Î X2, ..., xn Î Xn}
A qualquer subconjunto do produto cartesiano X1 x X2 x ...x Xn dá-se o nome de
Relação (R). Quando o produto cartesiano é composto apenas por dois conjuntos X1 x
X2, a relação R é chamada de binária e no caso em que X1 = X2 = ... = Xn = X, diz-se que
R é uma relação em X.
Todos os conceitos sobre relação enunciados acima se referem à teoria clássica.
Enquanto as relações clássicas descrevem a presença ou ausência de associação
entre os elementos de dois ou mais conjuntos, as relações fuzzy têm a intenção de captar
o valor ou nível da associação entre os elementos dos conjuntos.
Sendo a relação R um subconjunto do produto cartesiano, tal relação pode ser
identificada por sua função característica. Para definir uma relação fuzzy, a idéia é usar
a função grau de pertinência no lugar da característica para o caso clássico.
Definição 2.7
A qualquer subconjunto fuzzy R do produto cartesiano X1 x X2 x ... x Xn, dá-se o
nome de relação fuzzy. Identificando a relação fuzzy R com sua função grau de
pertinência, o valor R(x1, x2, ..., xn ) Î [0,1] indica o grau de associação entre os
elementos x1, x2, ..., xn .
A relação fuzzy assim como no caso clássico, é chamada de binária quando tem-se
apenas dois conjuntos X1 x X2 compondo o produto cartesiano.
Uma relação fuzzy binária é uma generalização da relação binária tradicional no
sentido que a função grau de pertinência generaliza a função indicadora.
Na teoria tradicional, a relação R:X x XÞ{0,1} é dita:
1. Reflexiva se R(x1, x1) = 1
2. Simétrica se R(x1, x2) = 1 implica R(x2, x1) = 1
3. Transitiva se R(x1, x2) = R(x2, x3) = 1 implica R(x1, x3) = 1
4. Anti-simétrica se R(x1, x2) = R(x2, x1) = 1 implica x1 = x2
Há muitas maneiras de se converter estas propriedades de uma função R:X x
XÞ{0,1} para uma função R:X x XÞ[0,1]. Nguyen (1997) apresenta uma delas, para
uma relação fuzzy R em um conjunto X, para todo x1, x2 e x3 Î X, a relação é:
1. Reflexiva se R(x1, x1) = 1
2. Simétrica se R(x1, x2) = R(x2, x1)
3. Transitiva se R(x1, x3) ³ R(x2, x3) Ù R(x2, x3)
4. Anti-simétrica se R(x1, x2) > 0 e R(x2, x1) > 0 implica x1 = x2
A seguir, descreve-se um exemplo de uma relação binária fuzzy.
Exemplo 12
Para exemplificar, considere a relação binária fuzzy R em um conjunto D de
documentos e um conjunto C de termos chaves usados na recuperação em um sistema
de informação de um determinado banco de dados:
D = {d1, d2, ..., dn}
C = {c1,c2, ..., cn}
Onde D pode ser um banco de dados bibliográficos e C a lista de nomes dos autores
das informações armazenadas.
Sua função grau de pertinência é definida no produto cartesiano DxC. Para cada
documento d no conjunto D e para cada elemento chave c no conjunto C, o grau de
pertinência R(d,c) pode ser interpretado neste caso como o grau de pertinência do
documento d para o termo c.
Este grau pertence ao intervalo [0, 1], sendo que o grau igual a 1 significa que a
chave de busca fornecida permite recuperar a informação exata procurada, e um valor
igual a 0 significa que não há nenhum documento correspondente a ela no banco de
dados. Ou seja, se a chave fornecida for um nome completo e houver um documento
correspondente a ele no banco de dados, esta chave terá valor 1 para este documento. Se
não houver um documento referente a este autor, então ela terá valor 0.
Caso seja fornecido um nome parcial, é possível que vários documentos
correspondam a esta chave, recebendo ela um valor parcial para cada documento
fornecido. Uma chave com o conteúdo “Francisco Ribacionka” terá um valor 1 caso se
encontre algum registro correspondente a esta chave de busca. Uma chave com
conteúdo “Francisco” terá um valor menor, pois recuperará todos os registros que
contenham esta palavra.
Esta caracterização do relacionamento entre documentos e termos chave é altamente
expressiva, pois é a informação buscada. Qualquer relação clássica definida no mesmo
produto cartesiano é menos expressiva: requer que cada documento seja declarado como
relevante ou não para cada termo chave.
Em comparação com as relações clássicas, relações fuzzy substancialmente
aumentam a capacidade de expressar os conceitos de relacionamento em uma
linguagem natural.
Para um melhor entendimento destas relações, há a sua representação gráfica. Na
teoria clássica de conjuntos, as principais formas de se representar graficamente uma
relação entre conjuntos são a representação por coordenadas e representação matricial.
O mesmo ocorre na teoria de conjuntos fuzzy.
Na teoria clássica, toda relação é um subconjunto do produto cartesiano que pode
ser expressa por uma lista com todos os pares que compõem a relação quando os
conjuntos são finitos.
Exemplo 13
Considere a relação R={(galinha, ovos), (vaca, leite), (cabra, leite)}. A figura 6
ilustra a relação R onde os pontos marcados especificam os pares que fazem parte da
relação.
Figura 6 – representação por coordenadas da relação R acima
Os graus de pertinência dos pares ordenados que estão relacionados são todos iguais
a 1 enquanto os que não estão relacionados é zero.
Uma relação fuzzy finita também pode ser representada por uma lista de pares
ordenados do produto cartesiano levando em conta seus graus. Os pares cujos graus são
zero usualmente são omitidos. Uma representação por coordenadas, neste caso,
precisaria de um terceiro eixo.
Exemplo 14
Suponha que a produção de leite de vaca seja o dobro da de leite de cabra. Neste
caso, se atribuir grau 1 para indicar a relação de vaca com leite, é razoável que cabra
com leite deve ter grau ½. Assim sendo, tem-se uma relação fuzzy e faz-se necessário
um terceiro eixo para indicar o grau. A figura abaixo ilustra este exemplo.
Figura 7 - Representação por coordenadas de uma relação fuzzy
Na teoria fuzzy, além da representação gráfica, uma outra forma de representar
relações binárias é através de matrizes, cujas entradas são os graus correspondentes aos
elementos do produto cartesiano envolvidos. Considere a relação binária fuzzy em XxY,
onde X={x1, x2, ... ,xn} e Y={y1, y2, ... , ym}. Seja R uma relação fuzzy de X em Y, e R(xi,
yj)=rij o grau com que xi está relacionado com yj. Uma representação matricial para R é
dada pela tabela 6 abaixo.
Tabela 6 - Relação matricial XxY
R y1 y2 ... ym
x1 r11 r12 ... r1m
x2 r21 r22 ... r2m
... ... ... ... ...
xn rn1 rn2 ... rnm
Exemplo 15
Como exemplo, considere o conjunto X com a relação de três grandes cidades:
X={São Paulo, Curitiba, Porto Alegre}
e R a relação fuzzy em X representando a relação muito longe de, com valores
aceitos no intervalo [0,1]. Um valor próximo de 0 significa perto, e um valor próximo
de 1 significa longe. Representando São Paulo por “S”, Curitiba por “C” e Porto Alegre
por “P” uma possibilidade para R pode ser dada pela matriz na tabela 7.
Tabela 7 – Representação matricial da relação fuzzy L acima
S C P
S 0 0.4 1
C 0.4 0 0.6
P 1 0.6 0
O exemplo 13 teria a matriz da tabela 8, pois no caso clássico as entradas da matriz
seriam 0 ou 1 para se obter uma representação fuzzy binária por matrizes.
Tabela 8 – Representação matricial da relação R
R Vaca Cabra Galinha
Ovos 0 0 1
Leite 1 1 0
Cereal 0 0 0
Nesta seção mostrou-se que, em comparação à teoria tradicional, relações fuzzy
possibilitam uma maior capacidade de representar informações. Na próxima seção será
descrito o conceito de número fuzzy.
2.5 NÚMERO FUZZY
Assim como no caso clássico, aqui também pretende-se fazer "contas". A diferença
é que aqui pretende-se, por exemplo, "somar" quantidades imprecisas. Para isto, "cria-
se" os objetos que generalizam os números reais. Tais objetos serão chamados de
números fuzzy.
O conceito de número fuzzy vem do fato de muitos fenômenos não poderem ser
caracterizados por números precisos. Precisamente, tem-se a seguinte definição:
Definição 2.8
Um conjunto fuzzy A é chamado de número fuzzy quando o conjunto universo onde
A está definido é o conjunto dos números reais e A é normal. Isto é, A é um número
fuzzy se A:R ® [0,1] e A(x)=1 para algum x, dado como certo.
Os números fuzzy pertinentes a este trabalho são aqueles que expressam conceitos
como “em torno” de um valor preciso ou possivelmente, de um intervalo.
Segundo Klir (1997), a forma geral para expressar a função grau de pertinência de
um número fuzzy triangular é:
Se a - s £ x £ a + s
caso contrárioïî
ï
í
ì -
-
=
0
1
)( s
ax
xA
A figura 8 contém a representação deste número fuzzy.
Figura 8 - Representação na forma triangular
Outra classe importante tem a forma trapezoidal. Cada elemento desta classe é
caracterizada por cinco parâmetros, a, b, c, d, e. Sua representação analítica tem a forma
genérica:
Se a £ x < b
Se b £ x £ c
Se c < x £ d
caso contrário
A figura 9 contém uma representação desta função.
Figura 9 - Representação analítica genérica na forma trapezoidal
Funções grau de pertinência com a forma de sino também são comuns. A fórmula
genérica para estes casos é:
se (a-s) £ x £ (a+s)
caso contrário
ï
ï
ï
î
ï
ï
ï
í
ì
-
-
-
-
=
0
1
)(
cd
xd
ba
xa
xA
( )
ïî
ï
í
ì
=
-
0
)(
2
b
ax
exA
A figura 10 contém uma representação desta função.
Figura 10 - Representação analítica genérica na forma de sino
As operações algébricas com números fuzzy são as mesmas da teoria clássica.
Neste trabalho será tratado apenas soma e subtração de números fuzzy.
A soma ou subtração de dois números fuzzy utiliza as regras de soma e subtração de
intervalos. A adição de um intervalo é dada pela fórmula:
[a,b] + [c,d] = [a+c,b+d] (7)
A subtração de dois intervalos é dada pela fórmula:
[a,b] – [c,d] = [a-d, b-c] (8)
Para números fuzzy triangulares, o exemplo a seguir mostra como é fácil obter suas
soma e subtração.
Exemplo 16
Os números fuzzy representados na Figura 11 indicam o conceito de
aproximadamente 2 e 4, respectivamente.
Figura 11 – Representação dos números fuzzy 2 e 4
Para executar a adição dos números dados na figura 11, primeiro soma-se os valores
centrais, 4 + 2 = 6. Este será o valor central do resultado da soma. A soma das bases é a
soma dos intervalos [3,5] + [1,3]= [4,8].
A subtração dá-se da mesma forma, 4 –2 = 2, que é o valor central do resultado da
subtração, e os extremos do número é calculado a partir da subtração dos intervalos
[3,5] - [1,3] = [0,4] representados pela figura 12.
Figura 12 - Resultado da soma e da subtração dos números fuzzy 2 e 4
Neste capítulo foram tratadas as várias formas de apresentação dos conjuntos fuzzy
e as operações que neles podem ser executadas. No capítulo 3 será tratado o conceito de
lógica fuzzy e sua utilização em raciocínio aproximado.
CAPÍTULO 3. LÓGICA FUZZY
O termo “Lógica Fuzzy” é utilizado de duas formas: a primeira, para representar e
manipular informações imprecisas com o propósito de tomar decisões. É o uso da teoria
de conjuntos fuzzy e envolve todos os conceitos descritos no capítulo 2; a segunda
refere-se à extensão da lógica clássica, que é o objetivo deste capítulo.
O uso da lógica fuzzy também possibilita conclusões imprecisas a partir de
proposições imprecisas, como é típico na linguagem natural. Esta área é usualmente
referida como raciocínio aproximado. A seguinte afirmação é um exemplo de raciocínio
aproximado:
Selos antigos são usualmente colecionáveis;
Selos colecionáveis são caros;
Portanto, selos antigos são usualmente caros.
Esta é uma inferência dedutiva. Alguns dos predicados não são termos precisos, a
saber: antigos, usualmente e caros; por este motivo, a lógica clássica não trata estes
termos. O propósito da lógica fuzzy é dar sentido formal para estas inferências,
baseando-se em termos lingüísticos imprecisos, tais como: alto, jovem, normal,
verdadeiro, falso, parecido, muito ou pouco, entre outros.
De uma forma ampla, a lógica fuzzy é uma aplicação da teoria de conjuntos fuzzy.
Utiliza os conceitos, princípios e métodos desenvolvidos na teoria de conjuntos fuzzy
para formular a teoria do raciocínio aproximado, que é necessária para estabelecer a
conexão entre os graus de pertinência de um conjunto fuzzy e os graus de verdade nas
proposições fuzzy.
No próximo tópico serão relacionados alguns conceitos da lógica tradicional e as
bases para o desenvolvimento da lógica fuzzy.
3.1 LÓGICA CLÁSSICA E MULTIVALUADA
A lógica binária, baseada no "Sim" ou "Não" foi desenvolvida por Aristóteles, e é
chamada de "Lógica Aristotélica". Aristóteles desenvolveu sua teoria a partir do
trabalho de Pitágoras e seus antecessores que acreditavam na precisão matemática do
universo e que tudo poderia ser definido através de uma relação matemática.
A partir da lógica clássica que trata do raciocínio baseado em proposições, é
chamada de cálculo proposicional. É um sistema usado para representar conhecimento
na forma de sentenças declarativas que expressam proposições, utilizando-se letras e
símbolos lógicos para forma-las. Segundo Klir (1997), inferências são listas de
declarações proposicionais, onde uma delas é a conclusão, e as outras, premissas que
dão suporte a esta conclusão.
A seguir tem-se um resumo do cálculo de proposições (Nguyen (1997)). Seja V =
{a, b, c, ... }. Os elementos do conjunto V são chamados de variáveis lógicas.
Especifica-se três conectivos básicos: Ù (e), Ú (ou), ‘ (não) e dois conectivos lógicos, Þ
(implica) e Û (equivalência). A tabela 9 contém alguns símbolos lógicos.
Tabela 9 - conectores lógicos
Símbolo Operação
‘ negação
Ù Conjunção
Ú Disjunção
Þ Implicação
Û Equivalência
A partir dos elementos do conjunto V e estes conectivos, obtém-se expressões como
a Ù b, a Ú b, a’Ú (b Ù c), etc. Estas expressões são chamadas de fórmulas.
O conjunto de todas as fórmulas é denotado por F. Para qualquer função
t1:V®{0,1} tem-se uma função t2:F®{0,1} definida assim: para cada variável a em
uma fórmula, substitui-se t1(a) na fórmula. A tabela 10 define as operações Ù, Ú e ‘ para
os valores verdade {0,1}.
Tabela 10 – Valores verdade para a lógica tradicional
Ú 0 1 Ù 0 1 ‘
0 0 1 0 0 0 0 1
1 1 1 1 0 1 1 0
O próximo exemplo ilustra a valoração de uma proposição da lógica clássica,
utilizando-se os conectores lógicos e as regras estabelecidas pela tabela 10.
Exemplo 17
Suponha que t1(a)=0, t1(b)=1 e t1(c)=1, então:
t2(((a Ú b) Ù c) Ù (b’ Ú c)) = ((t1(a) Ú t1(b)) Ù t1(c)) Ù (t1(b)’ Ú t1(c)))
= (( 0 Ú 1) Ù 1) Ù (1’ Ú 1)
= (1 Ù 1) Ù (0 Ú 1)
= 1 Ù 1
= 1
O conector lógico Þ tem por objetivo modelar proposições condicionais na forma
“Se ... então ..:”. e o conector Û modelar as expressas na forma “Se e somente se”. A
tabela 11 mostra os valores verdade para estes conectores.
Tabela 11 – Conectores lógicos ÞÞ (implica) e Û (equivalente)
a b ÞÞ a b Û
0 0 1 0 0 1
0 1 1 0 1 0
1 0 0 1 0 0
1 1 1 1 1 1
Um modo de representar a inferência dedutiva é o método de dedução modus
ponens, e que tem a seguinte arquitetura:
Regra: p Þ q
Fato: p 
Conclusão: q
onde p e q são proposições lógicas e significam "q será verdade se p é verdade".
Este argumento é válido para qualquer atribuição de valores verdade para p e q.
Fazendo ambos p Þ q e p verdade, então q é verdade. A seguinte tabela contém as
combinações possíveis para esta regra, sendo V verdadeiro e F falso.
Tabela 12 – Tabela verdade para modus ponens
p q p Þ q
V V V
V F F
F V V
F F V
Klir (1997), relata que desde o início da ciência moderna até o fim deste século, a
incerteza tem sido pouco tratada na ciência. Esta atitude vem gradualmente mudando
principalmente com o surgimento de métodos estatísticos a partir do início do século 20.
Após a aceitação da teoria estocástica, esta foi amplamente aplicada em várias áreas
da ciência. No entanto, apesar de seu sucesso, tal teoria não foi capaz de capturar a
incerteza em todas as suas manifestações. Em particular, não foi capaz de trabalhar
certos resultados da incerteza de termos lingüísticos que aparecem na linguagem
natural. Estas limitações forçaram o surgimento de novas teorias para lidar com a
imprecisão e com a incerteza.
Na lógica tradicional, as proposições são completamente verdadeiras ou
completamente falsas. Portanto todas as inferências são forçadas a reconhecer apenas
estas duas alternativas. Através da história da lógica ocidental, ocorreu uma expansão da
rígida teoria da lógica com dois valores com a permissão do uso de variáveis, onde seus
valores podem ser parcialmente verdade ou parcialmente falso.
Por exemplo, Aristóteles argumentou que as proposições sobre fatos futuros não
podem ser nem verdadeiros nem falsos, mas que valores futuros são potencialmente
verdadeiros ou potencialmente falsos.
Este problema ocorre não somente em eventos futuros, mas também em aplicações
de mecânica quântica, onde valores verdadeiros, de certas proposições, são
indeterminados, devido a limitações de métricas aplicadas ao fenômeno subatômico.
Uma alternativa para esta situação é a lógica multivaluada.
Nas lógicas multivaluadas, incluem-se valores adicionais entre os extremos da
lógica tradicional e os valores verdadeiro ou falso, chamados de valores indeterminados.
No caso da lógica de três valores, há exatamente um valor indeterminado. Em todas as
lógicas com três valores, define-se os valores 0, 1 e ½ para verdadeiro, falso e
indeterminado.
A introdução deste valor intermediário naturalmente afeta a tabela-verdade definida
na lógica clássica. A tabela verdade para negação é definida na tabela 13:
Tabela 13 - Negação para lógica de três valores
p ‘p
0 1
½ ½
1 0
Onde ‘p é a negação de p.
A tabela 14 ilustra a lógica de três valores de Lukasiewicz . Verifica-se que as
definições padrões da lógica clássica para os conectores Û, Þ, Ù e Ú são as mesmas
para os valores 0 e 1. Entretanto, o novo valor ½ faz com que tenha uma conseqüência
importante: não vale a lei do terceiro excluido (p Ú ‘p = 1) nema lei da contradição (p Ù
‘p = 0) e algumas outras tautologias, conforme Klir (1997).
Tabela 14 - Tabela verdade definida por Lukasiewicz
a b Ù Ú Þ Û
0 0 0 0 1 1
0 ½ 0 ½ 1 ½
0 1 0 1 1 0
½ 0 0 ½ ½ ½
½ ½ ½ ½ 1 1
½ 1 ½ 1 1 ½
1 0 0 1 0 0
1 ½ ½ 1 ½ ½
1 1 1 1 1 1
Mais geralmente, para qualquer valor n, os valores verdade para esta lógica de n
valores são usualmente nomeados por números racionais no intervalo [0,1]. Isto define o
conjunto de valores verdade T definido por:
Logo, em uma lógica para 5 valores, os valores verdade são 0, ¼, ½, ¾ e 1.
Os valores verdade para as fórmulas envolvendo os conectivos Û, Þ, Ù e Ú podem
ser obtidos por:
p' = 1-p (9)
p Ù q = min(p, q) (10)
p Ú q = max(p, q) (11)
p Þ q = min(1, 1 - p+ q) (12)
p Û q = 1 - ½ p - q½ (13)
þ
ý
ü
î
í
ì
-
-
--
=
þ
ý
ü
î
í
ì
-
-
-
-
---
= 1,
1
2
,...,
1
2
,
1
1
,0
1
1
,
1
2
,...,
1
2
,
1
1
,
1
0
n
n
nnn
n
n
n
nnn
Tn
No caso de n = 2, onde T2 = {0, 1}, obtém-se a tabela verdade definida na lógica
tradicional e no caso T3 = {0, 1/2, 1}, as fórmulas acima fornecem a tabela 14.
Estes valores podem ser interpretados como graus de verdade. Assim a lógica
multivaluada pode ser interpretada como um precursor da lógica fuzzy.
Na próxima seção será tratada as proposições fuzzy.
3.2 PROPOSIÇÕES FUZZY
O cálculo proposicional fuzzy generaliza o cálculo proposicional clássico,
utilizando o conjunto verdade [0,1] ao invés do conjunto {0,1}. Tanto no caso da teoria
tradicional, como na teoria fuzzy, o conjunto F de fórmulas lógicas é construído a partir
do conjunto V de variáveis lógicas, utilizando-se os conectivos básicos Ù (ou), Ú (e), ‘
(não) e os dois conectivos lógicos, Þ (implica) e Û (equivalência).
Assim como na lógica tradicional, no cálculo proposicional fuzzy a função
t2:F®[0,1] que dá o valor verdade de uma fórmula envolvendo variáveis e conectivos
fuzzy são obtidas a partir de uma função t1:V®[0,1], substituindo-se cada elemento a
Î V de uma fórmula lógica pelo seu valor t1(a) em [0,1].
O resultado da valoração de uma proposição fuzzy é o intervalo com o grau de
veracidade da proposição.
Dado um conjunto fuzzy A, o grau de pertinência A(x) para qualquer elemento x no
conjunto universo X, pode ser interpretado como o grau de verdade da proposição fuzzy
"x é membro de A". Inversamente, dada uma proposição arbitrária "x é E", onde x é
membro do conjunto X e E é uma expressão lingüística (como baixo, alto, muito longe,
extremamente devagar); seu grau de verdade pode ser interpretado como o grau de
pertinência A(x) do conjunto fuzzy A, caracterizado pela expressão lingüística E no
contexto dado.
As proposições fuzzy podem ser classificadas como condicionais ou incondicionais.
As proposições condicionais são escritas na forma se-então. São implicações entre
proposições fuzzy. Proposições deste tipo têm a forma:
p: Se X é A então Y é B (14)
onde X e Y são variáveis que assumem os valores x e y, e A, B são predicados
representados por conjuntos fuzzy.
Exemplo 18
Por exemplo, sejam X, A, Y e B conforme descrito:
· X: é uma variável que assume um valor que indica a temperatura do
corpo de uma determinada pessoa e pode variar na faixa [35,50]. Um valor até 36 é
considerado normal e acima deste valor a temperatura é considerada alta;
· A: corresponde a uma variável fuzzy que pode assumir os termos
lingüísticos Baixa ou Alta;
· Y: uma variável que informa o estado da temperatura do corpo de uma
pessoa, podendo assumir os valores 0 para estado normal e 1 para indicar um estado
febril;
· B: uma variável fuzzy que pode receber os termos lingüísticos Febril ou
Normal.
Neste exemplo, os valores possíveis para A são Baixa ou Alta, e os valores
possíveis para Y são Normal ou Febril. Duas proposições possíveis são:
Se a temperatura é baixa, então o estado é normal
Se a temperatura é alta, então o estado é febril
Atribuindo-se o valor 38 para X então o conjunto fuzzy A “alta” é atingido. Como
conseqüência, Y recebe o valor 1 e o conjunto fuzzy B “febril” é atingido. Substituindo
X, A, Y e B em (14), a proposição fuzzy condicional fica:
Se a temperatura é alta, então o estado é febril
Observa-se que a temperatura, para ser alta, deve estar dentro do domínio alta,
gerando uma saída fuzzy febril.
No caso das proposições fuzzy incondicionais, a forma de apresentá-las é:
p: “X é A” é Y (15)
onde X é uma variável que recebe um valor x de um conjunto de valores possíveis e
A é uma propriedade atribuída à variável. Esta propriedade é representada por um
conjunto fuzzy. O exemplo a seguir ilustra esta forma de proposição.
Exemplo 19
Seja X a temperatura que assume um valor x igual a 380 C; A igual a propriedade
Alta e Y Febril. Substituindo os valores na expressão (15) tem-se:
A temperatura de 380 C é alta é febril
380 C é o valor da variável temperatura; "é Alta" é o predicado fuzzy atribuído ao
valor da temperatura.
Com o intuito de modelar matematicamente as proposições condicionais e fazer
inferências é que se explora o método dedutivo modus ponens. Para isto, é preciso, a
exemplo do caso clássico, definir os conectivos lógicos que vão compor os métodos de
dedução na lógica fuzzy. Esta teoria é desenvolvida na próxima seção.
3.3 LÓGICA FUZZY
O objetivo aqui é definir os conectivos “e”, “ou”, “não”, “implica” e “se e somente
se”. Todos estes conectivos devem ser definidos com o propósito de generalizar as
tabelas verdade dos correspondentes conectivos nos casos clássicos. Isto é, quando estes
conectivos são usados para valorar fórmulas clássicas, as tabelas verdade devem
coincidir com as clássicas.
Há na literatura muitas formas de se definir os conectivos mencionados acima
através dos conceitos de t-normas e t-conormas, como em Nguyen (1997) e em Gomide
(1998). Neste trabalho define-se os conectivos como foi no caso da lógica multivaluada,
ou seja, o conectivo ‘ (não) é uma aplicação definida em [0,1] e os conectivos Ù (ou), Ú
(e), Þ (implica) e Û (se e somente se) são relações binárias definidas em [0,1] através
das fórmulas:
a' = 1-a (14)
a Ù b = min(a, b) (15)
a Ú b = max(a, b) (16)
a Þ b = min(1, 1 - a+ b) (17)
a Û b = 1 - ½ a - b½ (18)
Deve ser notado que cada uma das fórmulas acima generalizam de fato os
conectivos do caso clássico como é o caso da implicação:
0 Þ 0 = min(1,1-0+0) = 1
0 Þ 1 = min(1,1-0+1) = 1
1 Þ 0 = min(1,1-1+0) = 0
1 Þ 1 = min(1,1-1+1) = 1
A lógica fuzzy permite a construção de modelos matemáticos baseados em
informações imprecisas, onde se aplica a teoria de raciocínio aproximado para se obter
conclusões a partir de premissas imprecisas. Este tópico é tratado a seguir.
3.4 RACIOCÍNIO APROXIMADO
Raciocínio aproximado refere-se ao processo onde obtém-se conclusões a partir de
premissas imprecisas. Segundo Nguyen (1997), quando esta imprecisão é considerada
fuzzy, o termo raciocínio fuzzy é utilizado.
A seguinte forma de raciocínio é comum na vida diária:
· “Se um tomate está vermelho, então está maduro”. Caso se tenha um tomate
vermelho, é automática sua classificação como maduro.
· “Se x é grande, então y é pequeno”. Tendo um x grande, conclui-se que y é
pequeno.
Esta é uma generalização do conhecido método dedutivo modus ponens. A
diferença para o modus ponens clássico são os predicados envolvidos. No caso fuzzy,
os termos lingüísticos são expressos em uma linguagem natural e são modelados como
subconjuntos fuzzy.
Considere as proposições p e q:
p : “x é A”
q : “y é B”
Onde A e B são subconjuntos fuzzy dos conjuntos U e V, e x e y são variáveis que
assumem valores em U e V; tem-se, então, o modelo:
p Þ q : “Se x é A entãoy é B”
p : “x é A” 
q : “y é B”
p Þ q é uma proposição fuzzy condicional, que é modelada por um subconjunto
fuzzy R de UxV, através da função grau de pertinência:
R(x,y) = A(x) Þ B(y) = min(1,1 - A(x) + B(y)) de acordo com (17)
A implicação para o caso clássico, isto é, A(x) B(y) Î {0,1} produz:
de modo que
ou seja
ou
Esta igualdade pode ser interpretada assim:
Se R é uma relação que representa a condicional
“Se x Î A então y Î B”
ï
î
ï
í
ì
Ï
Î
=
Ryxse
Ryxse
yxR
),(0
),(1
),(
)](),([sup)( xAyxRyB
Ux
Ù=
Î
ARB o=
ï
î
ï
í
ì
Ï
Î
=Ù
Î
Byse
Byse
xAyxR
Ux
0
1
)](),([sup
e observa-se que x Î A conclui-se que y Î B, ou seja, se a entrada for A a saída é B.
Com o objetivo de inferir conjuntos fuzzy, esta regra será generalizada para uma
situação fuzzy geral.
Considerando-se a regra, “Se o tomate está vermelho, então está maduro” e o fato
“o tomate está quase vermelho” o que se pode dizer a respeito do estado do tomate?
Esta forma de raciocínio pode ser considerada como uma generalização do modus
ponens. A composição de regras para obter uma inferência que pode responder a
questões como esta está descrita a seguir.
Sejam X e Y variáveis em U e V, respectivamente. Sejam A, A* e B subconjuntos
fuzzy e
Regra: “Se x é A então y é B”
Fato: “x é A*”
Conclusão: B* ?
Como se obtém esta conclusão?
A afirmação condicional acima é uma relação binária fuzzy R, que é um
subconjunto fuzzy de UxV e A* é um subconjunto fuzzy de U.
Por analogia ao caso clássico, define-se:
Esta é a forma geral da regra de inferência composicional, proposta por Nguyen
(1997), para a resolução de modelos fuzzy.
)}(*),({sup)(* xAyxRyB
Ux
Ù=
Î
Por exemplo, sejam os conjuntos A={0.5/x1 + 1.0/x2 + 0.6/x3} e B={1.0/y1 +
0.4/y2}. Se A*={0.6/x1 + 0.9/x2 + 0.7/x3}, para se calcular B* tem-se:
R = 1.0 /x1,y1 + 0.9/x1,y2 + 1.0 /x2,y1 + 0.4/x2,y2 + 1.0 /x3,y1 + 0.8/x3,y2
min(1,1-0.5+1.0) min(1,1-0.5+0.4) ...
B*(y1) = max[min(0.6,1.0), min(0.9,1.0), min(0.7,1.0)]
B*(y1) = max[0.6, 0.9, 0.7] = 0.9
B*(y2) = max[min(0.6,0.9), min(0.9,0.4), min(0.7, 0.8)]
B*(y2) = max[0.6, 0.4, 0.7] = 0.7
B* = {0.9/y1 + 0.7/y2}
No próximo capítulo, estuda-se o método de desenvolvimento de sistemas fuzzy,
utilizando-se a teoria até aqui descrita, porém com outro método de inferência: o
método de Mamdani, o qual utiliza-se, formalmente, da regra de inferência generalizada
acima, sem exigir que a relação R(x,y) seja uma implicação fuzzy.
CAPÍTULO 4. METODOLOGIA PARA O DESENVOLVIMENTO DE
SISTEMAS FUZZY
Este capítulo tem como objetivo mostrar um método para o desenvolvimento de um
programa de computador, utilizando lógica fuzzy. Em uma primeira parte, detalha-se as
etapas para o desenvolvimento de um sistema fuzzy.
Nesta etapa é feita a análise do sistema nos moldes entrada, processamento, saída,
por um engenheiro de sistemas, conforme Pressman (1995).
Em seguida mostra-se o mecanismo de inferência de Mamdani, que é o método que
melhor se aplica para o exemplo escolhido.
Posteriormente desenvolve-se um caso prático. A metodologia desenvolvida aplica-
se a modelos com duas variáveis de entrada, com o objetivo de gerar uma variável de
saída. Os conjuntos fuzzy envolvidos no processo devem ser números fuzzy
triangulares.
4.1 ETAPAS PARA O DESENVOLVIMENTO DE UM SISTEMA FUZZY
Segundo Pressman (1995), um sistema é um conjunto de elementos, o qual é
organizado para implementar certo procedimento ou controle ao processar informações.
Um sistema fuzzy é caracterizado por um conjunto de instruções para computador, que
o capacita a produzir uma função desejada. Um sistema fuzzy é um conjunto de
instruções em um programa, ou software, baseado na lógica fuzzy.
Como está descrito no Capítulo 1, uma área de grande aplicação da lógica fuzzy é a
da engenharia, em controladores fuzzy. Um controlador fuzzy é um dispositivo de
software e hardware com o objetivo de controlar um determinado processo e tem sido
aplicado em produtos para o consumidor final.
Um controlador fuzzy é composto por quatro módulos, assim descritos:
Módulo de fuzificação
É o módulo onde os valores de entrada do sistema são convertidos para conjuntos
fuzzy, com as respectivas faixas de valores onde estão definidos.
Módulo da base de regras fuzzy
Neste módulo, define-se as proposições fuzzy que serão avaliadas de acordo com as
variáveis de entrada para compor a variável de saída.
Módulo de inferência fuzzy
O módulo de inferência fuzzy é responsável pela valoração das proposições fuzzy e
da forma como elas são combinadas para produzir a saída.
Módulo de defuzificação
A defuzificação é o processo de conversão de um conjunto fuzzy de saída em um
número que melhor represente este conjunto. É a etapa final executada por um
controlador fuzzy. A figura 13 contém a representação gráfica de um controlador fuzzy.
Figura 13 - Esquema de um controlador fuzzy
Segundo Cox (1998), todo sistema deve ser visualizado e entendido pelo engenheiro
de sistemas, através de um trabalho conjunto com o especialista no problema a ser
modelado. Tal parceria é necessária para uma melhor definição dos parâmetros ou
variáveis de controle.
Um parâmetro de controle é uma variável do modelo cujo valor determina o
próximo estado do mesmo, ou tem o seu valor alterado por um ou mais estados. No
modelo de uma seguradora de veículos, por exemplo, tem-se como parâmetro de
controle a idade do motorista, que determina faixas de desconto para cada caso.
O perfeito entendimento das variáveis de controle esclarecem se o sistema pode ser
modelado usando lógica fuzzy. Modelos que têm parâmetros de controle com
propriedades intrínsecas imprecisas indicam uma adequação da aplicação da teoria
fuzzy.
Um modelamento fuzzy é construído a partir de um vocabulário básico de conjuntos
fuzzy, que definem as propriedades semânticas do modelo. As regras são formadas para
manipular estes conjuntos e daí extrair os resultados esperados. O engenheiro de
sistemas deve aprender a pensar em um alto nível de abstração a fim de poder codificar
apropriadamente a experiência do especialista do problema a ser modelado.
São quatro as etapas para o desenvolvimento de um sistema fuzzy:
· Definir as variáveis de entrada e saída que compõem o sistema;
· Definir os conjuntos fuzzy que compõem o domínio destas variáveis;
· Construir a base de dados com as regras que definem como estas variáveis se
relacionam;
· Interpretar a saída.
Na definição das variáveis de entrada e saída é feita a análise do sistema nos moldes
tradicionais de entrada, processamento, saída e a definição do modelo em partes
funcionais, localizando, no sistema global, onde pode-se aplicar a teoria fuzzy.
A primeira tarefa é definir quais informações fluem pelo sistema, quais
transformações são executadas nestas informações e quais são as informações
fornecidas pelo sistema.
A segunda etapa do projeto de desenvolvimento de um sistema fuzzy, consiste na
definição e construção dos conjuntos fuzzy para cada variável que compõe o sistema. O
especialista responsável pelo modelamento, deve “particionar” cada variável que
compõem o sistema em subconjuntos fuzzy, também chamados de faixas, com seus
respectivos domínios. Estas faixas são utilizadas na definição das proposições fuzzy que
formam a base de regras.
As proposições condicionais fuzzy descrevem o conhecimento do especialista sobre
o sistema modelado, e tem a forma:
Se proposição fuzzy, então ação fuzzy.
Este trabalho focaliza apenas os casos com duas variáveis de entrada e uma variável
de saída. Assim, a proposição anterior toma a forma:
Se variável_de_entrada1 = ð e variável_de_entrada2= ð então, variável_de_saída
= ð
A quantidade de regras total que formará a base de regras vai depender de quantos
conjuntos fuzzy compõem cada variável de entrada. Por exemplo, caso a
variável_de_entrada1 e a variável_de_entrada2 sejam compostas por três números fuzzy,
o total de regras que vai compor o referido banco será nove.
O valor parcial da variável de saída ou ação fuzzy, para cada proposição, é decidido
pelo especialista do sistema modelado. Ao conjunto de regras atingidas aplica-se um
método de inferência para a resolução deste conjunto de proposições.
O método de inferência utilizado neste trabalho, para o cálculo da variável de saída,
é o método de Mamdani. Este método apresenta um processo baseado na agregação das
variáveis fuzzy de entrada para obter como resultado, um conjunto fuzzy na saída. A
seguir descreve-se este método.
4.2 MÉTODO MAMDANI DE INFERÊNCIA
Yager (1995), descreve o funcionamento do método de Mamdani em controladores
fuzzy, tendo como base um modelo fuzzy com duas variáveis de entrada, v e d e uma
variável de saída p, definido pelas seguintes regras:
Tabela 15 – Base de regras para um modelo fuzzy genérico
Se v é v1 e d é d1 então p é p1
Se v é v1 e d é d2 então p é p1
Se v é v2 e d é d1 então p é p2
Se v é v2 e d é d2 então p é p2
...
Se v é vn e d é dn então p é pn
onde v1, v2, ...e vn são valores lingüísticos associados à variável v e definidos como
subconjuntos fuzzy do universo de discurso X1; d1, d2, ...e dn são valores lingüísticos
associados à variável d e definidos como subconjuntos fuzzy do universo de discurso X2
e p1, p2, ...e pn são valores lingüísticos associados à variável p e definidos como
subconjuntos fuzzy do universo de discurso Y. Com estes subconjuntos pode-se montar
uma matriz, como na tabela abaixo:
Tabela 16 – Variáveis v, d, p
 v
v1 v2 ... vn
d1 p1 p2 ... ...
d d2 p1 p2 ... ...
... ... ... ... ...
dn ... ... ... pn
Os valores p1, p2, ...e pn são definidos pelo engenheiro de sistemas em conjunto com
o especialista do sistema a ser modelado. Portanto, é possível que um valor pn seja
utilizado como resultado em mais de uma regra. Conforme os valores fornecidos para as
variáveis v e d, uma ou mais proposições da tabela 15 são atingidas (ou valoradas).
Cada uma destas proposições gera um conjunto fuzzy Fi dado por:
Fi = vi Ù di Ù pi = min(vi, di, pi) (19)
A agregação de todas as proposições da tabela 15 que foram atingidas gera o
conjunto fuzzy F dada por:
(20)
Este é o método de inferência de Mamdani, isto é, a partir dos valores de entrada,
obtém-se Fi por (19) e em seguida o conjunto fuzzy F de saída definido por (20).
Ao conjunto fuzzy F, pode-se aplicar um método de defuzificação para encontrar
um número que melhor represente a saída fuzzy F. Alguns destes métodos serão vistos a
seguir.
i
n
i
FF Ú
=
=
1
4.3 INTERPRETAR A SAÍDA - DEFUZIFICAÇÃO
Como visto na seção 4.2, cada proposição da base de regras atingida, gera um
conjunto fuzzy de saída. Por exemplo, sejam v e d duas variáveis de entrada para um
determinado processo, que vai gerar a variável p de saída; v1 e v2 números fuzzy
definidos para a variável v e d1 e d2 números fuzzy definidos para a variável d. As
seguintes proposições geram as regiões fuzzy A, B e C que serão utilizadas para compor
a saída:
Se v é v1 E d é d1 ENTÃO p é A;
Se v é v2 E d é d1 ENTÃO p é B;
Se v é v2 E d é d2 ENTÃO p é C.
Para se encontrar um número r que melhor represente a informação dada pelo
conjunto fuzzy de saída F, utiliza-se do processo chamado de defuzificação. A figura 14
ilustra este processo.
Figura 14 - Processo de agregação e defuzificação
O método de defuzificação pelo Centro de Gravidade com domínio discreto
segundo Cox (1998) é:
(21)
Quando o domínio não é discreto, o Centro de Gravidade é calculado pela fórmula:
(22)
A defuzificação pela Média do Máximo está representada pela figura abaixo, e é
calculada tendo como base a saída fuzzy a partir da agregação dos resultados. Partindo
do exemplo da figura 14, observa-se na figura 15 os pontos p1 e p2 que compõem o
valor de p através da fórmula:
r = p1 + (p2 - p1) / 2 (23)
Figura 15 - Defuzificação pela composição da Média do Máximo
O Centro dos Máximos encontra as duas regiões com maior grau de pertinência. O
valor r é calculado pela média dos pontos p1 e p2 indicados na figura 16.
å
å
=
==
n
i
i
n
i
ii
xA
xAx
P
0
0
)(
)(
dxxA
dxxxA
P
R
R
ò
ò
=
)(
)(
Figura 16 - Centro dos Máximos
Outros métodos de defuzificação são apresentados. Cox (1998), mostra outros
métodos: Média dos Valores Máximos, Média do Conjunto Básico, Limites Mínimos e
Máximos do Conjunto Básico e o Método da Defuzificação pelo Máximo.
Oliveira (1995), apresenta o método de defuzificação SD (Subsethood
defuzzification) baseado em operações teóricas sobre conjuntos. Este método tem como
característica a capacidade de fornecer uma percepção da natureza da computação
envolvida nos estágios da construção da arquitetura de controladores fuzzy.
Na próxima seção será desenvolvido um caso prático com o objetivo de ilustrar o
desenvolvimento de sistemas fuzzy.
4.4 SISTEMA FUZZY ILUSTRATIVO
O propósito seguinte é ilustrar cada passo descrito anteriormente com um exemplo
factível nos dias atuais. O método empregado pode ser aplicado a outros sistemas com
as mesmas características: duas variáveis de entrada e uma de saída. Os números fuzzy
envolvidos devem ser triangulares.
A idéia apresentada por McNeill (1994), mostra um sistema que simula a pressão
com que o motorista deve acionar os freios do veículo ao sinal de “Pare” em um
cruzamento.
A nível de simplificação, não será levado em conta outros fatores que poderiam
fazer parte do sistema, como outros veículos, pedestres, bicicletas, buracos ou animais.
O sistema vai simular, simplesmente, o que ocorre quando um veículo conduzido pelo
seu motorista se aproxima de um cruzamento, onde há um sinal de “Pare”. Quais
informações são recebidas, como é feito o processamento destas informações e como
obter o resultado deste processamento, que é o nível de pressão que o motorista deve
impor sobre o freio do veículo.
O primeiro passo para a construção deste sistema é definir as variáveis de entrada e
saída que compõem o sistema.
As variáveis que compõem a entrada são a velocidade com que o motorista segue
com seu veículo e a distância do veículo em relação ao sinal de “Pare” no cruzamento.
A informação de saída é o valor da pressão sobre o freio que o motorista deve impor
para diminuir a velocidade do veículo.
As variáveis velocidade, distância e pressão sobre o freio, neste exemplo, devido as
características imprecisas que elas representam, devem ser tratadas pela teoria fuzzy.
Por exemplo, ao avistar o sinal, o motorista não sabe com exatidão qual a sua
velocidade nem a que distância ele se encontra do mesmo; ele sabe, por exemplo, que
está muito próximo ou próximo do mesmo e seu carro está devagar ou um pouco rápido.
Estes termos lingüísticos serão representados por conjuntos fuzzy, que retratam
conceitos vagos e imprecisos de uma forma natural.
O próximo passo é a definição dos valores lingüísticos para cada variável. Atribui-
se aqui quatro faixas de valores para velocidade: “Parado”, “devagar”, “pouco
rápido” e “muito rápido”. A variável distância será definida em cinco faixas: “No
sinal”, “muito próximo”, “próximo”, “pouco longe” e “muito longe”. Para a variável
pressão sobre o freio tem-se as faixas “nenhuma”, “leve”, “média” e “forte”. As
definições destas faixas estão na tabela 17.
A figura 17 tem a representação de cada conjunto fuzzy da

Continue navegando