P. 1
Introduccion a La Logica Difusa

Introduccion a La Logica Difusa

|Views: 75|Likes:
Publicado porGadiel Mint

More info:

Published by: Gadiel Mint on Nov 12, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/25/2013

pdf

text

original

Introducción a la Lógica Difusa

Tomás Arredondo Vidal
26/6/09
Introducción a la lógica difusa

Contenidos
• Conceptos y definiciones básicos de la lógica difusa
• Sets difusos y funciones de membresía
• Operaciones sobre sets difusos
• Inferencia usando lógica difusa
Introducción a la lógica difusa

Introducción
• Por ejemplo se considera a una persona como alta si
mide mas de 1.80mts, pero de igual forma se considera
a una persona como alta si mide 1.7999mts
• Esta consideración no existe en la logica tradicional que
utiliza demarcaciones estrictas para determinar
pertenencia en sets:
• Ejemplo: A es el set clásico de personas altas
A = { x | x > 1.8}
Una persona que mide 1.799999mts es baja!
Introducción a la lógica difusa

Introducción (cont)
• La logica difusa es una extension de la logica tradicional
(Booleana) que utiliza conceptos de pertenencia de sets
mas parecidos a la manera de pensar humana
• El concepto de un subset difuso fue introducido por L.A.
Zadeh en 1965 como una generalización de un subset
exacto (crisp subset) tradicional.
• Los subsets exactos usan lógica Booleana con valores
exactos como por ejemplo la lógica binaria que usa
valores de 1 o 0 para sus operaciones.
Introducción a la lógica difusa

Introducción (cont)
• La lógica difusa no usa valores exactos como 1 o 0 pero
usa valores entre 1 y 0 (inclusive) que pueden indican
valores intermedios (Ej. 0, 0.1, 0.2, …,0.9,1.0, 1.1, …etc)
• La lógica difusa también incluye los valores 0 y 1
entonces se puede considerar como un superset o
extensión de la lógica exacta.
Introducción a la lógica difusa

Contenidos
• Conceptos y definiciones básicos de la lógica difusa
• Sets difusos y funciones de membresía
• Operaciones sobre sets difusos
• Inferencia usando lógica difusa
Introducción a la lógica difusa

Set difuso
• Asumiendo que X es un set, un set difuso A en X es
asociado con una función característica: μ
A
(x)
μ
A
(x): X -> [0, 1]
• La función característica es tipicamente denominada
función de pertenencia (membership function).
Introducción a la lógica difusa

Set difuso (cont)

Si X es una colección de objetos en el cual x ∈ X, un set
difuso es un mapa μ
F
(x) : X -> [0, α], en el cual a cada
valor x la función μ
F
(x) le asigna un numero entre los
valores 0 a α.
• El set difuso es el set de pares ordenados:
A = {(x, μ
A
(x)) | x ∈ X}
Introducción a la lógica difusa

Set difuso (cont)
Ejemplos discretos y continuos:
A = {(0, 0.1), (1, 0.5), (2, 1), (3, 0.1), (4,0.8)}
B = {0.1/0, 0.5/1, 1/2, 0.1/3, 0.8/4}
C = {(x, μ
C
(x)| x ∈ X}, μ
C
(x) = 1 / (1 + (x/10 - 5)
4
)
X = {0, 1, 2, 3, 4, 5, 6, 7} es el set de hijos que puede
tener una familia, entonces el set difuso D es “el numero
razonable de hijos que puede tener una familia”
D = { (0, 0.1), (1, 0.3), (2, 0.7), (3, 1), (4, 0.7),
(5, 0.3), (6, 0.2), (7, 0.1) }
Introducción a la lógica difusa

Función de pertenencia (o membresía)

El valor asignado por μ
F
(x) corresponde al grado en el
cual el valor x tiene el atributo F.

Visto de otra manera la función μ
F
(x) nos indica cual es
el grado de pertenencia de x al atributo F.

La función μ
F
(x) se llama la función de pertenencia del
atributo F.
• La función tiene que ver con un grado de ambigüedad
sobre la característica de la variable que se esta
midiendo pero no es una probabilidad
Introducción a la lógica difusa

Función de pertenencia (cont)

Ej: μ
F
(x) corresponde al nivel de frío medido en la
variable x
-40 -20 0 10 20 30
1
0
μ
F
(x)
x (C
o
)
frío
mas o menos frío
No tan frío
Definitivamente no frío
Introducción a la lógica difusa

Un set exacto (crisp set) :
μ
s
(x)
x
μ
S
: X -> {0,1}

μ
S
(x) = 1 si x es un miembro de S
μ
S
(x) = 0 si x no es un miembro de S
N
función
característica
par binario
1
} 0 : { N S X S ≤ ≤ ⊂
Introducción a la lógica difusa

Un set difuso (fuzzy set):
μ
s
(x)
x
μ
S
: X -> [0,1], 0 ≤ μ
S
(x) ≤ 1

μ
S
(x) = 0 si x es 0% miembro de S,..., μ
S
(x) = 0.10 si x es 10% miembro de S,...,
μ
S
(x) = 0.20 si x es 20% miembro de S,...,μ
S
(x) = 1 si x es 100% miembro de S
N
función de
pertenencia
intervalo de valores entre cero y uno (inclusive)
1
} 0 : { N S X S ≤ ≤ ⊂
subset
Introducción a la lógica difusa

Otros sets difusos (cont):
μ
s
(x)
x
μ
s
(x)
x
1
1
Hay muchas posibilidades de como representar un set difuso.
Introducción a la lógica difusa

Variables Lingüísticas
Se usan variables lingüísticas para analizar y modelar un
sistemas:
Ej: Supongamos que X = “edad”, se pueden definir
set difusos: “joven”, “adulto”, “anciano”
1.0
0.5
0
X
0 25 50 75 100
μ(x)
joven adulto anciano
Introducción a la lógica difusa

Funciones de pertenencia
¹
¹
¹
¹
¹
¹
¹
'
¹

≤ ≤


≤ ≤
≤ ≤



·
x d
d x c
c d
x d
c x b
b x a
a b
a x
a x
d c b a x
l trapesoida
, 0
,
, 1
,
, 0
) , , , ; ( µ
• Función de pertenencia trapezoidal:
Ej: μ
trapesoid
(x; 10, 20, 60, 95)
1
0 20 40 60 80 100
Introducción a la lógica difusa

Funciones de pertenencia (cont):
• Función de pertenencia triangular:
Ej: μ
triangle
(x; 20, 60, 80)
¹
¹
¹
¹
¹
¹
¹
'
¹

≤ ≤


≤ ≤



·
x c
c x b
b c
x c
b x a
a b
a x
a x
c b a x
triángulo
, 0
,
,
, 0
) , , ; ( µ
1
0 20 40 60 80 100
Introducción a la lógica difusa

Funciones de pertenencia (cont):
• Función de pertenencia llamada un singleton, tiene un valor
único cuando x = a (es como una función delta de Dirac):
Ej: μ
singleton
(x; 60)
a x
a x
a x
s

·
¹
'
¹
·
, 1
, 0
) ; ( µ
1
0 20 40 60 80 100
Introducción a la lógica difusa

Funciones de pertenencia (cont):
• Gausiana
2
2
1
) , ; (

,
_

¸
¸


·
σ
σ µ
c x
e c x
Gausiana
Ej: μ
Gausiana
(x; 3, 1)
Introducción a la lógica difusa

Funciones de pertenencia (cont):
• Gausiana
2
2
1
) , ; (

,
_

¸
¸


·
σ
σ µ
c x
e c x
Gausiana
Ej: μ
Gausiana
(x; 3, y)
Introducción a la lógica difusa

Funciones de pertenencia (cont):
• Bell b
Bell
a
c x
c b a x
2
| | 1
1
) , , ; (

+
· µ
Ej: μ
Bell
(x; 2, 1, 3)
Introducción a la lógica difusa

Funciones de pertenencia (cont):
• Bell b
Bell
a
c x
c b a x
2
| | 1
1
) , , ; (

+
· µ
Ej: μ
Bell
(x; 1, y, 3)
Introducción a la lógica difusa

Funciones de pertenencia (cont):
• Bell b
Bell
a
c x
c b a x
2
| | 1
1
) , , ; (

+
· µ
Ej: μ
Bell
(x; y, 1, 3)
Introducción a la lógica difusa

Funciones de pertenencia (cont):
• Sigmoide:
) (
1
1
) , , ; (
c x a
e
c b a x sigmf
− −
+
·
disp_sig.m
Introducción a la lógica difusa

Funciones de pertenencia (cont):
• LR:
¹
¹
¹
¹
¹
'
¹

,
_

¸
¸ −
<

,
_

¸
¸

·
c x
c x
F
c x
x c
F
c x LR
R
L
,
,
) , , ; (
β
α
β α
c=65
a=60
b=10
c=25
a=10
b=40
difflr.m
F x x
L
( ) max( , ) · − 0 1
2
F x x
R
( ) exp( ) · −
3
Introducción a la lógica difusa

Funciones de pertenencia (cont):
– Para que un sistema difuso sea adaptativo es util el poder
calcular los derivados de las funciones de pertenencia.
– Los derivados toman un rol central en la adaptación de un
sistema difuso (ver Jang 2.4.3)
Introducción a la lógica difusa

Funciones de pertenencia en 2 o mas dimensiones:
• Las funciones de pertenencia también pueden ser de
dos (o mas) dimensiones
– C = {(x, y, μ
C
(x, y)| x ∈ X, y ∈ Y}
• Esto es muchas veces necesario ya que puede que
nuestra función de pertenencia tenga varios inputs
Introducción a la lógica difusa

Funciones de membresía en 2D:
2dmf.m
Introducción a la lógica difusa

convexmf.m
• Un set difuso A es convexo si para cualquier x1,x2 ϵ X
y λ en [0, 1],
µ λ λ µ µ
A A A
x x x x ( ( ) ) min( ( ), ( ))
1 2 1 2
1 + − ≥
Introducción a la lógica difusa

Algunas definiciones de los sets difusos:
Definición: Un set difuso A en X se llama normal si
existe por lo menos un elemento x ∈ X en el cual A(x) = 1.
Un set difuso que no es normal se llama subnormal.
Definición: La altura (height) de un set difuso A es el
miembro mas grande en A. Entonces altura(A) = Max A(x)
Definición: El soporte (support) de un set difuso A es el
subset exacto de X consistente de todos los miembros con
valor de pertenencia > 0. Supp(A) = {x | A(x) > 0 and x ∈ X}
Introducción a la lógica difusa

Algunas definiciones de los sets difusos (cont):
Definición: La medula (o core) de un set A son todos
los elementos con valor de pertenencia = 1.
medula(A) = {x | A(x) = 1 and x ∈ X}
Definición: Si A y B son dos fuzzy sets en X. A es un
subset de B si B(x) ≥ A(x) para todos los valores x ∈ X.
Definición: Si A y B son dos fuzzy subsets de X. A = B si
A es un subset de B y B es un subset de A.
Introducción a la lógica difusa

Definiciones de los sets difusos (cont):
Definición: El α-level set de A es el crisp set en X
consistente de los elementos en X para el cual A(x) ≥ α
A
α
= {x | A(x) ≥ α, x ∈ X}
Exponentes: Si A = {x
1
/a, x
2
/b, ..., } entonces
A
n
= {x
1
n
/a, x
2
n
/b, ..., }
Introducción a la lógica difusa

Definiciones de los sets difusos (cont):
MF
X
.5
1
0
Core
Crossover points
Support
α - cut
α
Introducción a la lógica difusa

Contenidos
• Conceptos y definiciones básicos de la lógica difusa
• Sets difusos y funciones de membresía
• Operaciones sobre sets difusos
• Inferencia usando lógica difusa
Introducción a la lógica difusa

Operaciones en sets difusos:
Definición: Asumiendo que A y B son dos sets difusos
de X, la union de A y B es un set difuso C = A ∪ B,
en el cual C(x) = Max[A(x), B(x)]
Definición: Asumiendo que A y B son dos sets difusos de
X, la intersección de A y B es un set difuso C = A ∩ B,
en el cual C(x) = Min[A(x), B(x)]
Definición: El complemento relativo de B con respecto a A
es E = A – B en el cual E(x) = Max[0, A(x) – B(x)]
Introducción a la lógica difusa

Operaciones en sets difusos (cont):
Definición: La suma limitada (bounded sum) de A y B,
Definición: El complemento o negación de A,
denominado es el set , entonces para
cualquier x en
Definición: La doble negación de A es igual a A.
)] ( ) ( , 1 [ ) ( , x B x A Min x C B A C + · ⊕ ·
A(x) 1 (x) A − ·
A
A X A − ·
Introducción a la lógica difusa

Operaciones en sets difusos (cont):
subset.m
fuzsetop.m
Introducción a la lógica difusa

N a
a
sa
s
( ) ·

+
1
1
Complemento
•Requerimientos:
– Borde: N(0)=1 and N(1) = 0
– Monotonicidad: N(a) > N(b) if a < b
– Involución: N(N(a)) = a
•Dos tipos:
– Sugeno’s complement:
– Yager’s complement:
N a a
w
w w
( ) ( )
/
· − 1
1
Introducción a la lógica difusa

Complemento
N a
a
sa
s
( ) ·

+
1
1
N a a
w
w w
( ) ( )
/
· − 1
1
Introducción a la lógica difusa

Extensiones cilíndricas:
Base set A Cylindrical Ext. of A
cyl_ext.m
Introducción a la lógica difusa

Proyecciones:
Two-dimensional
MF
Projection
onto X
Projection
onto Y
µ
R
x y ( , )
µ
µ
A
y
R
x
x y
( )
max ( , )
·
µ
µ
B
x
R
y
x y
( )
max ( , )
·
project.m
Introducción a la lógica difusa

Operaciones en sets difusos (cont):
Conmutatividad:
A ∪ B = B ∪ A
A ∩ B = B ∩ A
Ídempotencia:
A ∪ A = A
B ∩ B = B
Asociatividad
A ∪ (B ∪ C) = (A ∪ B) ∪ C = A ∪ B ∪ C
A ∩ (B ∩ C) = (A ∩ B) ∩ C = A ∩ B ∩ C
Introducción a la lógica difusa

Operaciones en sets difusos (cont):
Distribución
A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)
A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)
Nulo
A ∪ ∅ = A
A ∩ ∅ = ∅
Unión e Intersección de X (A es un subset de X)
A ∪ X = X
A ∩ X = A
Introducción a la lógica difusa

Ejemplos:
A={.1/a,.1/b, .2/c, 0/d, 1/e}
B={.1/a, 0/b, .2/c, 0/d, .9/e}
A es un set fuzzy normal en X (a razón de el elemento 1/e)
B es un set fuzzy subnormal en X
altura(A) = 1, altura(B) = .9
supp(A) = {a, b, c, e}, supp(B) = {a, c, e}
core(a) = {e}, core(B) = {∅ }
(A es un subset de B ya que B(x) ≥ A(x) para x ∈ X)
B A ⊂
Introducción a la lógica difusa

Ejemplos (cont):
A={.1/a,.1/b, .2/c, 0/d, 1/e}
B={.1/a, 0/b, .2/c, 0/d, .9/e}
C = A ∪ B = Max[A(x), B(x)] = {.1/a, .1/b, .2/c, 0/d, 1/e}
C = A ∩ B = Min[A(x), B(x)] = {.1/a, 0/b, .2/c, 0/d, .9/e}
= 1 – A = {.9/a, .9/b, .8/c, 1/d, 0/e}
A
Introducción a la lógica difusa

Ejemplos (cont):
µ
C
(x) = µ
A
(x) ∩ µ
B
(x) = min( µ
A
(x), µ
B
(x) )
0
1
0
1
x
x
μ
c
(x)
μ
a
(x)
μ
b
(x)
Introducción a la lógica difusa

Ejemplos (cont):
µ
C
(x) = µ
A
(x) ∪ µ
B
(x) = max( µ
A
(x), µ
B
(x) )
0
1
x
μ
c
(x)
μ
a
(x)
μ
b
(x)
0
1
x
Introducción a la lógica difusa

Intersección de sets difusos (A ∩ B) :
La intersección de dos sets difusos A y B se en
general se especifica por una función T:[0,1] × Τ:[0,1]→ [0,1].
Estas operaciones se efectúan a través de un operador que
opera sobre los grados de pertenencia de los conjuntos :
μ
A∩Β
(x) = T(μ
A
(x), μ
B
(x)) = μ
A
(x) [op] μ
B
(x)
En el cual [op] es un operador binario.
Introducción a la lógica difusa

Intersección de set difusos (A ∩ B) (cont) :
Intersección o T-Norma Generalizado
• Requerimientos:
– Borde: T(0, 0) = 0, T(a, 1) = T(1, a) = a
– Monotonicidad: T(a, b) < T(c, d) if a < c and b < d
– Conmutatividad: T(a, b) = T(b, a)
– Asociatividad: T(a, T(b, c)) = T(T(a, b), c)
• Ejemplos:
– Minimum: Tm(a, b)
– Algebraic product: Ta(a, b)
– Bounded product: Tb(a, b)
– Drastic product: Td(a, b)
Introducción a la lógica difusa

Intersección de sets difusos (A ∩ B) (cont) :
Cuatro operadores T-norm:

T
min
(a,b) = min(a, b) = A ∩ B (minino)

T
ap
(a,b) = ab (producto algebraico)

T
bp
(a,b) = 0 ∪ (a+ b-1) (producto limitado)

T
dp
(a,b) = a if b=1, (producto drastico)
= b if a=1,
= 0 if a,b < 1
Introducción a la lógica difusa

Minimum:
Tm(a, b)
Algebraic
product:
Ta(a, b)
Bounded
product:
Tb(a, b)
Drastic
product:
Td(a, b)
tnorm.m
Introducción a la lógica difusa

Unión de sets difusos (A ∪ B) :
Union o T-conorm (S-norm) satisface S(. , .):
– Borde: S(1,1) = 1, S(0,a) = S(a,0) = a
– Monotonicidad: S(a,b) ≤ S(c,d) if a ≤ c and b ≤ d
– Conmutatividad: S(a,b) = S(b,a)
– Asociatividad: S(a,S(b,c)) = S(S(a,b),c))
Introducción a la lógica difusa

Unión de sets difusos (A ∪ B) (cont) :
Cuatro operadores T-conorm:
– S(a,b) = max(a, b) = A ∪ B (máximo)
– S(a,b) = a+b-ab (suma algebraico)

S(a,b) = 1 ∩ (a + b) (suma limitada)
– S(a,b) = a if b=0, (suma drastica)
= b if a=0,
= 1 if a,b > 0
Introducción a la lógica difusa

Maximum:
Sm(a, b)
Algebraic
sum:
Sa(a, b)
Bounded
sum:
Sb(a, b)
Drastic
sum:
Sd(a, b)
tconorm.m
Introducción a la lógica difusa

Operaciones en sets difusos (cont):
Ley de De Morgan:
• T(a, b) = N(S(N(a), N(b)))
• S(a, b) = N(T(N(a), N(b)))
B A B A
B A B A
∪ · ∩
∩ · ∪
) (
) (
Tm(a, b)
Ta(a, b)
Tb(a, b)
Td(a, b)
Sm(a, b)
Sa(a, b)
Sb(a, b)
Sd(a, b)
Introducción a la lógica difusa

T-norma y T-conorma Parametrizadas
• Varios investigadores han propuesto versiones
parametrizadas de T-norma y T-conorma
– Yager
– Schweizer and Sklar
– Dubois and Prade
– Hamacher
– Frank
– Sugeno
– Dombi
Introducción a la lógica difusa

Principio de Extensión
• El principio de extensión nos da un mecanismo básico para
extender las expresiones matemáticas de sets exactos al
dominio difuso.
• Este principio generaliza la idea de un mapeo punto a punto
de una función en sets tradicionales y=f(x) a un mapeo entre
conjuntos difusos.
Introducción a la lógica difusa

Principio de Extensión (cont)
• Si f es una función Y = f(X) y A es un set difuso sobre X
definido como:
A = {μ
A
(x
1
)/x
1
, μ
A
(x
2
)/x
2
, ... , μ
A
(x
n
)/x
n
}
• Entonces el principio de extensión indica que la imagen del
set A bajo la función f( ) es el set difuso B:
B = f(A) = {μ
B
(y
1
)/y
1
, μ
B
(y
2
)/y
2
, ... , μ
B
(y
n
)/y
i
}
en el cual y
i
= f(x
i
) y μ
B
(y) = max μ
A
(x)
Introducción a la lógica difusa

Principio de Extensión (cont)
Ejemplo:
Si A = {0.1/-2, 0.4/-1, 0.8/0, 0.9/1, 0.3/2}
y f(x) = x
2
- 3
Entonces aplicando el principio de extensión tenemos que:
B = {0.1/1, 0.4/-2, 0.8/-3, 0.9/-2, 0.3/1}
= {0.8/-3, (0.4 ∪ 0.9) /-2, (0.1 ∪ 0.3)/1}
= {0.8/-3, 0.9/-2, 0.3/1}
Introducción a la lógica difusa

Relaciones Difusas

Relaciones difusas binarias son mapas difusos en X × Y
que mapean cada elemento en X × Y a una sola función
de pertenencia (entre 0 y 1 inclusive).
• Las relaciones difusas no solo pueden ser binarias si no
que pueden ser generalizadas a n variables
Definición: El producto Cartesiano de dos sets exactos
(X × Y) es un set consistente de todos los pares (x, y) donde
x ∈ X, y ∈ Y.
Introducción a la lógica difusa

Relaciones Difusas Binarias (cont)
Definición: Una relación difusa sobre un par X, Y se define
como el set difuso del producto Cartesiano X × Y
Ejemplo: Relación difusa discreta
Si X = {a, b, c}, Y = {1, 2}, entonces
A = {0.1/(a, 1), 0.6/(a, 2), 0.9/(b, 1), 1/(b,2), 0/(c,1), 0.2/(c,2)}
es una relación difusa sobre el espacio X × Y.
R x y x y x y X Y
R
· ∈ × {(( , ), ( , ))|( , ) } µ
Introducción a la lógica difusa

Relaciones Difusas Binarias (cont)
Definición: Si existen un par de sets difusos A y B su
producto cruce (cross product) Cartesiano A × B es una
relación difusa T sobre el set A × B, T = A × B donde
T(x, y) = Min[A(x), B(y)]
Ejemplo:
Si A = {1/a, 0.6/b, 0.3/c}, B = {1/1, 0.5/2, 0/3} son dos subsets
difusos, entonces,
A × Β = { 1/(a, 1), 0.5/(a, 2), 0/(a, 3), 0.6/(b,1), 0.5/(b,2),
0/(b,3), 0.3/(c,1), 0.3/(c,2), 0/(c,3)}
Introducción a la lógica difusa

Relaciones Difusas Binarias (cont):
Ej: X: variable que indica el tamaño de una casa, Y: variable que
indica el precio de una casa
μ
Tamaño
(x): tamaño atractivo para familia de cuatro personas (mts)
μ
Tamaño
(x) = μ
Gausiana
(x; 100; 2)
Introducción a la lógica difusa

Relaciones Difusas Binarias (cont):
Ej: X: variable que indica el tamaño de una casa, Y: variable que
indica el precio de una casa,
μ
Precio
(y): precio atractivo de una casa para una familia de cuatro
personas (millones)
μ
Precio
(y) = μ
Gausiana
(y; 100; 1)
Introducción a la lógica difusa

Relaciones Difusas Binarias (cont):
Ej: D = {(x, y, μ
D
(x, y)| x ∈ X, y ∈ Y} indica casas de “tamaño
atractivo para familia de cuatro personas” AND “precio atractivo
de una casa para una familia de cuatro personas”
μ
D
al ser el producto de dos funciones de pertenencia se
denomina “compuesta” : μ
D
(x, y) = μ
T
(x) μ
P
(y)
Introducción a la lógica difusa

Relaciones Difusas Binarias (cont)
• Es posible expresar la relación difusa en un matrix R de
μ
R
(x, y).
Ejemplo:
Si X = {x
1
, x
2
, x
3
}, Y = {y
1
, y
2
}, entonces R :
R=
[
 x1 , y1  x1 , y2
 x2 , y1  x2 , y2
 x3 , y1  x3 , y2
]
Introducción a la lógica difusa

Composición de Relaciones Difusas
• Las relaciones difusas se usan en sistemas de inferencia
difusa (e.g. if X then Y)
• Para combinar las relaciones difusas se usan operaciones
de composición
– max-min propuesta por Zadeh
– max-product
Introducción a la lógica difusa

Composición de Relaciones Difusas (cont)
Definición: Si R
1
y R
2
son dos relaciones difusas definidas en
X × Y e Y × Z respectivamente. La composición max-min de
R
1
y R
2
es un set difuso definido como:

μ
R1 ○ R2
(x, z)

= max
y
min[μ
R1
(x, y), μ
R2
(y, z)]
Definición: Si R
1
y R
2
son dos relaciones difusas definidas en
X × Y e Y × Z respectivamente. La composición max-
product de R
1
y R
2
es un set difuso definido como:

μ
R1 ○ R2
(x, z)

= max
y

R1
(x, y) μ
R2
(y, z)]
Introducción a la lógica difusa

Composición de Relaciones Difusas (cont)
En general se tiene max-* en la cual * es un operador de
T-norma
µ µ µ
R R
y
R R
x z x y y z
1 2 1 2

( , ) [ ( , ) * ( , )] · ∨
Introducción a la lógica difusa

Reglas IF-THEN difusas:
Una regla IF-THEN difusa es de la forma
IF x is A THEN y is B
En la cual A y B son variables lingüísticas definidas por sets
difusos en los universos X e Y. La parte IF x is A es llamada
el antecedente o premisa, mientras la parte THEN y is B es
la consecuencia o conclusión
Ejemplos:
• If presion es alta, then volumen es pequeño.
• If carretera esta mojada, then manejar es peligroso.
Introducción a la lógica difusa

Reglas IF-THEN pueden usar variables difusas linguisticas
Ejemplos:
complv.m
Introducción a la lógica difusa

Operaciones sobre variables difusas linguisticas
• Concentration:
• Dilatation:
• Contrast Intensification:
CON A A ( ) ·
2
DIL A A ( )
.
·
0 5
INT A
A x
A x
A
A
( )
, ( ) .
( ) , . ( )
·
¹
'
¹
≤ ≤
¬ ¬ ≤ ≤
2 0 05
2 05 1
2
2
µ
µ
intensif.m
Introducción a la lógica difusa

Reglas IF-THEN difusas (cont):
Si se quiere utilizar la regla IF x is A THEN y is B (A →B)
entonces se puede definir la regla como una relación binaria
difusa R en el espacio X × Y.
R puede ser visto como un set difuso con una función de
pertenencia:
μ
R
(x, y) = f(μ
A
(x),μ
B
(y))
La función de implicación difusa f convierte los grados de
pertenencia individuales a grados de pertenencia de (x, y).
Introducción a la lógica difusa

Reglas IF-THEN difusas (cont):
Basado en la interpretación de (A →B) “A coupled with B” o
“A y B ambos están” entonces las cuatro funciones T-norm se
usan para resolver la relación R

R
min
(a,b) = min(a, b) = A ∩ B (minimo)

R
ap
(a,b) = ab (producto algebraico)

R
bp
(a,b) = 0 ∪ (a+ b-1) (producto limitado)

R
dp
(a,b) = a if b=1, (producto drastico)
= b if a=1,
= 0 if a,b < 1
Introducción a la lógica difusa

Reglas IF-THEN difusas (cont):
Basado en la interpretación de (A →B) “A implies B” o
“A implica B” (NOT A OR B) se pueden utilizar otras funciones:
– Bounded sum
– Max-min composition
– Boolean fuzzy implicación
– Gougen's fuzzy implication (Jang. p62)
Introducción a la lógica difusa

Maneras de Interpretar Reglas IF-THEN difusas:
A coupled with B
A
B
x
y
A coupled with B
A
B
x
y
A
B
A entails B
y
x
A
B
A entails B
y
x
Introducción a la lógica difusa

A coupled with B: µ µ µ
R A B
x y f x y f a b ( , ) ( ( ), ( )) ( , ) · ·
fuzimp.m
Introducción a la lógica difusa

A entails B (not A or B):
fuzimp.m
Introducción a la lógica difusa

Razonamiento difuso:
El Modus Ponens en reglas de lógica tradicional indica que
podemos inferir la verdad de la proposición B basados en la
verdad de A y en la implicación A → B:
premisa 1 (input): x es A
premisa 2 (regla): if x es A then y is B,
consecuencia: y es B
El proceso de razonamiento difuso utiliza el Modus Ponens
Generalizado (GMP):
premisa 1 (input): x es A'
premisa 2 (regla): if x es A then y is B,
consecuencia: y es B'
Introducción a la lógica difusa

Razonamiento difuso (cont):
Definición: Razonamiento aproximado, si A, A', y B son sets
difusos de X, X e Y respectivamente. Asumiendo que (A →B)
se expresa como una relación R en X × Y.
Entonces el set difuso inducido por x es A' y la regla difusa
if x is A then y is B se define como:

μ
B'
(y)

= max
x
min[μ
A'
(x), μ
R
(x,y)]
Introducción a la lógica difusa

Razonamiento difuso (cont):
De la regla anterior:

μ
B'
(y)

= max
x
min[μ
A'
(x), μ
R
(x,y)]
Si se usa las funciones de implicación de Mamdani y la
regla de composición max-min entonces:

μ
B'
(y)

= max
x
[(μ
A'
(x) ∩ μ
A
(x))∩ μ
B
(y)]
A
X
w
A’ B
Y
x is A’
B’
Y
A’
X
y is B’
T-norm
Introducción a la lógica difusa

Razonamiento difuso (cont):
En casos con mas variables usando GMP:
premisa 1 (input): x is A' and y is B'
premisa 2 (regla): if x is A and y is B then z is C,
consecuencia c is C'
A B
T-norm
X Y
w
A’ B’ C2
Z
C’
Z
X Y
A’ B’
x is A’ y is B’ z is C’
Introducción a la lógica difusa

Razonamiento con dos reglas:
Premisas: x is A’ and y is B’
Regla 1: if x is A1 and y is B1 then z is C1
Regla 2: if x is A2 and y is B2 then z is C2
Conclusion: z is C’
A1 B1
A2 B2
T-norm
X
X
Y
Y
w1
w2
A’
A’ B’
B’ C1
C2
Z
Z
C’
Z
X Y
A’ B’
x is A’ y is B’ z is C’
Introducción a la lógica difusa

Contenidos
• Conceptos y definiciones básicos de la lógica difusa
• Sets difusos y funciones de membresía
• Operaciones sobre sets difusos
• Inferencia usando lógica difusa
Introducción a la lógica difusa

Inferencia usando lógica difusa:
• La computación usando inferencia basada en logica difusa
es un metodo de computo popular
• Hay muchas aplicaciones en areas como control,
clasificación, sistemas expertos, robotica y reconocimiento
de patrones
• El sistema de inferencia difuso se conoce por muchos
nombres como: sistema difuso de reglas, sistema experto
difuso, modelo difuso, logica asociativa difusa, controlador
difuso
Introducción a la lógica difusa

Sistemas de inferencia usando lógica difusa:
• El sistema de inferencia difuso consiste de tres
componentes conceptuales:
– reglas difusas,
– diccionario (con funciones de pertenencia),
– mecanismo de raciocinio
Input Reglas Output
Introducción a la lógica difusa

Sistemas de inferencia usando lógica difusa (cont):
• Tipicamente los controladores se relacionan con el mundo
externo a traves de valores exactos (no difusos)
velocidad controlador flujo de gasolina
• Si el controlador usa logica difusa va a ser necesario
alguna conversion
Introducción a la lógica difusa

Sistemas de inferencia usando lógica difusa (cont):
• Esto se denomina fuzzificacion y defuzzificacion.

input
exacto
fuzzificador
controlador
difuso
defuzzificador
output
exacto
Introducción a la lógica difusa

Ejemplo: Controlador Mamdani usando lógica difusa
• Usando la lógica difusa y la teoría de razonamiento
aproximada introducida por Zadeh es posible crear un
controlador basado en esta logica
• La forma tradicional de las leyes de control con
autorregulación (feedback) es:
u(k) = f(e(k), e(k-e),...,e(k-v), u(k-1), u(k-2), ..., u(k-v))
• e es el error entre el punto de control w y el output y
• C es el controlador y S es el sistema siendo controlado
• La idea es diseñar C que minimiza el error (e=w-y) en el
tiempo
w
e
C S
u y
Introducción a la lógica difusa

Controlador de lógica difusa (cont):
• El controlador de lógica difuso (Fuzzy Logic Controler)
utiliza leyes de control consistentes en reglas lógicas
IF...THEN en conjunto con funciones de pertenencia
difusas para controlar un proceso y minimizar el error
• Los conjuntos y los operadores difusos son los sujetos y
predicados de la lógica difusa. Las reglas lógicas IF-
THEN son usadas para formular las expresiones
condicionales que usan la lógica difusa
Introducción a la lógica difusa

Mamdani FLC (Fuzzy Logic Controler) :
El Mamdani FLC fue propuesto por Mamdani y Assilian en
1974, este FLC utiliza el error e(k) y el cambio de error
∆e(k) para producir cambios en la función de output del
controlador (puede ser μ(k) o ∆μ(k))
• e(k) = w(k) – y(k)

∆e(k) = e(k) – e(k – 1)

u(k) = F(e(k), ∆e(k)) o

∆u(k) = F(e(k), ∆e(k))
e(k) se define como el punto de control menos el output:
– Si e(k) > 0 entonces w(k) > y(k)

Si ∆e(k) > 0 entonces e(k) > e(k-1)
Introducción a la lógica difusa

Mamdani FLC (Fuzzy Logic Controler) (cont) :
0. If e = positivo and ∆e = aprox zero then ∆u = positivo
1. If e = negativo and ∆e = aprox zero then ∆u = negative
2. If e = aprox zero and ∆e = aprox zero then ∆u = aprox zero
3. If e = aprox zero and ∆e = positivo then ∆u = positivo
4. If e = aprox zero and ∆e = negativo then ∆u = negativo
1
-.5 0 .5 1 -1
negativo
zero
positivo
μ
Funciónes de pertenencia μ(e), μ(∆e), μ(u):
Introducción a la lógica difusa

Mamdani FLC (Fuzzy Logic Controler) (cont) :
• Otra manera de definir las reglas del controlador es usando la matriz:
P P Z
P
P Z N
Z
Z N N
N
P Z N
e(k)
∆e(k)
Valores de la función de
pertenencia de input e(k)
Valores de la función de
pertenencia de input ∆e(k)
Valores de la función de
pertenencia de output ∆u(k)
Introducción a la lógica difusa

Mamdani FLC (Fuzzy Logic Controler) (cont) :
Los siguientes son los pasos para el funcionamiento del controlador:
• Usando el valor del antecedente de cada una de las reglas (IF...)
• Determinar la consecuencia (THEN ...) de cada una de las reglas
• Agregar todos los outputs de las reglas para obtener el output de
todo el sistema (este es una o mas funciónes de pertenencia
difusa), también se llama determinar el grado de disparo de todas
las reglas (degree of firing)
• Defuzificar el output para obtener un valor exacto, se pueden usar
varios métodos como el COA (centroide) o el MOM
Introducción a la lógica difusa

Mamdani FLC (Fuzzy Logic Controler) (cont) :
Defuzificacion usando el centroide:
En forma discreta:


·
dx x f
xdx x f
Centroide
) (
) (


·
·
·
n
i
i
n
i
i i
x f
x x f
Centroide
0
0
) (
) (
Introducción a la lógica difusa

Mamdani FLC (Fuzzy Logic Controler) (cont) :
Ejemplo de defuzificacion usando el centroide:
En forma discreta con 10 muestras:
∫ ∫ ∫
∫ ∫ ∫
+ +
+ +
·
10
1 . 6
1 . 6
1 . 4
1 . 4
0
10
1 . 6
1 . 6
1 . 4
1 . 4
0
8 .
10
5 . 0
8 .
10
5 . 0
dx dx
x
dx
xdx xdx
x
xdx
Cg
8 . 8 . 8 . ) 10 / 6 ( ) 10 / 5 ( 5 . 5 . 5 . 5 . 5 .
8 . 9 8 . 8 8 . 7 ) 10 / 6 ( 6 ) 10 / 5 ( 5 5 . 4 5 . 3 5 . 2 5 . 1 5 . 0
+ + + + + + + + +
× + × + × + × + × + × + × + × + × + ×
· Cg
Introducción a la lógica difusa

Ejemplo Mamdani FLC (Fuzzy Logic Controler):
(El siguiente ejemplo proviene del sitio web de la Seattle Robotics Society)
• Este ejemplo es un sistema de control de temperatura...
Introducción a la lógica difusa

Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont):
En el ejemplo se quiere minimizar el error entre el Cmd y Temp
• Error: Cmd - Temp (+ cold, - hot)
• dE/dT: (+ heating, - cooling)
• Out: Heat, NO CHANGE or COOL
Introducción a la lógica difusa

Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont):
• Variables linguisticas usadas en el ejemplo:
– "N" = "negative" error or error-dot input level (input negativo)
– "Z" = "zero" error or error-dot input level (input zero)
– "P" = "positive" error or error-dot input level (input positivo)
– "H" = "Heat" output response (output es calentar o “Heat”)
– "-" = "No Change" to current output (output es ningun cambio
o “No Change”)
– "C" = "Cool" output response (output es enfriar o “Cool”)
Introducción a la lógica difusa

Ejemplo (cont):
Inputs:
- E = Cmd-Temp
- dE/dT
Matriz:
E=N: Negative (“hot”)
dE/dT= N: Negative (“cooling”)
Output: C o “Cool”
Introducción a la lógica difusa

Ejemplo (cont): e(k)= -1.0F (Hot), ∆e(k) = +2.5 F (Heating)
Función de pertenencia del input e (error):
e(k)= -1.0F
→ e
neg
(-1) = 0.5, e
zero
(-1) = 0.5
y e
positive
(-1) = 0
Función de pertenencia de input ∆e:
∆e(k) = +2.5 F
→ ∆e
negative
(2.5) = 0,
∆e
zero
(2.5) = 0.5 y ∆e
pos
(2.5) = 0.5
Introducción a la lógica difusa

Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont):
Pasos 1 y 2: Encontrar nivel de disparo y output en todas las reglas e y ∆e
Paso 3: Obtener funciones del pertenencia del output:
"Error" selecciona reglas 1,2,4,5,7,8, "error-dot" reglas 4 a 9.
Agregar outputs usando producto lógico (AND) para obtener las reglas que
se activan (intersección ∩ en rojo)... se activaron 4, 5, 7, 8 (grado de disparo
o degree of firing)

1. If (e < 0) AND (∆e < 0) then u(k)=Cool (0.5 & 0.0 = 0.0)
2. If (e = 0) AND (∆e < 0) then u(k)=Heat (0.5 & 0.0 = 0.0)
3. If (e > 0) AND (∆ e < 0) then u(k)=Heat (0.0 & 0.0 = 0.0)
4. If (e < 0) AND (∆e = 0) then u(k)=Cool (0.5 & 0.5 = 0.5)
5. If (e = 0) AND (∆e = 0) then u(k)=No_Chng (0.5 & 0.5 = 0.5)
6. If (e > 0) AND (∆e = 0) then u(k)=Heat (0.0 & 0.5 = 0.0)
7. If (e < 0) AND (∆e > 0) then u(k)=Cool (0.5 & 0.5 = 0.5)
8. If (e = 0) AND (∆e > 0) then u(k)=Cool (0.5 & 0.5 = 0.5)
9. If (e > 0) AND (∆e > 0) then u(k)=Heat (0.0 & 0.5 = 0.0)
Introducción a la lógica difusa

Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont):
Paso 4: Defuzificar usando algoritmo de RSS-Centroide
para obtener un valor exacto que es el próximo output
para calentar o enfriar el ambiente controlado...
Calcular fuerza (strength) de las reglas usando Root Sum Squared (RSS):
"negative" = (R
1
2
+ R
4
2
+ R
7
2
+ R
8
2
)
1/2
= (0
2
+ 0.5
2
+ 0.5
2
+ 0.5
2
)
1/2
= 0.866 (Cooling)
"zero" = (R
5
2
)
1/2
= (0.5
2
)
1/2
= 0.500 (No Change)
"positive" = (R
2
2
+ R
3
2
+ R
6
2
+ R
9
2
)
1/2
= (0
2
+ 0
2
+ 0
2
+ 0
2
)
1/2
= 0 (Heating)
Calcular RSS-Centroide:
OUTPUT = (neg_center * neg_strength + zero_center * zero_strength +
pos_center * pos_strength) / (neg_strength + zero_strength + pos_strength)
(-100 * 0.866 + 0 * 0.500 + 100 * 0.000)/ (0.866 + 0.500 + 0.000) = 63.4%


·
·
·
n
i
i
n
i
i i
x f
x x f
Centroide
0
0
) (
) (
Introducción a la lógica difusa

Ejemplo (cont):
La coordenada horizontal se toma como el valor exacto. En este ejemplo el valor
de -63.4% (63.4% Enfriando) parece lógico ya que el ∆e = +2.5 input
(Error-dot=+2.5) indica que el calor todavía se esta incrementando (Heating).
Introducción a la lógica difusa

Sistemas de inferencia usando lógica difusa (cont):
• El ejemplo anterior es basado en un modelo de inferencia
difuso llamado el modelo Mamdani
• Otro modelo utilizado es el modelo Sugeno (también
conocido como modelo Takagi, Sugeno, Kang o TSK)
• Un tercer modelo es el modelo Tsukamoto
• Cada modelo tiene características especificas que lo
hacen mas ameno a ser usado en una implementación
dependiendo del problema a resolver
Introducción a la lógica difusa

Sistemas de inferencia usando lógica difusa (cont):
• La principal diferencia entre los modelos es en las
consecuencias de las reglas y en los métodos de
agregación y defuzificacion
input
exacto
fuzzificador
controlador
difuso:
•reglas if then
•agregación
defuzzificador
output
exacto
Introducción a la lógica difusa

El modelo Mamdani:
• Fue uno de los primeros métodos de control difuso
obtenidos basados en la experiencia de operadores
humanos
• En el modelo Mamdani se pueden usar diferentes
operadores (siempre que sean T-norm o T-conorm)
Introducción a la lógica difusa

Variantes de T-norm y T-conorm en modelos Mamdani:
Para implementar un modelo Mamdani hay que asignar un
operador basado en las operaciones seleccionadas:
• AND: (usualmente T-norm) para calcular la fuerza de disparo de
una regla con antecedentes que usan AND
• OR: (usualmente T-conorm) para calcular la fuerza de disparo de
una regla con antecedentes que usan OR
• Implicación: (usualmente T-norm) para calcular consecuentes
• Agregación: (usualmente T-conorm) para agregar consecuentes y
generar una función de pertenencia del output
• Defuzificacion: para transformar la función de pertenencia (output
difuso) a un output exacto
Introducción a la lógica difusa

Union e Intersección de lógica difusa (A ∪ B, A ∩ B) (cont) :
Cuatro posibles operadores T-norm:

T
min
(a,b) = min(a, b) = A ∩ B (minimo)

T
ap
(a,b) = ab (producto algebraico)

T
bp
(a,b) = 0 ∪ (a+ b-1) (producto limitado)

T
dp
(a,b) = a if b=1, (producto drastico)
= b if a=1,
= 0 if a,b < 1
Introducción a la lógica difusa

Union e Intersección de lógica difusa (A ∪ B, A ∩ B) (cont) :
Cuatro posibles operadores T-conorm:
– S(a,b) = max(a, b) = A ∪ B (maximo)
– S(a,b) = a+b-ab (suma algebraico)

S(a,b) = 1 ∩ (a + b) (suma limitada)
– S(a,b) = a if b=0, (suma drastica)
= b if a=0,
= 1 if a,b > 0
Introducción a la lógica difusa

El modelo Mamdani (original):

If x is A
1
and y is B
1
then z is C
1

If x is A
2
and y is B
2
then z is C
2
• T-norm = min
• T-conorm = max
Introducción a la lógica difusa

El modelo Mamdani II:

If x is A
1
and y is B
1
then z is C
1

If x is A
2
and y is B
2
then z is C
2
• T-norm = product
• T-conorm = max
Introducción a la lógica difusa

Métodos de defuzzificacion usados en Mamdani:
• Centroid (Centroid o COA)
• Bisector de un Area (BOA)
• Mas pequeño, medio, máximo de un máximo (SOM,
MOM, LOM)
Introducción a la lógica difusa

Modelo Mamdani de tres reglas con un input y un output:
• Usando composición max-min, defuzificacion centroide
• If X is small then Y is small
• If X is medium then Y is medium
• If X is large then Y is large
Introducción a la lógica difusa

Mamdani de cuatro reglas con dos input y un output:
• Usando composición max-min, defuzificacion centroide
• If X is small and Y is small then Z is negative large
• If X is small and Y is large then Z is negative small
• If X is large and Y is small then Z is positive small
• If X is large and Y is large then Z is positive large
Introducción a la lógica difusa

El modelo Sugeno:
• Otro modelo desarrollado para la inferencia difusa, utiliza
una función como consecuente:
– If x is A and y is B then z = f(x, y)
• Z = f(x, y) es una función exacta en el consecuente
• f(x, y) es un polinomio
– Si f(x, y) es constante el modelo Sugeno es de orden
zero
– Si f(x, y) es de primer orden el modelo Sugeno es de
orden uno
Introducción a la lógica difusa

El modelo Sugeno (cont):
• En el modelo Sugeno no es necesaria la defuzificacion,
ya que cada regla tiene un output exacto, alternativas son:
– Promedio ponderada de cada regla

Suma ponderada de cada regla (z' = w
1
z
1
+ w
2
z
2
)
Introducción a la lógica difusa

El modelo Sugeno (cont):
• El output continuo del modelo Sugeno de orden zero
depende de que las funciones de pertenencia de los
antecedentes estén suficientemente traslapados
Introducción a la lógica difusa

Modelo Sugeno con antecedentes exactos y difusos:
• Consideren un modelo Sugeno de un input:
– If X is small then Y = 0.1x + 6.4
– If X is medium then Y = -0.5x + 4
– If X is large then Y = x - 4
Introducción a la lógica difusa

Modelo Sugeno con cuatro reglas, dos inputs y un output:
• If X is small and Y is small then Z = -x + y + 1
• If X is small and Y is large then Z = -y + 3
• If X is large and Y is small then Z = -x + 3
• If X is large and Y is large then Z = x +y + 3
Introducción a la lógica difusa

Modelo Tsukamoto:
• En este modelo la función consecuente es un set difuso con
una función monotonica:
– If x is A and y is B then z is C
• El output de cada regla se define como un valor exacto
inducido por la fuerza de disparo de cada regla
• Cada regla tiene un output exacto
• Este metodo no necesita defuzificacion ya que agrega los
outputs exactos de cada regla usando el promedio
ponderado
Introducción a la lógica difusa

Modelo Tsukamoto con dos reglas dos inputs y un output:

If x is A
1
and y is B
1
then z is C
1

If x is A
2
and y is B
2
then z is C
2
Introducción a la lógica difusa

Modelo Tsukamoto con tres reglas un input y un output
(cont):

If X is small then Y is C
1

If X is medium then Y is C
2

If X is large then Y is C
3
Introducción a la lógica difusa

Modelamiento difuso:
• La idea del modelamiento difuso es dividir (partición) los posibles
valores de input (antecedentes)
• Los consecuentes pueden ser funciones de pertenencia
(Mamdani y Tsukamoto), valores constantes (Sugeno de orden
zero) o funciones lineares (Sugeno)
• Los diferentes consecuentes resultan en diferentes sistemas de
inferencia pero los antecedentes son los mismos
Introducción a la lógica difusa

Modelamiento difuso: Métodos de partición del input:
a) Grid partition: dividir el espacio del input en celdas de igual
tamaño e igual distribución
– Sufre de un problema de dimensionalidad
– Ej: Modelo con 3 inputs y 2 funciones (large, small) de
pertenencia por input: A, B, C → 2
3
= 8 reglas,
– Modelo con 4 inputs y 3 funciones de pertenencia (large,
medium, small) por input:
– A, B, C, D → 3
4
= 81 reglas, ...
Introducción a la lógica difusa

Modelamiento difuso: Métodos de partición del input (cont)
b) Tree partition: dividir el espacio de búsqueda en celdas de diferente
tamaño y basado en la logica de un árbol
• No tiene el problema exponencial de grid partition
• Muchas veces el significado de las variables no es tan generico
linguisticamente como en Grid (no es tan ortogonal)
• Usado en el algoritmo CART (Jang. Ch14)
Introducción a la lógica difusa

Modelamiento difuso: Métodos de partición del input (cont)
c) Scatter partition: no cubrir el espacio de búsqueda completo si no
que solo un subconjunto de este
• La partición es decidida por específicos pares de datos de
input-output
• El significado de las variables no es generico linguisticamente
• No es ortogonal y hay traslapado posible
Introducción a la lógica difusa

Modelamiento difuso: reglas generales
• Tipicamente un sistema difuso tiene que replicar (o mejorar) el
accionamiento de un sistema de control existente:
– Un operador a cargo de un proceso en una planta química
– Un operador a cargo de un tren del metro
– Un operador a cargo de monitorear una linea del metro
– Un medico especialista en cierto diagnostico
– etc
• El sistema difuso se convierte en un sistema experto en el cual las
reglas que utiliza son dictadas por la logica que utiliza el experto
original (reglas ↔ conocimiento del dominio del problema)
• Cuando solo se tienen pares de datos de input → output entonces
se pueden usar métodos para identificar el sistema y modelarlo
(datos numéricos ↔ conocimiento del dominio del problema)
Introducción a la lógica difusa

Modelamiento difuso: pasos
Pasos iniciales:
• Seleccionar variables relevantes de input y output
• Elegir un tipo especifico de sistema de inferencia
• Determinar el numero de términos lingüísticos (basados en
variables)
• Diseñar una colección de reglas if-then difusas
Después de estos pasos iniciales tipicamente se desea mejorar el
modelo:
• Elegir funciones de pertenencia correctamente parametrizadas
• Mejorar las reglas y los parámetros de la funciones de
pertenencia
• Refinar los parámetros de las funciones de pertenencia usando
métodos de optimización (Ej. Gradiente, GA, GP,...)
Introducción a la lógica difusa

Referencias:
[1] Yager, R., Filev, D., Essentials of Fuzzy Modeling and Control,
Wiley Interscience, NY, 1994
[2] Kartalopoulos, S., Understanding Neural Networks and Fuzzy
Logic, IEEE PRESS, NY, 1994
[3] Jang, J., et al, Neuro-Fuzzy and Soft Computing, Prentice
Hall,1997
[4] www.seattlerobotics.org

Introducción a la lógica difusa

Contenidos • • • • Conceptos y definiciones básicos de la lógica difusa Sets difusos y funciones de membresía Operaciones sobre sets difusos Inferencia usando lógica difusa

Introducción a la lógica difusa Introducción • Por ejemplo se considera a una persona como alta si mide mas de 1.80mts, pero de igual forma se considera a una persona como alta si mide 1.7999mts • Esta consideración no existe en la logica tradicional que utiliza demarcaciones estrictas para determinar pertenencia en sets: • Ejemplo: A es el set clásico de personas altas A = { x | x > 1.8} Una persona que mide 1.799999mts es baja!

. Zadeh en 1965 como una generalización de un subset exacto (crisp subset) tradicional.Introducción a la lógica difusa Introducción (cont) • La logica difusa es una extension de la logica tradicional (Booleana) que utiliza conceptos de pertenencia de sets mas parecidos a la manera de pensar humana • El concepto de un subset difuso fue introducido por L. • Los subsets exactos usan lógica Booleana con valores exactos como por ejemplo la lógica binaria que usa valores de 1 o 0 para sus operaciones.A.

Introducción a la lógica difusa Introducción (cont) • La lógica difusa no usa valores exactos como 1 o 0 pero usa valores entre 1 y 0 (inclusive) que pueden indican valores intermedios (Ej.0.2.1. 0.0. …etc) • La lógica difusa también incluye los valores 0 y 1 entonces se puede considerar como un superset o extensión de la lógica exacta.1. 1. .1.9. 0. 0. ….

Introducción a la lógica difusa Contenidos • • • • Conceptos y definiciones básicos de la lógica difusa Sets difusos y funciones de membresía Operaciones sobre sets difusos Inferencia usando lógica difusa .

1] • La función característica es tipicamente denominada función de pertenencia (membership function). un set difuso A en X es asociado con una función característica: μA(x) μA(x): X -> [0.Introducción a la lógica difusa Set difuso • Asumiendo que X es un set. .

μA(x)) | x ∈ X} .Introducción a la lógica difusa Set difuso (cont) • Si X es una colección de objetos en el cual x ∈ X. α]. • El set difuso es el set de pares ordenados: A = {(x. un set difuso es un mapa μF(x) : X -> [0. en el cual a cada valor x la función μF(x) le asigna un numero entre los valores 0 a α.

4. 0. (5.1/3. (3. 0. 3. (7. 0. 0.1). (2. (3. 5.5).7). (2. 1. 0. μC(x) = 1 / (1 + (x/10 . 0. 1). 6. 7} es el set de hijos que puede tener una familia.3).2).1) } .1).1).Introducción a la lógica difusa Set difuso (cont) Ejemplos discretos y continuos: A = {(0. 0. (6. μC(x)| x ∈ X}. (1. 0. 0. (1.8)} B = {0. 1). 0. (4. entonces el set difuso D es “el numero razonable de hijos que puede tener una familia” D = { (0. 0.0. 0.8/4} C = {(x. 1/2. 2.5/1.3).1/0. (4.7).5)4) X = {0. 0.

Introducción a la lógica difusa Función de pertenencia (o membresía) • El valor asignado por μF(x) corresponde al grado en el cual el valor x tiene el atributo F. • La función tiene que ver con un grado de ambigüedad sobre la característica de la variable que se esta midiendo pero no es una probabilidad . • Visto de otra manera la función μF(x) nos indica cual es el grado de pertenencia de x al atributo F. • La función μF(x) se llama la función de pertenencia del atributo F.

Introducción a la lógica difusa Función de pertenencia (cont) • Ej: μF(x) corresponde al nivel de frío medido en la variable x frío mas o menos frío 1 μF(x) 0 -40 -20 0 10 20 30 No tan frío Definitivamente no frío x (Co) .

1} μS(x) = 1 si x es un miembro de S μS(x) = 0 si x no es un miembro de S .Introducción a la lógica difusa Un set exacto (crisp set) : 1 μs(x) función característica N par binario x {S ⊂ X : 0 ≤ S ≤ N } μS : X -> {0.

μS(x) = 0.Introducción a la lógica difusa Un set difuso (fuzzy set): función de pertenencia μs(x) subset N x intervalo de valores entre cero y uno (inclusive) 1 {S ⊂ X : 0 ≤ S ≤ N } μS : X -> [0..20 si x es 20% miembro de S..1]..10 si x es 10% miembro de S....μS(x) = 1 si x es 100% miembro de S .... 0 ≤ μS(x) ≤ 1 μS(x) = 0 si x es 0% miembro de S.... μS(x) = 0.

Introducción a la lógica difusa Otros sets difusos (cont): 1 μs(x) x 1 μs(x) x Hay muchas posibilidades de como representar un set difuso. .

5 0 0 25 50 X 75 100 .Introducción a la lógica difusa Variables Lingüísticas Se usan variables lingüísticas para analizar y modelar un sistemas: Ej: Supongamos que X = “edad”. “anciano” joven adulto anciano 1.0 μ(x) 0. “adulto”. se pueden definir set difusos: “joven”.

 0. a .  b− a  µ trapesoida ( x.  x− a . 60. l d − x d−c. c . b .  (x. 95) x≤ a a≤ x≤ b b≤ x≤ c c≤ x≤ d d ≤ x Ej: μtrapesoid 1 0 20 40 60 80 100 .Introducción a la lógica difusa Funciones de pertenencia • Función de pertenencia trapezoidal:  0. 20. d ) =  1. 10.

 b− a µ triángulo( x. b .Introducción a la lógica difusa Funciones de pertenencia (cont): • Función de pertenencia triangular:  0. 60. 20.  Ej: μtriangle (x.  x− a . c ) =  c− x  . a .  c− b  0. 80) 1 x≤ a a≤ x≤ b b≤ x≤ c c≤ x 0 20 40 60 80 100 .

60) 1 x= a x≠ a 0 20 40 60 80 100 . a ) =   1. µ s ( x. tiene un valor único cuando x = a (es como una función delta de Dirac):  0. Ej: μsingleton (x.Introducción a la lógica difusa Funciones de pertenencia (cont): • Función de pertenencia llamada un singleton.

σ ) = e Ej: μGausiana (x. c. 1) . 3.Introducción a la lógica difusa Funciones de pertenencia (cont): • Gausiana 1  x − c   −  2  σ  2 µ Gausiana( x.

c. y) µ Gausiana( x.Introducción a la lógica difusa Funciones de pertenencia (cont): • Gausiana Ej: μGausiana (x. σ ) = e 1  x − c   −  2  σ  2 . 3.

Introducción a la lógica difusa Funciones de pertenencia (cont): • Bell µ Bell ( x. a. c) = 1 x − c 2b 1+ | | a Ej: μBell (x. 3) . b. 2. 1.

1. c) = 1 x − c 2b 1+ | | a Ej: μBell (x. a. y. 3) . b.Introducción a la lógica difusa Funciones de pertenencia (cont): • Bell µ Bell ( x.

3) . b. a. 1. y.Introducción a la lógica difusa Funciones de pertenencia (cont): • Bell µ Bell ( x. c) = 1 x − c 2b 1+ | | a Ej: μBell (x.

Introducción a la lógica difusa Funciones de pertenencia (cont): • Sigmoide: sigmf ( x. c ) = 1 1 + e− a( x− c) disp_sig.m . b. a.

β ) =    FR  x − c  . x ≥ c   β       max( 0. α . x < c   LR ( x.m .1 − x ) 2 FL ( x ) = FR ( x ) = exp(− x ) 3 c=65 a=60 b=10 c=25 a=10 b=40 difflr.Introducción a la lógica difusa Funciones de pertenencia (cont): • LR:   c− x  FL  α  . c.

4. – Los derivados toman un rol central en la adaptación de un sistema difuso (ver Jang 2.Introducción a la lógica difusa Funciones de pertenencia (cont): – Para que un sistema difuso sea adaptativo es util el poder calcular los derivados de las funciones de pertenencia.3) .

y ∈ Y} • Esto es muchas veces necesario ya que puede que nuestra función de pertenencia tenga varios inputs . y. y)| x ∈ X. μC(x.Introducción a la lógica difusa Funciones de pertenencia en 2 o mas dimensiones: • Las funciones de pertenencia también pueden ser de dos (o mas) dimensiones – C = {(x.

Introducción a la lógica difusa Funciones de membresía en 2D: 2dmf.m .

Introducción a la lógica difusa

• Un set difuso A es convexo si para cualquier x1,x2 ϵ X y λ en [0, 1],

µA ( λx 1 + ( 1 − λ ) x 2 ) ≥ min(µA ( x 1 ), µA ( x 2 ))

convexmf.m

Introducción a la lógica difusa

Algunas definiciones de los sets difusos: Definición: Un set difuso A en X se llama normal si existe por lo menos un elemento x ∈ X en el cual A(x) = 1. Un set difuso que no es normal se llama subnormal. Definición: La altura (height) de un set difuso A es el miembro mas grande en A. Entonces altura(A) = Max A(x) Definición: El soporte (support) de un set difuso A es el subset exacto de X consistente de todos los miembros con valor de pertenencia > 0. Supp(A) = {x | A(x) > 0 and x ∈ X}

Introducción a la lógica difusa

Algunas definiciones de los sets difusos (cont): Definición: La medula (o core) de un set A son todos los elementos con valor de pertenencia = 1. medula(A) = {x | A(x) = 1 and x ∈ X} Definición: Si A y B son dos fuzzy sets en X. A es un subset de B si B(x) ≥ A(x) para todos los valores x ∈ X. Definición: Si A y B son dos fuzzy subsets de X. A = B si A es un subset de B y B es un subset de A.

. x2n/b... .Introducción a la lógica difusa Definiciones de los sets difusos (cont): Definición: El α-level set de A es el crisp set en X consistente de los elementos en X para el cual A(x) ≥ α Aα= {x | A(x) ≥ α. } . x ∈ X} Exponentes: Si A = {x1/a... .. x2/b. } entonces An = {x1n/a.

Introducción a la lógica difusa

Definiciones de los sets difusos (cont):
MF 1 .5 α 0

Core Crossover points α - cut Support

X

Introducción a la lógica difusa

Contenidos • • • • Conceptos y definiciones básicos de la lógica difusa Sets difusos y funciones de membresía Operaciones sobre sets difusos Inferencia usando lógica difusa

Introducción a la lógica difusa

Operaciones en sets difusos: Definición: Asumiendo que A y B son dos sets difusos de X, la union de A y B es un set difuso C = A ∪ B, en el cual C(x) = Max[A(x), B(x)] Definición: Asumiendo que A y B son dos sets difusos de X, la intersección de A y B es un set difuso C = A ∩ B, en el cual C(x) = Min[A(x), B(x)] Definición: El complemento relativo de B con respecto a A es E = A – B en el cual E(x) = Max[0, A(x) – B(x)]

Introducción a la lógica difusa Operaciones en sets difusos (cont): Definición: La suma limitada (bounded sum) de A y B. C = A ⊕ B. A( x ) + B ( x)] Definición: El complemento o negación de A. denominado A es el set A = X − A entonces para . . cualquier x en A(x) = 1 − A(x) Definición: La doble negación de A es igual a A. C ( x) = Min[1.

Introducción a la lógica difusa Operaciones en sets difusos (cont): subset.m .m fuzsetop.

Introducción a la lógica difusa Complemento •Requerimientos: – Borde: N(0)=1 and N(1) = 0 – Monotonicidad: N(a) > N(b) if a < b – Involución: N(N(a)) = a •Dos tipos: – Sugeno’s complement: N s ( a ) = 1 − a 1 + sa – Yager’s complement: N w ( a ) = (1 − a w )1/ w .

Introducción a la lógica difusa Complemento N s (a ) = 1− a 1 + sa N w ( a ) = (1 − a w )1/ w .

of A cyl_ext.m .Introducción a la lógica difusa Extensiones cilíndricas: Base set A Cylindrical Ext.

Introducción a la lógica difusa Proyecciones: Two-dimensional MF Projection onto X Projection onto Y µ R ( x. y ) y µ B( y) = max µ R ( x . y ) x .m µ A(x) = max µ R ( x . y ) project.

Introducción a la lógica difusa Operaciones en sets difusos (cont): Conmutatividad: A∪B=B∪A A∩B=B∩A Ídempotencia: A∪A=A B∩B=B Asociatividad A ∪ (B ∪ C) = (A ∪ B) ∪ C = A ∪ B ∪ C A ∩ (B ∩ C) = (A ∩ B) ∩ C = A ∩ B ∩ C .

Introducción a la lógica difusa Operaciones en sets difusos (cont): Distribución A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) Nulo A∪∅=A A∩∅=∅ Unión e Intersección de X (A es un subset de X) A∪X=X A∩X=A .

supp(B) = {a. 0/b. core(B) = {∅ } A ⊂ B (A es un subset de B ya que B(x) ≥ A(x) para x ∈ X) .2/c. . 0/d. c.1/b.1/a.1/a. . e} core(a) = {e}. 0/d.9/e} A es un set fuzzy normal en X (a razón de el elemento 1/e) B es un set fuzzy subnormal en X altura(A) = 1. .2/c. c. b.9 supp(A) = {a. 1/e} B={.Introducción a la lógica difusa Ejemplos: A={. e}.. altura(B) = .

1/e} B={. .9/e} C = A ∪ B = Max[A(x).9/a. .2/c. 0/d.8/c.1/a. .1/b. .1/a.9/e} A = 1 – A = {. 0/e} . 0/b.2/c.2/c.1/a. 0/d. 1/e} C = A ∩ B = Min[A(x). B(x)] = {. B(x)] = {.1/b. .. .1/a.9/b. 1/d. 0/d.2/c.Introducción a la lógica difusa Ejemplos (cont): A={. . . . 0/d. 0/b.

Introducción a la lógica difusa Ejemplos (cont): µC (x) = µA (x) ∩ µB (x) = min( µA (x). µB (x) ) μa(x) 1 0 μb(x) x 1 μc(x) 0 x .

µB (x) ) μa(x) 1 0 μb(x) x 1 μc(x) 0 x .Introducción a la lógica difusa Ejemplos (cont): µC (x) = µA (x) ∪ µB (x) = max( µA (x).

Estas operaciones se efectúan a través de un operador que opera sobre los grados de pertenencia de los conjuntos : μA∩Β(x) = T(μA(x). μB(x)) = μA(x) [op] μB(x) En el cual [op] es un operador binario.1].1]→ [0.Introducción a la lógica difusa Intersección de sets difusos (A ∩ B) : La intersección de dos sets difusos A y B se en general se especifica por una función T:[0. .1] × Τ:[0.

T(b. 0) = 0. b) – Bounded product: Tb(a. c)) = T(T(a. b) = T(b. b). b) – Algebraic product: Ta(a. 1) = T(1. b) – Drastic product: Td(a. c) • Ejemplos: – Minimum: Tm(a. a) – Asociatividad: T(a. T(a. b) . a) = a – Monotonicidad: T(a. d) if a < c and b < d – Conmutatividad: T(a.Introducción a la lógica difusa Intersección de set difusos (A ∩ B) (cont) : Intersección o T-Norma Generalizado • Requerimientos: – Borde: T(0. b) < T(c.

= b if a=1.b) = ab – Tbp(a.b < 1 (minino) (producto algebraico) (producto limitado) (producto drastico) .b) = min(a.Introducción a la lógica difusa Intersección de sets difusos (A ∩ B) (cont) : Cuatro operadores T-norm: – Tmin(a.b) = a if b=1. = 0 if a.b) = 0 ∪ (a+ b-1) – Tdp(a. b) = A ∩ B – Tap(a.

m . b) Algebraic product: Ta(a.Introducción a la lógica difusa Minimum: Tm(a. b) Bounded product: Tb(a. b) tnorm. b) Drastic product: Td(a.

0) = a – Monotonicidad: S(a.b). .): – Borde: S(1.b) = S(b.S(b. S(0.d) if a ≤ c and b ≤ d – Conmutatividad: S(a.a) – Asociatividad: S(a.b) ≤ S(c. .a) = S(a.c)) .1) = 1.c)) = S(S(a.Introducción a la lógica difusa Unión de sets difusos (A ∪ B) : Union o T-conorm (S-norm) satisface S(.

b) = a+b-ab – S(a.b > 0 (máximo) (suma algebraico) (suma limitada) (suma drastica) .b) = 1 ∩ (a + b) – S(a. b) = A ∪ B – S(a.b) = max(a. = b if a=0.Introducción a la lógica difusa Unión de sets difusos (A ∪ B) (cont) : Cuatro operadores T-conorm: – S(a. = 1 if a.b) = a if b=0.

b) Drastic sum: Sd(a.Introducción a la lógica difusa Maximum: Sm(a.m . b) Algebraic sum: Sa(a. b) Bounded sum: Sb(a. b) tconorm.

b) = N(S(N(a). b) . b) Td(a. b) Sd(a. N(b))) • S(a. b) Tb(a.Introducción a la lógica difusa Operaciones en sets difusos (cont): Ley de De Morgan: ( A ∪ B) = A ∩ B ( A ∩ B) = A ∪ B • T(a. b) Sm(a. b) Ta(a. N(b))) Tm(a. b) = N(T(N(a). b) Sa(a. b) Sb(a.

Introducción a la lógica difusa T-norma y T-conorma Parametrizadas • Varios investigadores han propuesto parametrizadas de T-norma y T-conorma – Yager – Schweizer and Sklar – Dubois and Prade – Hamacher – Frank – Sugeno – Dombi versiones .

. • Este principio generaliza la idea de un mapeo punto a punto de una función en sets tradicionales y=f(x) a un mapeo entre conjuntos difusos.Introducción a la lógica difusa Principio de Extensión • El principio de extensión nos da un mecanismo básico para extender las expresiones matemáticas de sets exactos al dominio difuso.

μA(xn)/xn} • Entonces el principio de extensión indica que la imagen del set A bajo la función f( ) es el set difuso B: B = f(A) = {μB(y1)/y1. .. μB(yn)/yi} en el cual yi = f(xi) y μB(y) = max μA(x) . .Introducción a la lógica difusa Principio de Extensión (cont) • Si f es una función Y = f(X) y A es un set difuso sobre X definido como: A = {μA(x1)/x1.. . μB(y2)/y2.. .. μA(x2)/x2.

8/-3.3 Entonces aplicando el principio de extensión tenemos que: B = {0.4 ∪ 0.1/-2. (0.3/1} = {0. 0.4/-2. (0. 0.8/-3. 0.9) /-2. 0. 0.1/1. 0.9/-2. 0.3/2} y f(x) = x2 .9/1.3/1} . 0.8/0. 0. 0.Introducción a la lógica difusa Principio de Extensión (cont) Ejemplo: Si A = {0.1 ∪ 0.3)/1} = {0.4/-1.8/-3.9/-2.

• Las relaciones difusas no solo pueden ser binarias si no que pueden ser generalizadas a n variables Definición: El producto Cartesiano de dos sets exactos (X × Y) es un set consistente de todos los pares (x.Introducción a la lógica difusa Relaciones Difusas • Relaciones difusas binarias son mapas difusos en X × Y que mapean cada elemento en X × Y a una sola función de pertenencia (entre 0 y 1 inclusive). . y ∈ Y. y) donde x ∈ X.

6/(a. c}. entonces A = {0. y ) ∈ X × Y} Ejemplo: Relación difusa discreta Si X = {a. Y se define como el set difuso del producto Cartesiano X × Y R = {(( x . b.9/(b.2). µ R ( x .1/(a.2)} es una relación difusa sobre el espacio X × Y. 2). Y = {1. y ). 1/(b. 2}. y ))|( x . 0.1).Introducción a la lógica difusa Relaciones Difusas Binarias (cont) Definición: Una relación difusa sobre un par X. 0. 0/(c. 0. 1). 1).2/(c. .

0/(b. 0/(c.6/b. B = {1/1. 0.2).3/c}. 0/3} son dos subsets difusos.Introducción a la lógica difusa Relaciones Difusas Binarias (cont) Definición: Si existen un par de sets difusos A y B su producto cruce (cross product) Cartesiano A × B es una relación difusa T sobre el set A × B. 0. 0. 2).5/(b.3)} . entonces.3). A × Β = { 1/(a. 0. 0/(a.3/(c.6/(b.5/(a. B(y)] Ejemplo: Si A = {1/a. 0.1).5/2. T = A × B donde T(x. 0. 0. 3).3/(c. y) = Min[A(x). 1).2). 0.1).

2) .Introducción a la lógica difusa Relaciones Difusas Binarias (cont): Ej: X: variable que indica el tamaño de una casa. 100. Y: variable que indica el precio de una casa μTamaño(x): tamaño atractivo para familia de cuatro personas (mts) μTamaño(x) = μGausiana (x.

Introducción a la lógica difusa Relaciones Difusas Binarias (cont): Ej: X: variable que indica el tamaño de una casa. Y: variable que indica el precio de una casa. 1) . μPrecio(y): precio atractivo de una casa para una familia de cuatro personas (millones) μPrecio(y) = μGausiana (y. 100.

y. y) = μT(x) μP(y) . y ∈ Y} indica casas de “tamaño atractivo para familia de cuatro personas” AND “precio atractivo de una casa para una familia de cuatro personas” μD al ser el producto de dos funciones de pertenencia se denomina “compuesta” : μD(x. μD(x.Introducción a la lógica difusa Relaciones Difusas Binarias (cont): Ej: D = {(x. y)| x ∈ X.

y1  x3 . y1  x2 . entonces R :  x1 . y2  x3 . y). y2 [ ] .Introducción a la lógica difusa Relaciones Difusas Binarias (cont) • Es posible expresar la relación difusa en un matrix R de μR(x. y2 R=  x2 . x3}. x2. Y = {y1. y2}. y1  x1 . Ejemplo: Si X = {x1.

if X then Y) • Para combinar las relaciones difusas se usan operaciones de composición – max-min propuesta por Zadeh – max-product .g.Introducción a la lógica difusa Composición de Relaciones Difusas • Las relaciones difusas se usan en sistemas de inferencia difusa (e.

z) = maxy [μR1(x. z) = maxy min[μR1(x. y) μR2(y.Introducción a la lógica difusa Composición de Relaciones Difusas (cont) Definición: Si R1 y R2 son dos relaciones difusas definidas en X × Y e Y × Z respectivamente. z)] . y). z)] Definición: Si R1 y R2 son dos relaciones difusas definidas en X × Y e Y × Z respectivamente. μR2(y. La composición max-min de R1 y R2 es un set difuso definido como: – μR1 ○ R2(x. La composición maxproduct de R1 y R2 es un set difuso definido como: – μR1 ○ R2(x.

z ) = ∨ [µ y R1 ( x.Introducción a la lógica difusa Composición de Relaciones Difusas (cont) En general se tiene max-* en la cual * es un operador de T-norma µ R1  R2 ( x . z )] . y ) * µ R2 ( y .

then volumen es pequeño. La parte IF x is A es llamada el antecedente o premisa. . mientras la parte THEN y is B es la consecuencia o conclusión Ejemplos: • If presion es alta.Introducción a la lógica difusa Reglas IF-THEN difusas: Una regla IF-THEN difusa es de la forma IF x is A THEN y is B En la cual A y B son variables lingüísticas definidas por sets difusos en los universos X e Y. • If carretera esta mojada. then manejar es peligroso.

Introducción a la lógica difusa Reglas IF-THEN pueden usar variables difusas linguisticas Ejemplos: complv.m .

5 ≤ µ A ( x ) ≤ 1  intensif.m .5 0 ≤ µ A ( x ) ≤ 0. INT ( A) =  • Contrast Intensification: ¬ 2( ¬ A)2 . 0.5  2 A2 .Introducción a la lógica difusa Operaciones sobre variables difusas linguisticas CON ( A) = A2 • Concentration: • Dilatation: DIL( A) = A0.

Introducción a la lógica difusa Reglas IF-THEN difusas (cont): Si se quiere utilizar la regla IF x is A THEN y is B (A →B) entonces se puede definir la regla como una relación binaria difusa R en el espacio X × Y. y) = f(μA(x).μB(y)) La función de implicación difusa f convierte los grados de pertenencia individuales a grados de pertenencia de (x. . y). R puede ser visto como un set difuso con una función de pertenencia: μR(x.

b) = min(a.Introducción a la lógica difusa Reglas IF-THEN difusas (cont): Basado en la interpretación de (A →B) “A coupled with B” o “A y B ambos están” entonces las cuatro funciones T-norm se usan para resolver la relación R – Rmin(a.b) = 0 ∪ (a+ b-1) – Rdp(a. = b if a=1.b) = ab – Rbp(a. = 0 if a.b < 1 (minimo) (producto algebraico) (producto limitado) (producto drastico) . b) = A ∩ B – Rap(a.b) = a if b=1.

Introducción a la lógica difusa Reglas IF-THEN difusas (cont): Basado en la interpretación de (A →B) “A implies B” o “A implica B” (NOT A OR B) se pueden utilizar otras funciones: – – – – Bounded sum Max-min composition Boolean fuzzy implicación Gougen's fuzzy implication (Jang. p62) .

Introducción a la lógica difusa Maneras de Interpretar Reglas IF-THEN difusas: A coupled with B y y A entails B B B x A x A .

b) fuzimp. y ) = f ( µ A ( x ).m . µ B ( y )) = f ( a.Introducción a la lógica difusa A coupled with B: µ R ( x .

m .Introducción a la lógica difusa A entails B (not A or B): fuzimp.

consecuencia: y es B El proceso de razonamiento difuso utiliza el Modus Ponens Generalizado (GMP): premisa 1 (input): x es A' premisa 2 (regla): if x es A then y is B. consecuencia: y es B' .Introducción a la lógica difusa Razonamiento difuso: El Modus Ponens en reglas de lógica tradicional indica que podemos inferir la verdad de la proposición B basados en la verdad de A y en la implicación A → B: premisa 1 (input): x es A premisa 2 (regla): if x es A then y is B.

A'. y B son sets difusos de X.y)] .Introducción a la lógica difusa Razonamiento difuso (cont): Definición: Razonamiento aproximado. si A. Entonces el set difuso inducido por x es A' y la regla difusa if x is A then y is B se define como: – μB'(y) = maxx min[μA'(x). μR(x. Asumiendo que (A →B) se expresa como una relación R en X × Y. X e Y respectivamente.

μR(x.y)] Si se usa las funciones de implicación de Mamdani y la regla de composición max-min entonces: – μB'(y) = maxx [(μA'(x) ∩ μA(x))∩ μB(y)] T-norm A’ A w B X Y A’ x is A’ X B’ y is B’ Y .Introducción a la lógica difusa Razonamiento difuso (cont): De la regla anterior: – μB'(y) = maxx min[μA'(x).

consecuencia c is C' A’ A B’ B T-norm w C2 Z X Y A’ B’ C’ Y z is C’ Z x is A’ X y is B’ .Introducción a la lógica difusa Razonamiento difuso (cont): En casos con mas variables usando GMP: premisa 1 (input): x is A' and y is B' premisa 2 (regla): if x is A and y is B then z is C.

Introducción a la lógica difusa Razonamiento con dos reglas: Premisas: x is A’ and y is B’ Regla 1: if x is A1 and y is B1 then z is C1 Regla 2: if x is A2 and y is B2 then z is C2 Conclusion: z is C’ A’ A1 B’ B1 w1 C1 Z X Y A’ A2 B’ B2 w2 C2 Z T-norm X Y A’ B’ C’ Z x is A’ X y is B’ Y z is C’ .

Introducción a la lógica difusa Contenidos • • • • Conceptos y definiciones básicos de la lógica difusa Sets difusos y funciones de membresía Operaciones sobre sets difusos Inferencia usando lógica difusa .

clasificación.Introducción a la lógica difusa Inferencia usando lógica difusa: • La computación usando inferencia basada en logica difusa es un metodo de computo popular • Hay muchas aplicaciones en areas como control. sistemas expertos. logica asociativa difusa. modelo difuso. controlador difuso . sistema experto difuso. robotica y reconocimiento de patrones • El sistema de inferencia difuso se conoce por muchos nombres como: sistema difuso de reglas.

– mecanismo de raciocinio de tres Input Reglas Output .Introducción a la lógica difusa Sistemas de inferencia usando lógica difusa: • El sistema de inferencia difuso consiste componentes conceptuales: – reglas difusas. – diccionario (con funciones de pertenencia).

Introducción a la lógica difusa Sistemas de inferencia usando lógica difusa (cont): • Tipicamente los controladores se relacionan con el mundo externo a traves de valores exactos (no difusos) velocidad controlador flujo de gasolina • Si el controlador usa logica difusa va a ser necesario alguna conversion .

input exacto fuzzificador controlador difuso defuzzificador output exacto .Introducción a la lógica difusa Sistemas de inferencia usando lógica difusa (cont): • Esto se denomina fuzzificacion y defuzzificacion.

u(k-v)) • e es el error entre el punto de control w y el output y • C es el controlador y S es el sistema siendo controlado • La idea es diseñar C que minimiza el error (e=w-y) en el tiempo w e u y C S .Introducción a la lógica difusa Ejemplo: Controlador Mamdani usando lógica difusa • Usando la lógica difusa y la teoría de razonamiento aproximada introducida por Zadeh es posible crear un controlador basado en esta logica • La forma tradicional de las leyes de control con autorregulación (feedback) es: u(k) = f(e(k).e(k-v).... .. u(k-1)... u(k-2).. e(k-e).

..THEN en conjunto con funciones de pertenencia difusas para controlar un proceso y minimizar el error • Los conjuntos y los operadores difusos son los sujetos y predicados de la lógica difusa. Las reglas lógicas IFTHEN son usadas para formular las expresiones condicionales que usan la lógica difusa .Introducción a la lógica difusa Controlador de lógica difusa (cont): • El controlador de lógica difuso (Fuzzy Logic Controler) utiliza leyes de control consistentes en reglas lógicas IF.

este FLC utiliza el error e(k) y el cambio de error ∆e(k) para producir cambios en la función de output del controlador (puede ser μ(k) o ∆μ(k)) • e(k) = w(k) – y(k) • ∆e(k) = e(k) – e(k – 1) • u(k) = F(e(k).Introducción a la lógica difusa Mamdani FLC (Fuzzy Logic Controler) : El Mamdani FLC fue propuesto por Mamdani y Assilian en 1974. ∆e(k)) e(k) se define como el punto de control menos el output: – Si e(k) > 0 entonces w(k) > y(k) – Si ∆e(k) > 0 entonces e(k) > e(k-1) . ∆e(k)) o • ∆u(k) = F(e(k).

2. μ(∆e). μ(u): μ negativo 1 zero positivo -1 -. 1.5 1 . 4. 3. If e = positivo and ∆e = aprox zero then ∆u = positivo If e = negativo and ∆e = aprox zero then ∆u = negative If e = aprox zero and ∆e = aprox zero then ∆u = aprox zero If e = aprox zero and ∆e = positivo then ∆u = positivo If e = aprox zero and ∆e = negativo then ∆u = negativo Funciónes de pertenencia μ(e).5 0 .Introducción a la lógica difusa Mamdani FLC (Fuzzy Logic Controler) (cont) : 0.

Introducción a la lógica difusa Mamdani FLC (Fuzzy Logic Controler) (cont) : • Otra manera de definir las reglas del controlador es usando la matriz: e(k) N ∆e(k) Z N Z P P Z P P Valores de la función de pertenencia de input e(k) Valores de la función de pertenencia de output ∆u(k) N Z P N N Z Valores de la función de pertenencia de input ∆e(k) .

.) • Determinar la consecuencia (THEN .) de cada una de las reglas • Agregar todos los outputs de las reglas para obtener el output de todo el sistema (este es una o mas funciónes de pertenencia difusa)..Introducción a la lógica difusa Mamdani FLC (Fuzzy Logic Controler) (cont) : Los siguientes son los pasos para el funcionamiento del controlador: • Usando el valor del antecedente de cada una de las reglas (IF... se pueden usar varios métodos como el COA (centroide) o el MOM . también se llama determinar el grado de disparo de todas las reglas (degree of firing) • Defuzificar el output para obtener un valor exacto.

Introducción a la lógica difusa Mamdani FLC (Fuzzy Logic Controler) (cont) : Defuzificacion usando el centroide: Centroide = En forma discreta: ∫ n f ( x) xdx ∫ f ( x ) dx Centroide = ∑ i= 0 n f ( x ) i xi f ( x) i ∑ i= 0 .

8 xdx 6.8 + 9 × .5 + (5 / 10) + ( 6 / 10) + .1 10 x ∫ 0.1 6.1 6.8 Cg = .5 + 2 × . 1 10 ∫ .1 Cg = x ∫0 0.5 + 1× . 1 ∫ . 1 6. 5 + 3 × .5 + .5 + 5 × (5 / 10) + 6 × ( 6 / 10) + 7 × .8 .5 + .5 xdx + 4∫.5 + 4 × .5 + .8 + 8 × .Introducción a la lógica difusa Mamdani FLC (Fuzzy Logic Controler) (cont) : Ejemplo de defuzificacion usando el centroide: 4.8dx En forma discreta con 10 muestras: 0 × .5 + .8 + .110 xdx + 4.5dx + ∫ 10 dx + 0 4.8 + .

. • ..Introducción a la lógica difusa Ejemplo Mamdani FLC (Fuzzy Logic Controler): (El siguiente ejemplo proviene del sitio web de la Seattle Robotics Society) Este ejemplo es un sistema de control de temperatura.

Temp (+ cold. NO CHANGE or COOL .cooling) • Out: Heat. .Introducción a la lógica difusa Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont): En el ejemplo se quiere minimizar el error entre el Cmd y Temp • Error: Cmd .hot) • dE/dT: (+ heating. .

Introducción a la lógica difusa Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont): • Variables linguisticas usadas en el ejemplo: "N" = "negative" error or error-dot input level (input negativo) – "Z" = "zero" error or error-dot input level (input zero) – – "P" = "positive" error or error-dot input level (input positivo) – "H" = "Heat" output response (output es calentar o “Heat”) – "-" = "No Change" to current output (output es ningun cambio o “No Change”) – "C" = "Cool" output response (output es enfriar o “Cool”) .

Introducción a la lógica difusa Ejemplo (cont): Inputs: .dE/dT E=N: Negative (“hot”) dE/dT= N: Negative (“cooling”) Output: C o “Cool” Matriz: .E = Cmd-Temp .

0F (Hot).5 F (Heating) Función de pertenencia del input e (error): e(k)= -1.5) = 0.Introducción a la lógica difusa Ejemplo (cont): e(k)= -1.5 F → ∆enegative(2.5) = 0.5.5 y ∆epos(2.0F → eneg(-1) = 0.5 y epositive(-1) = 0 Función de pertenencia de input ∆e: ∆e(k) = +2. ∆e(k) = +2.5) = 0. ezero(-1) = 0. ∆ezero(2.5 .

0 & 0. If (e = 0) AND (∆e > 0) then u(k)=Cool 9.5 & 0..0 & 0.5 & 0.5) (0.8.7.0) (0.5 & 0.5 & 0.5) (0.0) .0) (0. 7. If (e > 0) AND (∆e = 0) then u(k)=Heat 7.0 & 0.5 = 0. If (e = 0) AND (∆e < 0) then u(k)=Heat 3.5 = 0.5 = 0.0) (0.5 = 0.5 = 0. 5. Agregar outputs usando producto lógico (AND) para obtener las reglas que se activan (intersección ∩ en rojo).5 & 0. If (e > 0) AND (∆e > 0) then u(k)=Heat (0. se activaron 4. If (e < 0) AND (∆e > 0) then u(k)=Cool 8.2. If (e > 0) AND (∆ e < 0) then u(k)=Heat 4.5. If (e < 0) AND (∆e < 0) then u(k)=Cool 2.5) (0.0) (0.5 = 0.0 = 0.Introducción a la lógica difusa Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont): Pasos 1 y 2: Encontrar nivel de disparo y output en todas las reglas e y ∆e Paso 3: Obtener funciones del pertenencia del output: "Error" selecciona reglas 1.0 = 0.5) (0. If (e < 0) AND (∆e = 0) then u(k)=Cool 5.5 & 0..4. "error-dot" reglas 4 a 9.0 = 0. If (e = 0) AND (∆e = 0) then u(k)=No_Chng 6. 8 (grado de disparo o degree of firing) 1.

000) = 63. ∑ n i= 0 n f ( x ) i xi f ( x) i ∑ i= 0 Calcular fuerza (strength) de las reglas usando Root Sum Squared (RSS): "negative" = (R12 + R42 + R72 + R82)1/2 = (02 + 0.500 + 100 * 0.500 + 0.52 + 0.Introducción a la lógica difusa Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont): Paso 4: Defuzificar usando algoritmo de RSS-Centroide para obtener un valor exacto que es el próximo output Centroide = para calentar o enfriar el ambiente controlado.52)1/2 = 0..52 + 0..500 (No Change) "positive" = (R22 + R32 + R62 + R92)1/2 = (02 + 02 + 02 + 02)1/2 = 0 (Heating) Calcular RSS-Centroide: OUTPUT = (neg_center * neg_strength + zero_center * zero_strength + pos_center * pos_strength) / (neg_strength + zero_strength + pos_strength) (-100 * 0.52)1/2 = 0.4% .866 + 0.000)/ (0.866 + 0 * 0.866 (Cooling) "zero" = (R52)1/2 = (0.

4% (63.Introducción a la lógica difusa Ejemplo (cont): La coordenada horizontal se toma como el valor exacto.4% Enfriando) parece lógico ya que el ∆e = +2.5 input (Error-dot=+2. .5) indica que el calor todavía se esta incrementando (Heating). En este ejemplo el valor de -63.

Introducción a la lógica difusa Sistemas de inferencia usando lógica difusa (cont): • El ejemplo anterior es basado en un modelo de inferencia difuso llamado el modelo Mamdani • Otro modelo utilizado es el modelo Sugeno (también conocido como modelo Takagi. Kang o TSK) • Un tercer modelo es el modelo Tsukamoto • Cada modelo tiene características especificas que lo hacen mas ameno a ser usado en una implementación dependiendo del problema a resolver . Sugeno.

Introducción a la lógica difusa Sistemas de inferencia usando lógica difusa (cont): • La principal diferencia entre los modelos es en las consecuencias de las reglas y en los métodos de agregación y defuzificacion input exacto controlador difuso: •reglas if then •agregación output exacto fuzzificador defuzzificador .

Introducción a la lógica difusa El modelo Mamdani: • Fue uno de los primeros métodos de control difuso obtenidos basados en la experiencia de operadores humanos • En el modelo Mamdani se pueden usar diferentes operadores (siempre que sean T-norm o T-conorm) .

Introducción a la lógica difusa Variantes de T-norm y T-conorm en modelos Mamdani: Para implementar un modelo Mamdani hay que asignar un operador basado en las operaciones seleccionadas: • AND: (usualmente T-norm) para calcular la fuerza de disparo de una regla con antecedentes que usan AND • OR: (usualmente T-conorm) para calcular la fuerza de disparo de una regla con antecedentes que usan OR • Implicación: (usualmente T-norm) para calcular consecuentes • Agregación: (usualmente T-conorm) para agregar consecuentes y generar una función de pertenencia del output • Defuzificacion: para transformar la función de pertenencia (output difuso) a un output exacto .

b) = min(a. = b if a=1.b) = a if b=1. A ∩ B) (cont) : Cuatro posibles operadores T-norm: – Tmin(a.b < 1 (minimo) (producto algebraico) (producto limitado) (producto drastico) .b) = ab – Tbp(a. = 0 if a.Introducción a la lógica difusa Union e Intersección de lógica difusa (A ∪ B. b) = A ∩ B – Tap(a.b) = 0 ∪ (a+ b-1) – Tdp(a.

Introducción a la lógica difusa Union e Intersección de lógica difusa (A ∪ B.b) = a if b=0. = b if a=0.b) = max(a. = 1 if a.b) = a+b-ab (suma algebraico) – S(a. b) = A ∪ B (maximo) – S(a.b) = 1 ∩ (a + b) – S(a. A ∩ B) (cont) : Cuatro posibles operadores T-conorm: – S(a.b > 0 (suma limitada) (suma drastica) .

Introducción a la lógica difusa El modelo Mamdani (original): • If x is A1 and y is B1 then z is C1 • If x is A2 and y is B2 then z is C2 • T-norm = min • T-conorm = max .

Introducción a la lógica difusa El modelo Mamdani II: • If x is A1 and y is B1 then z is C1 • If x is A2 and y is B2 then z is C2 • T-norm = product • T-conorm = max .

medio. LOM) . MOM.Introducción a la lógica difusa Métodos de defuzzificacion usados en Mamdani: • Centroid (Centroid o COA) • Bisector de un Area (BOA) • Mas pequeño. máximo de un máximo (SOM.

Introducción a la lógica difusa Modelo Mamdani de tres reglas con un input y un output: • Usando composición max-min. defuzificacion centroide • If X is small then Y is small • If X is medium then Y is medium • If X is large then Y is large .

Introducción a la lógica difusa Mamdani de cuatro reglas con dos input y un output: • • • • • Usando composición max-min. defuzificacion centroide If X is small and Y is small then Z is negative large If X is small and Y is large then Z is negative small If X is large and Y is small then Z is positive small If X is large and Y is large then Z is positive large .

y) es constante el modelo Sugeno es de orden zero – Si f(x. y) • Z = f(x.Introducción a la lógica difusa El modelo Sugeno: • Otro modelo desarrollado para la inferencia difusa. y) es una función exacta en el consecuente • f(x. utiliza una función como consecuente: – If x is A and y is B then z = f(x. y) es de primer orden el modelo Sugeno es de orden uno . y) es un polinomio – Si f(x.

alternativas son: – Promedio ponderada de cada regla – Suma ponderada de cada regla (z' = w1z1 + w2z2) . ya que cada regla tiene un output exacto.Introducción a la lógica difusa El modelo Sugeno (cont): • En el modelo Sugeno no es necesaria la defuzificacion.

Introducción a la lógica difusa El modelo Sugeno (cont): • El output continuo del modelo Sugeno de orden zero depende de que las funciones de pertenencia de los antecedentes estén suficientemente traslapados .

1x + 6.5x + 4 – If X is large then Y = x .Introducción a la lógica difusa Modelo Sugeno con antecedentes exactos y difusos: • Consideren un modelo Sugeno de un input: – If X is small then Y = 0.4 – If X is medium then Y = -0.4 .

Introducción a la lógica difusa Modelo Sugeno con cuatro reglas. dos inputs y un output: • • • • If X is small and Y is small then Z = -x + y + 1 If X is small and Y is large then Z = -y + 3 If X is large and Y is small then Z = -x + 3 If X is large and Y is large then Z = x +y + 3 .

Introducción a la lógica difusa Modelo Tsukamoto: • En este modelo la función consecuente es un set difuso con una función monotonica: – If x is A and y is B then z is C • El output de cada regla se define como un valor exacto inducido por la fuerza de disparo de cada regla • Cada regla tiene un output exacto • Este metodo no necesita defuzificacion ya que agrega los outputs exactos de cada regla usando el promedio ponderado

Introducción a la lógica difusa Modelo Tsukamoto con dos reglas dos inputs y un output:
• If x is A1 and y is B1 then z is C1 • If x is A2 and y is B2 then z is C2

Introducción a la lógica difusa Modelo Tsukamoto con tres reglas un input y un output (cont):
• If X is small then Y is C1 • If X is medium then Y is C2 • If X is large then Y is C3

Introducción a la lógica difusa Modelamiento difuso: • La idea del modelamiento difuso es dividir (partición) los posibles valores de input (antecedentes) • Los consecuentes pueden ser funciones de pertenencia (Mamdani y Tsukamoto). valores constantes (Sugeno de orden zero) o funciones lineares (Sugeno) • Los diferentes consecuentes resultan en diferentes sistemas de inferencia pero los antecedentes son los mismos .

. B. C → 23 = 8 reglas. small) por input: – A. medium. – Modelo con 4 inputs y 3 funciones de pertenencia (large. . B. D → 34 = 81 reglas. small) de pertenencia por input: A.. C.Introducción a la lógica difusa Modelamiento difuso: Métodos de partición del input: a) Grid partition: dividir el espacio del input en celdas de igual tamaño e igual distribución – Sufre de un problema de dimensionalidad – Ej: Modelo con 3 inputs y 2 funciones (large..

Introducción a la lógica difusa Modelamiento difuso: Métodos de partición del input (cont) b) Tree partition: dividir el espacio de búsqueda en celdas de diferente tamaño y basado en la logica de un árbol • No tiene el problema exponencial de grid partition • Muchas veces el significado de las variables no es tan generico linguisticamente como en Grid (no es tan ortogonal) • Usado en el algoritmo CART (Jang. Ch14) .

Introducción a la lógica difusa Modelamiento difuso: Métodos de partición del input (cont) c) Scatter partition: no cubrir el espacio de búsqueda completo si no que solo un subconjunto de este • La partición es decidida por específicos pares de datos de input-output • El significado de las variables no es generico linguisticamente • No es ortogonal y hay traslapado posible .

