"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
LÓGICA FUZZY: CONCEITOS E APLICAÇÕES
1. LÓGICA FUZZY
Alison Bruno Ribeiro de Souza
Ariane Lemos de Bastos
Cristian Klassen
Gabriel Haab
Lucas Gestaro
Regina de Godoi Wiener Vasconcellos
Roner de Castro Rodrigues
2. A Lógica fuzzy é uma lógica que trabalha com inúmeros
valores verdade, colocando diferentes situações de verdade. Ao
invés de dizer que "Está frio" ou "Está quente" ( comparando com
verdadeiro e falso da lógica Booleana) a lógica fuzzy permite que
uma situação esteja QUASE, MUITO, POUCO x. Utilizando o
exemplo do tempo, na lógica fuzzy é possível afirmar que o tempo
está "pouco quente" e "muito frio" atribuindo valores de verdade
diferenciados. Logo, os valores da lógica fuzzy não precisam
necessariamente ser verdadeiros ou falsos, eles podem ser
parcialmente verdadeiros ou parcialmente falsos, ou seja uma
premissa pode ter grau de verdade de 0 a 1.
Introdução
3. • A lógica fuzzy permite a interpretação de sinais(valores verdade)
mais amplos que a lógica booleana(binária) e com isso a
possibilidade de diminuir os erros de sinais em circuitos
computacionais aumentam. Como circuitos dependem da
variação da voltagem, em circuitos binários caso a voltagem num
determinado ponto se altere devido a uma circunstância não
prevista certamente haverá um erro de leitura nesse ponto do
circuito. Porém, se fosse utilizado uma lógica fuzzy para a
concepção do circuito, essa variação na voltagem não
atrapalharia a interpretação do sinal pelo circuito.
Por que usar lógica fuzzy?
4. • Permite tratar matematicamente expressões em linguagem
natural
• Representa o conhecimento superficial ou abstrato de um
dado objeto referenciado
• Tratamento de Incerteza
• Representa o grau de verdade de uma dada proposição
• Possui ampla aplicabilidade em sistemas de controle
Por que usar lógica fuzzy?
5. As primeiras noções da lógica dos conceitos
"vagos" foi desenvolvida por um lógico polonês Jan
Lukasiewicz em 1920 que introduziu conjuntos com graus
de pertinência sendo 0 , ½ e 1 e, mais tarde, expandiu
para um número infinito de valores entre 0 e 1.
A primeira publicação sobre lógica "fuzzy" data de
1965, quando recebeu este nome. Seu autor foi Lotfi
Asker Zadeh, professor em Berkeley, Universidade da
Califórnia.
Zadeh criou a lógica "fuzzy" combinando os
conceitos da lógica clássica e os conjuntos de
Lukasiewicz, definindo graus de pertinência.
História da Lógica Fuzzy
6. Entre 1970 e 1980 as aplicações industriais da
lógica "fuzzy" aconteceram com maior importância na
Europa e após 1980, o Japão iniciou seu uso com
aplicações na indústria. Algumas das primeiras aplicações
foram em um tratamento de água feito pela Fuji Electric
em 1983 e pela Hitachi em um sistema de metrô
inaugurado em 1987. Por volta de 1990 é que a lógica
"fuzzy" despertou um maior interesse em empresas dos
Estados Unidos.
Devido ao desenvolvimento e as inúmeras
possibilidades práticas dos sistemas "fuzzy" e o grande
sucesso comercial de suas aplicações, a lógica "fuzzy" é
considerada hoje uma técnica "standard" e tem uma
ampla aceitação na área de controle de processos
industriais.
História da Lógica Fuzzy
7. Para a formalização da Lógica Fuzzy é necessário a
utilização de valores de verdade contínuos. Então,
pegando como base o sistema binário, onde os valores
verdade são falso ( 0 ) ou verdadeiro ( 1 ), ampliamos esse
conceito utilizando todos os números reais de zero (
completamente falso) à 1 (completamente verdadeiro).
x є |R | 0 <= x <= 1
Com isso temos valores intermediários como 0,5(
meio verdade) , 0,9 ( muito verdade) e 0,01 (muito falso).
Consideramos então o conjunto de valores verdade da
lógica fuzzy como " D " , e um determinado valor verdade
como x E D . Continuando uma analogia com a lógica
booleana, montamos as funções booleanas ¬ ( negação) ,
^ (conjunção),V (disjunção), x -> y (implicação):
Sintaxe Fuzzy
8. ¬ x = 1 – x
x ^ y = Min(x,y)
x V y = Max(x,y)
x -> y = x o y
x * y = Max(0, x + y - 1) 3
Sintaxe Fuzzy
9. Onde:
Min(x,y) é uma função que devolve o mínimo.
Max(x,y) é uma função que devolve o máximo.
x o y é uma função definida por:
se x<= y se x > y então x o y = 1 então x o y = 1 - ( x - y) ou
equivalentemente = 1- x + y
Também podemos utilizar os sinais de < , > para comparar
o resultado das funções.
exemplo:
se x <= y então y o z <= x o z
Sintaxe Fuzzy
10. Se restringirmos os valores verdade para 1 e 0 teremos os
mesmos valores que as tabelas verdade clássicas.
Um determinado contexto ira determinar um Epson (ξ ) tal
que ξ є [0,1] e as proposições aceitáveis são exatamente aquelas x,
tal que x >= ξ. Então com um conjunto de valores verdade D
tal que x є D e x > = ξ como uma noção de validade.
Agora podemos definir uma noção central de lógica:
Σ |= A se para todo ξ є [0,1] então Σ |=ξ A
Isto será chamado de lógica L.
Agora vamos descobrir qual seria o Min de um conjunto de
valores verdade X. Porém, os valores verdade de um conjunto são
praticamente infinitos( estão definidos no intervalo real de 0 a 1
fechado). Com isso, definimos o maior numero que ao mesmo
tempo é menor ou igual a todos os outros do conjunto como
(Glb(X)) ( greater lower bound of X).
Sintaxe Fuzzy
11. Considerando um conjunto X:
{0.32,0.33,0.36,0.359,0.301,0.3001,0.30001,...}
Temos Glb(X) = 0.3
Sintaxe Fuzzy
12. Os valores verdade na lógica fuzzy são diferentes dos vistos
na lógica booleana. Na lógica fuzzy uma premissa varia em grau de
verdade de 0 a 1, o que leva a ser parcialmente verdadeira ou
parcialmente falsa.
Algumas funções das semântica da lógica fuzzy:
Negação - f ¬(x)
A negação na lógica fuzzy corresponde ao valor verdade 1 subtraído
do valor corresponde a x, ou seja f ¬(x) = 1-x.
Conjunção - f / (x,y)
A conjunção na lógica fuzzy corresponde ao valor mínimo dos
valores atribuídos a x e a y, ou seja f / (x,y) = Min(x,y).
Disjunção - f / (x,y)
A disjunção na lógica fuzzy corresponde ao valor máximo dos
valores atribuídos a x e a y, ou seja f / (x,y) = Max(x,y).
Semântica Fuzzy
13. Implicação - f -> (x,y) – x ° y
A implicação na lógica fuzzy pode ser dividida em dois casos. O
primeiro caso quando x é menor ou igual a y torna o valor verdade
da expressão igual a 1, ou seja, f -> (x,y) = 1 para x<=y. Já quando x
for maior que y o valor verdade da expressão torna-se 1 – (x-y), ou
seja, f -> (x,y) = 1 – (x-y) para x<y.
Observe que quando x é igual a y o segundo caso pode ser
também utilizado, pois 1 – (x-y) = 1 – (0) = 1 = (f -> (x,y) = 1 para
x<=y).
Como exemplo, podemos mostrar que se x<=y então (y ° z) <= (x °
z).
Primeiro supomos que x<=z. Assim f -> (x,z) = 1 e podemos concluir
verdade pois sendo a segunda parte igual a 1 – (y <= z) <= (x <=z) - y
<= z será menor ou igual a 1 e a premissa verdadeira.
Supondo z < x <= y, f -> (y,z) = (1 – y + z <= 1 – x + z.) = 1.
Sendo assim, x <=z que torna a premissa novamente verdadeira.
Semântica Fuzzy
14. Desejamos obter uma noção de validade a partir de
premissas que possuímos. Sabemos que para cada função f (x)
existe um valor real x tal que a partir dele a função retorna um valor
aceitável para ser considerado verdade. Caso uma função qualquer
g(x) possua um valor verdade atribuído maior que f(x) para
qualquer x e que f(x) possa ser considerada verdadeira a partir de
certo x, sabemos que g(x) também pode ser considerada
verdadeira a partir desse x. Sendo assim, a partir de um x que torne
uma f(x) verdadeira podemos concluir uma g(x) caso esta possua
um valor verdade atribuído maior que o da f(x). Chamaremos esse
fato de Lógica L e a partir dele definiremos alguns axiomas.
Axiomas
15. Alguns axiomas utilizados na lógica fuzzy que
retornam valor verdade 1:
A -> (B ->A) *
* Prova 1:
Provaremos esse axioma por redução ao absurdo.
Suponhamos que A -> (B -> A) não atribui o valor 1.
para isso a > b ° a. Para isso ocorrer b deveria ser
maior do que a; porém, se isto ocorrer a > 1 – b + a
e assim b > 1 o que é impossível.
Axiomas
16. ((A ->B) -> B) <-> (A / B) **
** Prova 2:
Provaremos apenas a ida:
Caso a <= b, (a ° b)°b = 1 -1 + b = b <= Max(a,b);
Caso a > b, a° b = 1 – a + b que é maior que b.
Desta forma (a ° b) ° b = 1 – (1 – a + b) + b = a <= Max(a,b).
Axiomas
17. A seguir provaremos que axiomas da lógica booleana não
podem ser aplicados sempre com a lógica fuzzy. Como exemplo,
mostraremos que o modus ponens não funciona em todos os casos
da lógica fuzzy.
Provaremos que A, A->B |- B é falso por contra-exemplo:
Supondo v(A) = 0.9 e v(B) = 0.5.
Sendo v(A) > v(B), v(A) ° v(B) = 1 – v(A) + v(B) = 0.6
Para ser verdadeiro (A / (A->B))->B = 1
Como visto, (A / (A->B)) = 0.6 e
(A / (A->B))->B= 1 – 0.6 + 0.5 = 0.9 != 1.
Isso prova que modus ponens nesse caso não pode ser aplicado
Trabalhando com a Lógica Fuzzy
18. (A -> B) / (C -> D) |= (A -> D) / (C -> B)
Caso a<=d ou c<=b a conclusão assume o valor 1.
Então partiremos para as outras possibilidades onde a>d e
c>b:
Se a<=b, (c>b>=a>d) e a primeira parte da primeira
premissa assume o valor 1
Para a conclusão falhar (c->d) > (a->d) / (c->b), ou seja,
1 – c + d > 1 – a + d | c < a o que não é possível
1 – c + d > 1 – c + b | d > b o que não é possível
Trabalhando com a Lógica Fuzzy
19. Agora nos resta apenas a>b e c>d
Se a°b > a°d: 1 – a + b > 1 – a + d
Se a°b > c°b: 1 – a + b > 1 – c + b
Assim, b > d e c > a,ou seja c > a > b > d
Se c°d > a°d: 1 – c + d > 1 – a + d
Se c°d > c°b: 1 – c + d > 1 – c + b
Assim, a > c e d > b, ou seja, a > c > d > b
Podemos notar que as duas simultaneamente são
impossíveis tornando a conclusão sem possibilidades de
falhas e o axioma verdadeiro.
Trabalhando com a Lógica Fuzzy
21. • Não EmpregamValoresVerdade
• Um elemento pode pertencer com um certo grau a um
dado conjunto (Grau de pertinência)
• Expressa valores linguísticos/ usa variáveis linguísticas
• Suporta modos de raciocínio aproximado
• O raciocínio exato corresponde um caso limite do
raciocínio aproximado.
• O elemento de um conjunto fuzzy é representado por
µi/χi, o que denota que: O elemento χi pertence ao
conjunto fuzzy com grau µi. (Grau de pertinência).
Conjuntos Fuzzy
22. Os conjuntos difusos são a chave para as máquinas
difusas. A maioria dos artefatos com os quais se está
familiarizado são "burros" — isto é, rigidamente programados.
Sua televisão ou está ligada ou não está; o brilho está em 6 e o
contraste em 3. Um sistema de aquecimento controlado por
termostato é o exemplo clássico da máquina burra. Quando a
temperatura cai abaixo de determinado ponto, o calor é ligado;
quando ela ultrapassa essa temperatura, o calor é desligado. O
mecanismo é binário: o calor está "ligado" ou "desligado", e
quando está ligado, está sempre no mesmo grau.
Conjuntos Fuzzy
23. As máquinas difusas, por outro lado, usam conjuntos
difusos para produzir respostas mais flexíveis. Os termostatos
"pensam" apenas que está quente ou frio e, em resposta,
mandam instruções para desligar ou ligar. Instruções difusas,
entretanto, permitem que se estabeleça um determinado grau de
quente ou frio. Se decidimos que 20° é a temperatura perfeita,
podemos dizer a um "aquecedor/condicionador de ar para
modular seu comportamento, dependendo de quanto a
temperatura atual difere de 20° . O aparelho nunca estaria só
ligado ou desligado — ele estaria sempre ligado em um grau
variável, misturando e combinando instruções.
Conjuntos Fuzzy
25. Uma das grandes vantagens do uso da lógica fuzzy é a
possibilidade de transformar linguagem natural em conjuntos
de números, permitindo a manipulação computacional. Zadeh
definiu variáveis lingüísticas como “variáveis as quais os valores
são palavras ou sentenças em linguagem natural ou artificial. As
variáveis linguísticas assumem valores chamados linguísticos,
como por exemplo os valores FRIO, MORNA, QUENTE são
relativos à variável TEMPERATURA DA ÁGUA.
Variável Linguística
26. Os sistemas difusos estimam funções com descrição
parcial do comportamento do sistema, onde especialistas podem
prover o conhecimento heurístico, ou esse conhecimento pode
ser inferido a partir de dados de entrada-saída do sistema. Pode-
se dizer que os sistemas difusos são sistemas baseados em regras
que utilizam variáveis linguísticas difusas (conjuntos difusos)
para executar um processo de tomada de decisão.
Sistema Fuzzy
27. • Base de conhecimento:
• Regras;
• Variáveis linguísticas.
• Processamento de raciocínio:
• Processo de fuzzificação;
• Processo de inferência;
• Processo de defuzzificação.
Blocos que compõem um sistema fuzzy:
28.
29.
30. • Consiste em transformar um dado numero numérico em um
termo em linguagem natural;
• Para uma máquina fuzzificar um determinado dado numérico,
são utilizadas as funções de pertinência para verificar o quanto
esse dado pertence a uma determinada classificação ( conjunto
fuzzy).
Fuzzificação:
31. • Transformação dos conjuntos fuzzy de cada variável de saída em
um único.
• Realiza a interpretação das regras da base de conhecimento.
• Passos:
– Ativação do antecedente,
– Implicação,
– Agregação.
Inferência:
32. • Ativação do antecedente:
– Utiliza os graus de pertinência das condições difusas, determinados na
fuzzificação.
– Aplica os operadores difusos para obter o grau de verdade das regras.
• Implicação
– Obtenção dos valores difusos de saída de cada regra.
– Obtenção de um conjunto difusos de saída para cada regra.
Mínimo: C1 = min( µregras, C)
Produto: C1= µregra . C
Onde: C1 é um conjunto difuso de saída determinado pela aplicação da
implicação; C é o conjunto difuso de saída existente no µregras da regra;
é o grau de verdade da regra.
Inferência:
33. • Agregação:
– Agrega os conjuntos difusos obtidos na implicação.
– Obtém um único conjunto difuso, que descreve a
saída do sistema.
– Pra quê?
• Porque se espera que o sistema difuso produza uma única decisão.
– Como?
• Normalmente se utiliza o operador de união máximo.
µ(x)= max(µ1,(x), ..., µn(x))
• Mas também pode ser utilizado, por exemplo, o
operador de união soma limitada.
µ(x)= min(1,µ1(x) +...+µn(x))
Inferência:
34. • Quando se utiliza o min na etapa de implicação e o max
na etapa de agregação, diz-se que foi utilizada a técnica
min-max de inferência.
• Quando se utilizam os operadores de soma limitada,
diz-se que foi utilizada a técnica aditiva (ou cumulativa)
de inferência.
Observação:
35. Essa é uma fase importante da lógica fuzzy. O
defuzzificador é que pesa as diversas respostas fornecidas
pelas regras lógicas e atribui à saída um número. Esse
número é que dirá o que é mais pertinente de fazer:
“comprar” ou “não comprar” e com que grau. Essa
ponderação de respostas pode ser realizada por diversos
métodos. Essa fase é conhecida também como máquina
de inferência fuzzy e segue os seguintes passos para obter
o resultado da inferência para um conjunto de fatos: fatos
com premissas (antecedentes); grau de compatibilidade
de cada regra; crença em cada regra: agregação. Dois
métodos importantes de agregação são os mais usados
na literatura.
Defuzzificação:
36. Os dois métodos mais importantes são: método
baseado no centro de massa e método baseado na média
dos máximos das funções de pertinência, também
conhecido como Mamdani elaborado por MANDANI . Por
um desses métodos encontra-se o valor numérico no eixo
“x” mais pertinente. Então, voltando as funções de
pertinência elaboradas pelas regras, descobre-se o
quanto esse valor do defuzzificador significa em termos
das variáveis lingüísticas “comprar”, “vender”, “comprar
alto”, “comprar baixo”, “vender alto”, etc.
Defuzzificação:
37. • Sistemas Especialistas
• Sistemas Baseados em Conhecimento
• Redes Neurais Artificiais
• Computação com Palavras
• Raciocínio Aproximado
• Linguagem Natural
Aplicações em Outras Áreas de IA
38. • Controle de Processos
• Robótica
• Modelamento de Sistemas parcialmente abertos
• Reconhecimento de Padrões
• Apoio ao Processo de Tomada de Decisões
Aplicações Industriais :
39. • Aspiradores de Pó;
• Máquinas de Lavar Roupas;
• Ar Condicionado;
• Máquinas de Lavar Louça;
• Bibliotecas;
• Aeronaves não tripuladas.
Aplicações dos conceitos fuzzy no controle
de sistemas mecânicos:
40. • Na área de controle de sistemas;
• Auxílio à extração de conhecimento de sistemas
complexos;
• Sistemas híbridos;
• Erros de abordagem e interpretação de resultados.
Estudos realizados envolvendo lógica
fuzzy:
41. Vantagens:
• Requer poucas regras, valores e decisões;
• Mais variáveis observáveis podem ser valoradas;
• O uso de variáveis linguísticas nos deixa mais perto do
pensamento humano;
• Simplifica a solução de problemas;
• Proporciona um rápido protótipo dos sistemas;
• Simplifica a aquisição da base do conhecimento.
Vantagens X Desvantagens
42. Desvantagens:
• Estabilidade;
• Incapacidade de aprendizagem;
• Dificuldade em definir funções de pertinência e regras
fuzzy;
• Requer testes extensivos para validação e verificação.
Vantagens X Desvantagens
43. Diversas áreas estão sendo beneficiadas pela tecnologia
decorrente da Lógica Difusa. O Controle de processos
industriais foi a área pioneira. Hoje em dia, uma grande
variedade de aplicações comerciais e industriais estão
disponíveis, destacando-se neste cenário o Japão e mais
recentemente, os EUA e a Alemanha. Dentre os exemplos
típicos incluem produtos de consumo tais como geladeiras
(Sharp), ar condicionado (Mitsubishi), câmeras de vídeo (Canon,
Panosonic), máquinas de lavar roupa (Sanyo), aspiradores de
pó, etc.
Perspectivas:
44. Na indústria automotiva destacam-se
transmissões automáticas (Nissam, Lexus), injeção
eletrônica, suspensão ativa, freios antibloqueantes.
Sistemas industriais incluem controle de grupo de
elevadores (Hitachi,Toshiba), veículos autoguiados e
robôs móveis (Nasa, IBM), controle de motores (Hitachi),
ventilação de túneis urbanos (Toshiba),Controle de
tráfego urbano, controle de parada e partida de trens de
metrô (Sendai, Tokio). Estas citações são ilustrativas pois
correntemente mais de 1000 patentes envolvendo Lógica
Difusa já foram anunciadas.
Perpectivas:
45. Apesar do uso e da aplicação no Brasil ser incipiente,
várias indústrias e empresas vêm desenvolvendo produtos e
serviços (Villares, IBM, Klockner & Moeller, Robertshaw,
Yokogawa, HITecnologia).
De fato nos últimos anos o potencial de manuseio de
incertezas e de controle de sistemas complexos tornados
possíveis pela Lógica Difusa, estão sendo combinados com Redes
Neurais artificiais, que por sua vez, possuem características de
adaptação e aprendizagem. A palavra certa para isto é simbiose,
que vem gerando novas classes de sistemas e de controladores
neurodifusos, combinando desta forma os potenciais e as
características individuais em sistemas adaptativos e
inteligentes.
Perspectivas:
46. A lógica fuzzy foi desenvolvida para o tratamento de fatores
como a incerteza e ambiguidade na definição de parâmetros de um
sistema que aumentam muito a complexidade da modelagem, e
muitas vezes se tornam inviáveis. Este tipo de lógica permite que
sejam quantificadas variáveis linguísticas que se dá através da teoria
de conjuntos fuzzy, a qual possibilita ter graus de pertinência entre
um elemento e os conjuntos ao qual pode pertencer. Constrói-se uma
base de regras onde os valores podem ser imprecisos, dando
flexibilidade e facilitando a compreensão do problema. Nota-se que
as características da lógica fuzzy atraíram a atenção de várias linhas
de pesquisa, que incorporam conhecimento fuzzy em modelos
heurísticos híbridos e sistemas de controle de processos complexos.
A teoria dos conjuntos fuzzy e a aplicação da lógica nebulosa
representam um grande avanço científico, no sentido de que, por
tratarem de incerteza, produzem soluções mais próximas do mundo
natural, para sistemas de diversos tipos, do que outros métodos.
Conclusão:
47. 1.Graham Priest. An Introduction to Non-classical Logics. Cambridge
University Press, 2001.
INF:510.6 P949i.
2.http://plato.stanford.edu/entries/logic-fuzzy/#1
3.http://www.teoriadacomplexidade.com.br/textos/logicafuzzy/LogicaFuzz
y.pdf
4.http://www.inf.ufsc.br/~mauro/ine5371/slide/fuzzy/aptfuzzy_arquivos/fra
me.html
5.[Klir &Yuan 95] Klir G. J. andYuan Bo, Fuzzy Sets and Fuzzy Logic –
Theory and Aplications. Prentice Hall, N. J., 1995.
6.[Zadeh & Kacprzyk 92] Zadeh L.A., Kacprzyk J., Fuzzy Logic For The
Management of Uncertainty, N.Y./Chichester/Brisbane/Toronto/Singapore,
John Wiley & Suns. Inc., 1992.
Bibliografia: