Lógica Difusa
Milena Tápia
[email protected]
•Conceito
 Lógica difusa é uma lógica multivalorada capaz de
capturar informações vagas, em geral descritas em uma
linguagem natural e convertê-las para um formato
numérico, de fácil manipulação pelos computadores de
hoje em dia.
 A representação depende não apenas do conceito, mas
também do contexto em que está sendo usada.
 A lógica difusa pode ainda ser definida como a lógica
que suporta os modos de raciocínio que são
aproximados, ao invés de exatos, como estamos
acostumados a trabalhar.
•Histórico
A Lógica Difusa foi desenvolvida por Lofti A.
Zadeh da Universidade da Califórnia em
Berkeley na década de 60 e combina lógica
multivalorada, teoria probabilística, IA e RNA
para poder representar o pensamento humano,
ou seja, ligar a linguística e a inteligência
humana, pois muitos conceitos são melhores
definidos por palavras do que pela matemática.
•Objetivo
 A lógica difusa objetiva fazer com que as decisões
tomadas pela máquina se aproximem cada vez mais das
decisões humanas, principalmente ao trabalhar com
uma grande variedade de informações vagas e incertas,
as quais podem ser traduzidas por expressões do tipo: a
maioria, mais ou menos, talvez, etc. Antes do
surgimento da lógica fuzzy essas informações não
tinham como ser processadas.
 A lógica difusa vem sendo aplicada nas seguintes áreas:
Análise de dados, Construção de sistemas especialistas,
Controle e otimização, Reconhecimento de padrões, etc.
Características
Baseia-se em palavras e não em números, ou
seja, os valores verdades são expressos
lingüísticamente. Por exemplo: baixo, médio,
alto, e outros usados para definir estados de
uma variável.
Possui vários modificadores de predicado como
por exemplo: muito, mais ou menos, pouco,
bastante, médio, etc;
Características
Possui também um amplo conjunto de
quantificadores, como por exemplo: poucos,
vários, em torno de, usualmente;
Faz usos das probabilidades lingüísticas, como
por exemplo: provável, improvável, que são
interpretados como números fuzzy e
manipulados pela sua aritmética;
Manuseia todos os valores entre 0 e 1, tomando
estes, como um limite apenas.
Conjuntos Difusos
Conjuntos com limites imprecisos.
A = Conjunto de pessoas altas.
Conjunto Crisp
1.0
Conjunto Difuso
1.0
.9
.8
Função de
pertinência
.5
1.75
Altura
(m)
1.60 1.70 1.75
Altura
(m)
Conjuntos Difusos
Definição formal:
Um conjunto difuso A em X é expresso como um
conjunto de pares ordenados:
A  {( x,  A ( x)) | x  X }
Conjunto
Difuso
Função de
pertinência
(MF)
Universo ou
Universo de discurso
Um conjunto difuso é totalmente caracterizado
por sua função de pertinência (MF).
Conjuntos Difusos
 Um conjunto difuso A definido no universo de discurso X
é caracterizado por uma função de pertinência A, a
qual mapeia os elementos de X para o intervalo [0,1].
A:X[0,1]
 Desta forma, a função de pertinência associa a cada
elemento x pertencente a X um número real A(X) no
intervalo [0,1], que representa o grau de possibilidade
de que o elemento x venha a pertencer ao conjunto A,
isto é, o quanto é possível para o elemento x pertencer
ao conjunto A.
Função de Pertinência
 Reflete o conhecimento que se tem em relação a intensidade com
que o objeto pertence ao conjunto difuso.
Características das funções de pertinência:
Medidas subjetivas;
Funções não probabilísticas monotonicamente crescentes,
decrescentes ou subdividida em parte crescente e parte
decrescente.
“alto” no Brasil
MFs
.8
“alto” nos EUA
.5
“alto” na Itália
.1
1.75
Altura
(m)
Universo Discreto
 X = {SF, Boston, LA} (discreto e
(a) Universo Discreto
não ordenado)
 C = “Cidade desejável para se
viver”
 C = {(SF, 0.9), (Boston, 0.8),
(LA, 0.6)}
Grau de Pertinência
1
0.8
0.6
 X = {0, 1, 2, 3, 4, 5, 6}
0.4
0.2
0
0
2
4
X = Número de filhos
6
(discreto)
 A = “Número de filhos”
 A = {(0, .1), (1, .3), (2, .7),
(3, 1), (4, .6), (5, .2), (6, .1)}
Universo Contínuo
(b) Universo Contínuo
X = (Conjunto de
números reais positivos)
Grau de Pertinência
1
0.8
(contínuo)
0.6
0.4
B = “Pessoas com idade
em torno de 50 anos”
0.2
0
0
50
100
X = Idade
B(x) 
B = {(x,
1
 x  50 
1 

 10 
2
B(x)
)| x em X}
Notação Alternativa
Um conjunto difuso A, pode alternativamente
ser denotado por:

x (discreto)
A
x (contínuo)
A    A ( x) | x
xi X
A
( xi ) | xi
X
Obs.: Os símbolos  e  representam o conjunto dos
pares ordenados (x, A(x)).
Variáveis Lingüísticas
 Uma variável numérica possui valores numéricos:
Idade = 65
 Uma variável lingüística possui valores que não são
números, e sim, palavras ou frases na linguagem
natural.
Idade = idoso
 Um valor lingüístico é um conjunto fuzzy.
 Todos os valores lingüísticos formam um conjunto de
termos:
 T(idade) = {Jovem, velho, muito jovem,...
Maduro, não maduro,...
Velho, não velho, muito velho, mais ou menos velho,...
Não muito jovem e não muito velho,...}
Partição Difusa
Grau de Pertinência
 Partição difusa da variável lingüistica “Idade”, formada
pelos valores lingüisticos “jovem”, “maduro” e “idoso”.
1.2
Jovem
Maduro
Idoso
1
0.8
0.6
0.4
0.2
0
0
10
20
30
40
50
X = Idade
60
70
80
90
Mais definições
 Normalidade
 Altura
 Suporte
 Núcleo
A(x) = 1
Height(A) = Maxx A(x)
Supp(A) = {x| A(x) > 0 e x X}
Core(A) = {x| A(x) = 1 e x X}
 Pontos de Cruzamento Crossover = {x| 
(A)
A(x) = 0.5}
 -cut
A = {x| A(x)  , x X}
 strong -cut
A+ = {x| A(x) > , x  X}
Terminologia
MF
1
A
l
t
u
r
a
.5

0
Núcleo
Pontos de Cruzamento
 - cut
Suporte
X
Mais definições
 Conjunto nulo
 Força
Ø
n
  A xi 
i 1
 Convexidade
 Simetria
 Open left or right,
closed
1
0.8
0.6
0.4
0.2
0
(b) Conjunto Fuzzy não-convexo
Grau de Pertinência
Grau de Pertinência
(a) Dois conjuntos Fuzzy convexos
1
0.8
0.6
0.4
0.2
0
Exemplo:
X = {a, b, c, d, e}
A = {1/a, 0.3/b, 0.2/c, 0.8/d, 0/e} (normal)
B = {0.6/a, 0.9/b, 0.1/c, 0.3/d, 0.2/e} (subnormal)
Height(A) = 1 e Height(B) = 0.9
Supp(A) = {a, b, c, d} e Supp(B) = {a, b, c, d, e}
Core(A) = {a} e Core(B) = Ø
Exemplo (-cut)
A = {0.3/a, 1/b, 0.5/c, 0.9/d, 1/e}
para 0.3    0
para 0.5   > 0.3
para 0.9   > 0.5
A = {a, b, c, d, e}
A = {b, c, d, e}
A = {b, d, e}
Operações Básicas
 Subconjunto
 Igualdade
 Complemento
 Complemento
Relativo
A  B, se B(x)  A(x) para cada x  X
A = B, se A(x) = B(x) para cada x  X
 A = X - A  A(x) = 1 - A(x)
 União
C = A  B  c(x) = max(A(x), B(x))
E(x) = Max [0, A(x) - B(x)]
C = A(x)  B(x)
 Interseção
C = A  B  c(x) = min(A(x), B(x))
C = A(x)  B(x)
Representação
(a) Conjuntos Fuzzy A e B
Grau de Pertinência
A está contido em B
1
0.8
0.6
B
A
1
0.8
0.6
0.4
0.2
0
0.4
A
B
(b) Conjunto Fuzzy não “A”
1
0.8
0.6
0.4
0.2
0
(c) Conjunto Fuzzy "A ou B"
(d) Conjunto Fuzzy "A e B
0.2
0
1
0.8
0.6
0.4
0.2
0
1
0.8
0.6
0.4
0.2
0
Exemplo (União|Interseção)
X = {a, b, c, d, e}
A = {1/a, 0.7/b, 0.3/c, 0/d, 0.9/e}
B = {0.2/a, 0.9/b, 0.4/c, 1/d, 0.4/e}
C = {1/a, 0.9/b, 0.4/c, 1/d, 0.9/e}
D = {0.2/a, 0.7/b, 0.3/c, 0/d, 0.4/e}
Formulação da MF
 Função Triangular

x a c  x 
trimf ( x ; a , b , c )  max min 
,
 , 0
b a c b 

 Função Trapezoidal

d  x 
x a
, 1,
 , 0
b a
d c  
trapmf ( x ; a , b , c , d )  max min

 Função Gaussiana
gaussmf ( x; a, b, c)  e
1  x c 
 

2  
2
 Função Sino Generalizada
gbellmf ( x ; a , b , c ) 
1
x c
1
b
2b
Formulação da MF
(b) Trapezoidal
1
Grau de Pertinência
Grau de Pertinência
(a) Triangular
0.8
0.6
0.4
0.2
0
1
0.8
0.6
0.4
0.2
0
0
20
40
60
80
100
0
40
60
80
100
(d) Sino Gerneralizada
1
Grau de Pertinência
Grau de Pertinência
(c) Gaussiana
20
0.8
0.6
0.4
0.2
0
1
0.8
0.6
0.4
0.2
0
0
20
40
60
80
100
0
20
40
60
80
100
Propriedades
(Interseção|União)
 Comutatividade
A  B = B  A
A  B = B  A
 Idempotência
A  A = A
A  A = A
 Associatividade
 A  (B  C) = (A  B)  C = A  B  C
 A  (B  C) = (A  B)  C = A  B  C
 Distributividade
 A  (B  C) = (A  B)  (A  C)
 A  (B  C) = (A  B)  (A  C)
Propriedades
A  Ø = A
A  Ø = Ø
AX=X
AX=A
A  A  B
A  A  B
A  B  A  B
 Se A  B então
B = A  B
A = A  B
 Se A  B e B  C então
A  C
(Interseção|União)
Propriedades
(Comp.|Comp. Relativo)
 Negação Dupla
  ( A) = A
 Lei de Morgan
  (A  B) =  A   B
  (A  B) =  A   B
 =X
X=
 Se A  B então  A   B e A - B = 
 A-A=
-A=
 A- =A
Uma característica significante
que distingue os conjuntos difusos
dos conjuntos clássicos é:
 A  A  
 A  A  X
Sistemas Difusos
Entradas Crisp
Fuzificação
das variáveis
Definir Funções
de Pertinência
Classificação
Aplicação das
regras
Atribuir Graus
de pertinência
Estimar uma medida
com maior precisão
Defuzificação das
variáveis
Saída Crisp
Fuzzificação
Etapa na qual os valores numéricos são
transformados em graus de pertinência para um
valor lingüístico.
Cada valor de entrada terá um grau de
pertinência em cada um dos conjuntos difusos.
O tipo e a quantidade de funções de pertinência
usados em um sistema dependem de alguns
fatores tais como: precisão, estabilidade,
facilidade de implementação...
Determinação das regras
Descrição das situações nas quais há reações
através de regras de produção (If - then). Cada
regra na saída especifica uma ou várias
conclusões.
Regras If - then
• Estilo Mamdani
Se a pressão é alta, então o volume é pequeno
alta
pequeno
• Estilo Sugeno
Se a velocidade é média, então a resistência = 5 * velocidade
média
resistência = 5*velocidade
Sistema de inferência
Se velocidade é baixa então resistência = 2
Se velocidade é média então resistência = 4 * velocidade
Se velocidade é alta então resistência = 8 * velocidade
MFs baixa
média
alta
.8
.3
.1
2
Regra 1: w1 = .3; r1 = 2
Regra 2: w2 = .8; r2 = 4*2
Regra 3: w3 = .1; r3 = 8*2
Velocidade
Resistência = (wi*ri) /
= 7.12
wi
Avaliação das regras
Cada antecedente (lado if) tem um grau de
pertinência. A ação da regra (lado then)
representa a saída difusa da regra. Durante a
avaliação das regras, a intensidade da saída é
calculada com base nos valores dos
antecedentes e então indicadas pelas saídas
difusas da regra.
Alguns métodos de avaliação:
MinMax, MaxMin, MaxProduto, MinMin, MaxMedia, MaxMax
e Soma dos produtos.
Agregação das Regras
São as técnicas utilizadas na obtenção de um
conjunto difuso de saída “x” a partir da
inferência nas regras.
Determinam quanto a condição de cada regra
será satisfeita.
Defuzzificação
Processo utilizado para converter o conjunto
difuso de saída em um valor crisp
correspondente.
Alguns métodos de defuzzificação:
Centróide,
Média dos máximos,
Distância de Hamming,
Barras verticais,
Método da altura, etc.
Download

Lógica Difusa