Introducción a la lógica difusa Modelamiento difuso: reglas generales • Tipicamente un sistema difuso tiene que replicar (o mejorar) el accionamiento de un sistema de control existente: – Un operador a cargo de un proceso en una planta química – Un operador a cargo de un tren del metro – Un operador a cargo de monitorear una linea del metro – Un medico especialista en cierto diagnostico – etc • El sistema difuso se convierte en un sistema experto en el cual las reglas que utiliza son dictadas por la logica que utiliza el experto original (reglas ↔ conocimiento del dominio del problema) • Cuando solo se tienen pares de datos de input → output entonces se pueden usar métodos para identificar el sistema y modelarlo (datos numéricos ↔ conocimiento del dominio del problema) .

) .. GA.. GP.Introducción a la lógica difusa Modelamiento difuso: pasos Pasos iniciales: • Seleccionar variables relevantes de input y output • Elegir un tipo especifico de sistema de inferencia • Determinar el numero de términos lingüísticos (basados en variables) • Diseñar una colección de reglas if-then difusas Después de estos pasos iniciales tipicamente se desea mejorar el modelo: • Elegir funciones de pertenencia correctamente parametrizadas • Mejorar las reglas y los parámetros de la funciones de pertenencia • Refinar los parámetros de las funciones de pertenencia usando métodos de optimización (Ej.. Gradiente.

Prentice Hall. NY. Filev. Neuro-Fuzzy and Soft Computing. NY. et al. IEEE PRESS...1997 [4] www. S.. 1994 [2] Kartalopoulos. Wiley Interscience. J. Essentials of Fuzzy Modeling and Control. 1994 [3] Jang. Understanding Neural Networks and Fuzzy Logic.Introducción a la lógica difusa Referencias: [1] Yager.. R. D.seattlerobotics.org .

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->