Resumo Lógica Nebulosa
Bruno Rodrigues de Oliveira
0.1 Função Característica
Para um conjunto A 6= ∅ da lógica clássica, sua função característica é definida como:
1, se x ∈ A
ξA (x) = (1)
0, se x ∈
/A
onde x ∈ X, sendo X o conjunto universo, e portanto, A ⊂ X.
As propriedades a seguir são válidas para dois conjuntos A, B ⊂ X:
1. (União)ξA∪B (x) = max {ξA (x), ξB (x)}. Para entender porque a função caracterís-
tica da união de dois conjuntos é igual ao valor máximo da função característica de
ambos os conjuntos, considere o exemplo:
Ex1: ξA (x) = 1 quando x ∈ A. Se ξB (x) = 0, o que implicada que x ∈
/ B, então
ξA∪B (x) = max {1, 0} = 1, ou seja, x ∈ A ∪ B. Quando ξB (x) = 1, o resultado
é o mesmo, porque se x pertence a qualquer um dos dois conjuntos, ele também
pertencerá a união destes é 1.
2. (Intersecção) ξA∩B (x) = min {ξA (x), ξB (x)}. O exemplo a seguir ilustra porque
o valor da função característica da intersecção de dois conjuntos é igual ao valor
mínimo entre as funções características desses conjuntos individualmente.
Ex2: Se ξA (x) = 1 e ξB (x) = 0, o que implica que x ∈ A e x ∈
/ B, espera-se que na
intersecção não exista o elemento x. Calculando obtêm-se: ξA∩B (x) = min {1, 0} = 0
logo x ∈
/ A ∩ B. Por outro lado, se x ∈ B então ξA∩B (x) = min {1, 1} = 1 portanto,
x ∈ A ∩ B.
3. (Complemento) ξĀ (x) = 1 − ξA (x). O valor da função característica do conjunto
complemento é igual a 1 menos o valor da função característica do conjunto.
Ex3: Se um elemento x ∈ A então x ∈ / Ā. Assim, quando ξA (x) = 1 então
ξĀ (x) = 1 − 1 = 0, o que implica que x ∈/ Ā. Caso contrário, ou seja, se ξA (x) = 0
então ξĀ (x) = 1 − 0 = 1 e portanto, x ∈ Ā.
A função característica indica quais são os membros e os não membros do conjunto
crisp A. Para o caso de membros parciais de determinado conjunto, é necessário definir
outra função característica, que possa associar um grau de pertinência de um elemento
para certo conjunto.
0.2 Conjunto Nebuloso
Um conjunto nebuloso consiste de dois componentes: um conjunto universo e uma
função de pertinência, µ(x) associada a ele. Uma função característica de um conjunto
crisp mapeia os valores desse conjunto para os valores do conjunto {0, 1}, ou seja, ξA (x) :
X −→ {0, 1}.
Uma função característica de um conjunto nebuloso, denominada de função de per-
tinência ou grau de pertinência, mapeia os elementos o conjunto universo no intervalo
[0, 1], ou seja, µA (x) : X −→ [0, 1]. Diz-se então que um conjunto nebuloso é vagamente
limitado, se comparado ao conjunto crisp.
Um conjunto nebuloso discreto A pode ser representado da forma:
n
X
A = µA (x1 )/x1 + µA (x2 )/x2 · · · + µA (xn )/xn = µA (xi )/xi (2)
i=1
onde o somatório deve ser entendido como a união e {x1 , x2 , · · · , xn } ∈ X.
Quando o conjunto A é contínuo pode ser representado como:
Z
A= µA (xi )/xi (3)
O conjunto suporte de A, S(A), é definido como:
S(A) = {x ∈ X|µA (x) > 0} (4)
O conjunto {x1 , x2 , · · · , xn } é o conjunto suporte para a equação 2. O conjunto suporte
é ele próprio um conjunto crip.
O conjunto α-corte, Aα , é composto pelos elementos, cujos valores das funções de
pertinência estão acima de um valor α especificado:
Aα = {x ∈ X|µA (x) ≥ α} (5)
Os conjuntos α-corte também são conjuntos crisp. Para dois conjunto α-corte, Aα e
Aα0 se α ≤ α0 então Aα ⊇ Aα0 .
Um conjunto nebuloso A é um conjunto convexo se vale a relação:
µA (t) ≥ min {µA (s), µA (r)} (6)
onde t = λr +(1−λ)s, sendo r, s ∈ Rn e λ ∈ [0, 1]. Na prática para verificar a convexidade
de um conjunto nebuloso, toma-se três elementos desse conjunto x, y, z ∈ X tal que
x < y < z. Se a função de pertinência para a variável y for µA (y) ≥ min {µA (x), µA (z)}
então o conjunto A é convexo.
Um conjunto nebuloso A diz-se conjunto normalizado se max {µA (x)} = 1, x ∈ X.
O nível de um conjunto nebuloso é o valor β que mostra explicitamente o valor
da função de pertinência no intervalo [0, 1]. O "nível"do conjunto é obtido pelos β’s:
Λβ = {β|µA (x) = β, β ≥ 0, x ∈ X} (7)
0.2.1 Exercícios
n
P
1. Seja A = µA (xi )/xi uma forma de representação do conjunto nebuloso A.
i=1
Represente o conjunto abaixo nessa forma e dê o conjunto suporte S(A). Verifique se o
conjunto é convexo e normalizado.
a) A = {(2, 1.0), (3, 0.4), (4, 0.5)}
Pn
Resposta: A = µA (xi )/xi = 1.0/2 + 0.4/3 + 0.5/4. O conjunto suporte é S(A) =
i=1
{2, 3, 4}. Para verificar se é convexo, seja x = 2, y = 3, z = 4, como µA (y) = 0.4 <
min {µA (x), µA (z)} = min {1.0, 0.5} = 0.5 então o conjunto não é convexo. Mas o con-
junto é normalizado, porque max {µA (x)} = 1.0.
2. Considere os conjuntos nebulosos: pequeno, médio e alto, conforme tabela a seguir:
cm pequeno médio alto
140 1 0 0
150 1 0 0
160 0.9 0.1 0
170 0.7 1 0
180 0.3 0.8 0.3
190 0 0 1
2. a) Compare os conjuntos suportes de cada conjunto nebuloso.
Resposta: S(pequeno) = {140, 150, 160, 170, 180}, S(médio) = {160, 170, 180} e S(alto) =
{180, 190}. A comparação dos conjuntos resulta nas seguintes conclusões: S(médio) ⊂
S(pequeno) e S(pequeno) ∩ S(médio) ∩ S(alto) = {180}.
2. b) Determine os conjuntos α-corte para α = 0.3 e α = 0.5.
Resposta: pequeno0.5 = {140, 150, 160, 170}, pequeno0.3 = {140, 150, 160, 170, 180};
médio0.5 = {170, 180}, médio0.3 = {170, 180}; alto0.5 = {190}, alto0.3 = {190}. Portanto,
pequeno0.5 ⊂ pequeno0.3 , médio0.5 = médio0.3 e alto0.5 = alto0.3 .
3. Determine se os conjuntos nebulosos são convexos ou não.
R 1
3. a) A = µA (x)/x onde µA (x) = 1+x 2.
Resposta: Sejam os valores x, y, z ∈ X, tal que x < y < z. Como z > x, então
n o
1 1 1 1
min 1+x ,
2 1+z 2 = 1+z 2 . A função de pertinência de y é µA (y) = 1+y 2 , e já que z > y
n o
1 1 1
então 1+y 2 > 1+z 2 , logo, µA (y) > min , 1 . Portanto o conjunto é convexo.
1+x2 1+z 2
R 1
3. b) B = µB (x)/x onde µA (x) = √1+10x .
Resposta: Analogamente ao exemplo anterior, tomando x, y, z ∈ X, tal que x < y < z,
n o
1 1 1 1
isso implica que µB (y) = √1+10y > min √1+10x , √1+10z = √1+10z .
3. c)
0, se x ≤ 10
µA (x) = −2 −1
[1 + (x − 10) ] , se x > 10
Seja x, y, z ∈ X, tal que x < y < z. Para todo x, y, z ≤ 10, µA (x) = µA (y) = µA (z) = 0.
Para valores x, y, z ≥ 10, tem-se
1 1 1 1
µA (y) = 1 ≥ min 1 , 1 = 1
1+ (y−10)2
1 +
(x−10)2
1+ (z−10)2
1+ (x−10)2
1
porque a expressão 1+ 1 , u = x, y, z é maior quanto maior o valor de u. Logo o con-
(u−10)2
junto nebuloso A é convexo.
4. Determinar para o conjunto A do exercício anterior, os conjuntos α-corte para
α = 0.5.
Resposta: A0.5 = {x ∈ X|µA (x) ≥ 0.5}. Sabe-se que µA (x) = 1+ 1 1 se x > 10.
(x−10)2
Quando µA (x) = 0.5 então
1 1
0.5 = = 1
2 1 + (x−10)2
1
1+ =2
(x − 10)2
1 + (x − 10)2
=2
(x − 10)2
1 + (x − 10)2 = 2(x − 10)2
1 = (x − 10)2
x2 − 20x + 99 = 0
portanto x = 11 ou x = 9. Como para x ≤ 10 a função de pertinência é zero, considera-se
apenas x = 11. Assim sendo, para valores de x ≥ 11 µA (x) ≥ 0.5 (lembrando a observação
feita no final do exercício anterior), logo A0.5 = {x ∈ X|x ≥ 11}.
0.3 Operações com conjuntos nebulosos
Involução  = A
Comutatividade A ∪ B = B ∪ A e A ∩ B = B ∩ A
Associatividade (A ∪ B) ∪ C = A ∪ (B ∪ C) e (A ∩ B) ∩ C = A ∩ (B ∩ C)
Distributividade A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) e A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)
Idempotência A ∪ A = A e A ∩ A = A
Absorção A ∪ (A ∩ B) = A e A ∩ (A ∪ B) = A
Absorção por X e ∅ A ∪ X = X e A ∩ ∅ = ∅
Identidade A ∪ ∅ = A
¯ B = Ā ∪ B̄ e A ∪
Lei de De Morgan A ∩ ¯ B = Ā ∩ B̄
Fórmula de Equivalência (Ā ∪ B) ∩ (A ∪ B̄) = (Ā ∩ B̄) ∪ (A ∩ B)
Fórmula da Diferença Simétrica (Ā ∩ B) ∪ (A ∩ B̄) = (Ā ∪ B̄) ∩ (A ∪ B)
0.4 Função União
A união entres dois conjuntos nebulosos A e B é especificada da forma U : [0, 1] ×
[0, 1] −→ [0, 1]. Essa função calcula o grau de pertinência da união A ∪ B: µA∪B =
U [µA (x), µB (x)]. Essa função de satisfazer as seguintes propriedades:
1. U (0, 0) = 0, U (0, 1) = U (1, 0) = U (1, 1) = 1
2. U (a, b) = U (b, a)
3. Se a ≤ a0 e b ≤ b0 então U (a, b) ≤ U (a0 , b0 )
4. U (U (a, b), c) = U (a, U (b, c))
5. U é uma função contínua
6. U (a, a) = a
A função união é definida também através do operador max:
X[µA (x), µB (x)] = µA∪B = max {µA (x), µB (x)} (8)
Algumas funções união são listadas a seguir.
Soma Algébrica A[+]B: ∀x ∈ X, µA[+]B (x) = µA (x) + µB (x) − µA (x)µB (x)
Soma Limitada A ⊕ B: ∀x ∈ X, µA⊕B (x) = min {1, µA (x) + µB (x)}
0.5 Função de Intersecção
A função de intersecção, A ∩ B, é definida como: I : [0, 1] × [0, 1] −→ [0, 1]. O
argumento dessa função mostra a possibilidade do elemento x estar evolvido em ambos
os conjuntos, ou seja: µA∩B (x) = I[µA (x), µB (x)]. As propriedades a seguir são válidas
para essa função:
1. I(1, 1) = 1, I(0, 1) = I(1, 0) = I(0, 0) = 0
2. I(a, b) = I(b, a)
3. Se a ≤ a0 e b ≤ b0 então I(a, b) ≤ I(a0 , b0 )
4. I(I(a, b), c) = I(a, I(b, c))
5. I é uma função contínua
6. I(a, a) = a
A função de intersecção também é definida pelo operador min:
I[µA (x), µB (x)] = µA∩B (x) = min {µA (x), µB (x)} (9)
Algumas funções de intersecção são listadas a seguir.
Produto Algébrico A • B: ∀x ∈ X, µA•B (x) = µA (x)µB (x)
Produto Limitado A B: ∀x ∈ X, µA B (x) = max {0, µA (x) + µB (x) − 1}
0.6 Outras Operações
Algumas outras operações que não são funções de união e intersecção são listadas a
seguir.
Diferença Simples A − B: A − B = A ∩ B̄
Diferença Limitada A B: ∀x ∈ X, µAB (x) = max {0, µA (x) − µB (x)}
0.7 Número Nebuloso
Um número nebuloso é expresso como um conjunto nebuloso definindo um intervalo
nebuloso nos números reais. Visto que a fronteira do intervalo é ambígua, o intervalo
também é um conjunto nebuloso. Geralmente um intervalo nebuloso é representado por
dois pontos finais e um ponto de pico: [a1 , a2 , a3 ].
Definição: Um número nebuloso é um conjunto nebuloso com as seguintes condições:
• é convexo;
• é normalizado;
• sua função de pertinência é contínua;
• é definido sobre os números reais;
A condição de normalização implica que para um conjunto nebuloso A, ∃x ∈ R tal
que µA (x) = 1.
A operação α-corte pode ser aplicada para números nebulosos. Se denotarmos o
intervalo α-corte para um número nebuloso A como Aα o intervalo obtido Aα é definido
como:
(α) (α)
Aα = [a1 , a3 ] (10)
A condição de convexidade implica que o intervalo α-corte satisfaça a relação:
(α0 ) (α) (α0 ) (α)
α0 < α =⇒ (a1 ≤ a1 , a3 ≥ a3 ) =⇒ Aα ⊂ Aα0 (11)
As operações com intervalos nebulosos A = [a1 , a3 ] e B = [b1 , b3 ] são definidas como:
Adição [a1 , a3 ](+)[b1 , b3 ] = [a1 + b1 , a3 + b3 ].
Subtração [a1 , a3 ](−)[b1 , b3 ] = [a1 − b3 , a3 − b1 ].
Multiplicação [a1 , a3 ](·)[b1 , b3 ] = [min {a1 b1 , a1 b3 , a3 b1 , a3 b3 } , max {a1 b1 , a1 b3 , a3 b1 , a3 b3 }].
Divisão [a1 , a3 ](÷)[b1 , b3 ] = [min {a1 /b1 , a1 /b3 , a3 /b1 , a3 /b3 } , max {a1 /b1 , a1 /b3 , a3 /b1 , a3 /b3 }]
excluindo os casos b1 = b3 = 0.
Inverso [a1 , a3 ]−1 = [min {1/a1 , 1/a3 } , max {1/a1 , 1/a3 }] excluindo os casos a1 = a3 = 0.
Se os intervalos nebulosos são definidos nos reais positivos, as operações tomam a
forma:
Multiplicação [a1 , a3 ](·)[b1 , b3 ] = [a1 b1 , a3 b3 ].
Divisão [a1 , a3 ](÷)[b1 , b3 ] = [a1 /b3 , a3 /b1 ] excluindo os casos b1 = b3 = 0.
Inverso Interno [a1 , a3 ]−1 = [1/a3 , 1/a1 ] excluindo os casos a1 = a3 = 0.
As operações anteriores também são aplicáveis a números nebulosos, mas os resultados
são expressados em termos das funções de pertinência.
Adição A(+)B: µA(+)B (z) = maxz=x+y {µA (x), µB (y)}.
Subtração A(−)B: µA(−)B (z) = maxz=x−y {µA (x), µB (y)}.
Multiplicação A(·)B: µA(·)B (z) = maxz=x+y {µA (x), µB (y)}.
Divisão A(÷)B: µA(·)B (z) = maxz=x÷y {µA (x), µB (y)}.
0.7.1 Número nebuloso triangular
Um número nebuloso triangular A é representado como A = (a1 , a2 , a3 ) e sua função
de pertinência como:
0 x < a1
x−a1 a ≤ x ≤ a
a2 −a1 1 2
µA (x) = a −x
(12)
3
a3 −a2
a2 ≤ x ≤ a 3
0 x > a3
sendo a1 e a3 os ponto onde o triângulo corta o eixo-x e a2 o ponto por onde se traça a
altura do triângulo.
Para um intervalo crisp obtido por uma operação α-corte, o conjunto Aα deve ser
obtido para todo α ∈ [0, 1]. Quando α = 0 tem-se as extremidades do triângulo, ou seja,
a1 , a3 e quando α = 1 o pico, a2 . Portanto,
(α)
a1 − a1 (α)
= α =⇒ a1 = (a2 − a1 )α + a1 (13)
a2 − a1
(α)
a3 − a3 (α)
= α =⇒ a3 = −(a3 − a2 )α + a3 (14)
a3 − a2
Assim,
(α) (α)
Aα = [a1 , a3 ] = [(a2 − a1 )α + a1 , −(a3 − a2 )α + a3 ] (15)
Exemplo: O número nebuloso triangular A = (−5, −1, 1) tem função de pertinência:
0 x < −5
x+5
−5 ≤ x ≤ −1
4
µA (x) = 1−x
(16)
2
−1 ≤ x ≤ 1
0 x>1
E o intervalo α-corte do número nebuloso é:
x+5
= α =⇒ x = 4α − 5 (17)
4
1−x
= α =⇒ x = −2α + 1 (18)
2
Aα = [4α − 5, −2α + 1] (19)
Para as operações com números nebulosos os resultados da adição, subtração e simé-
trico, são números nebulosos triangulares, no entanto, para a divisão, multiplicação, min
e max os resultados não são números nebulosos triangulares. A seguir as operações são
resumidas para dois números nebulosos triangulares A = (a1 , a2 , a3 ) e B = (b1 , b2 , b3 ):
Adição A(+)B = (a1 + b1 , a2 + b2 , a3 + b3 ).
Subtração A(−)B = (a1 − b3 , a2 − b2 , a3 − b1 ).
Simétrico −(A) = (−a3 , −a2 , −a1 ).
As operações com números nebulosos triangulares podem ser realizadas diretamente
com suas funções de pertinência.
Sejam as funções de pertinência de dois números nebulosos A = (−3, 2, 4) e B =
(−1, 0, 6):
0 x < −3
x+3
−3 ≤ x ≤ 2
5
µA (x) = 4−x
(20)
2
2≤x≤4
0 x>4
0 y < −1
y+1
−1 ≤ x ≤ 0
1
µB (y) = 6−y
(21)
6
0≤x≤6
0 y>6
Seja z = x + y. Para encontrar a função de pertinência da soma µA(+)B (z), basta
somar as funções da função de pertinência e os intervalos correspondentes, considerando
que a soma das frações será realizada numerador com numerador e denominador com
denominador, sem necessidade de calcular o M M C. O resultado será:
0 z < −4
z+4
−4 ≤ x ≤ 2
6
µA(+)B (z) = 10−z
(22)
8
2 ≤ x ≤ 10
0
z > 10
0.7.2 Exercícios
1. Calcule as operações para o intervalos nebulosos a seguir:
1. a) [5, 8](+)[−1, 3] = [5 − 1, 8 + 3] = [4, 11].
1. b) [5, 9](−)[5, 10] = [5 − 10, 9 − 5] = [−5, −4].
1. c) [6, 10](·)[−1, 5] = [min {6 · (−1), 6 · 5, 10 · (−1), 10 · 5} ,
max {6 · (−1), 6 · 5, 10 · (−1), 10 · 5}] = [−10, 50]
2. Calcule as operações a seguir, para os conjuntos nebulosos A = {(5, 0.5), (6, 1.0)}
e B = {(2, 1.0), (3, 0.4), (4, 0.8)}.
2. a) A(+)B.
Resposta: