introducción a la lógica difusa - iniciotarredondo/info/soft-comp/introduccion... ·...
TRANSCRIPT
-
Introduccin a la Lgica Difusa
Toms Arredondo Vidal4/4/14
-
Introduccin a la lgica difusa
Contenidos
Conceptos y definiciones bsicos de la lgica difusa Sets difusos y funciones de membresa Operaciones sobre sets difusos Inferencia usando lgica difusa
-
Introduccin a la lgica difusa
Introduccin
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 consideracin no existe en la logica tradicional que utiliza demarcaciones estrictas para determinar pertenencia en sets:
Ejemplo: A es el set clsico de personas altasA = { x | x > 1.8}Una persona que mide 1.799999mts es baja!
-
Introduccin a la lgica difusa
Introduccin (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 generalizacin de un subset exacto (crisp subset) tradicional.
Los subsets exactos usan lgica Booleana con valores exactos como por ejemplo la lgica binaria que usa valores de 1 o 0 para sus operaciones.
-
Introduccin a la lgica difusa
Introduccin (cont)
La lgica 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 lgica difusa tambin incluye los valores 0 y 1 entonces se puede considerar como un superset o extensin de la lgica exacta.
-
Introduccin a la lgica difusa
Contenidos
Conceptos y definiciones bsicos de la lgica difusa Sets difusos y funciones de membresa Operaciones sobre sets difusos Inferencia usando lgica difusa
-
Introduccin a la lgica difusa
Set difuso
Asumiendo que X es un set, un set difuso A en X es asociado con una funcin caracterstica: A(x)
A(x): X -> [0, 1] La funcin caracterstica es tipicamente denominada
funcin de pertenencia (membership function).
-
Introduccin a la lgica difusa
Set difuso (cont)
Si X es una coleccin 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 funcin 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}
-
Introduccin a la lgica 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 familiaD = { (0, 0.1), (1, 0.3), (2, 0.7), (3, 1), (4, 0.7),
(5, 0.3), (6, 0.2), (7, 0.1) }
-
Introduccin a la lgica difusa
Funcin de pertenencia (o membresa)
El valor asignado por F(x) corresponde al grado en el cual el valor x tiene el atributo F.
Visto de otra manera la funcin F(x) nos indica cual es el grado de pertenencia de x al atributo F.
La funcin F(x) se llama la funcin de pertenencia del atributo F.
La funcin tiene que ver con un grado de ambigedad sobre la caracterstica de la variable que se esta midiendo pero no es una probabilidad
-
Introduccin a la lgica difusa
Funcin de pertenencia (cont)
Ej: F(x) corresponde al nivel de fro medido en la variable x
-40 -20 0 10 20 30
1
0
F(x)
x (Co)
fromas o menos fro
No tan fro
Definitivamente no fro
-
Introduccin a la lgica 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
funcin caracterstica
par binario
1
}0:{ NSXS
-
Introduccin a la lgica 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
funcin depertenencia
intervalo de valores entre cero y uno (inclusive)
1
}0:{ NSXS
subset
-
Introduccin a la lgica difusa
Otros sets difusos (cont):
s(x)
x
s(x)
x
1
1
Hay muchas posibilidades de como representar un set difuso.
-
Introduccin a la lgica difusa
Variables Lingsticas
Se usan variables lingsticas 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
-
Introduccin a la lgica difusa
Funciones de pertenencia
=
xd
dxccdxd
cxb
bxaabax
ax
dcbaxltrapesoida
,0
,
,1
,
,0
),,,;(
Funcin de pertenencia trapezoidal:
Ej: trapesoid
(x; 10, 20, 60, 95)1
0 20 40 60 80 100
-
Introduccin a la lgica difusa
Funciones de pertenencia (cont):
Funcin de pertenencia triangular:
Ej: triangle
(x; 20, 60, 80)
=
xc
cxbbcxc
bxaabax
ax
cbaxtringulo
,0
,
,
,0
),,;(
1
0 20 40 60 80 100
-
Introduccin a la lgica difusa
Funciones de pertenencia (cont):
Funcin de pertenencia llamada un singleton, tiene un valor nico cuando x = a (es como una funcin delta de Dirac):
Ej: singleton
(x; 60)
axax
axs =
=,1,0
);(
1
0 20 40 60 80 100
-
Introduccin a la lgica difusa
Funciones de pertenencia (cont):
Gausiana2
21
),;(
=
cx
ecxGausiana
Ej: Gausiana
(x; 3, 1)
-
Introduccin a la lgica difusa
Funciones de pertenencia (cont):
Gausiana2
21
),;(
=
cx
ecxGausianaEj:
Gausiana (x; 3, y)
-
Introduccin a la lgica difusa
Funciones de pertenencia (cont):
Bell bBellacxcbax 2||1
1),,;( +=
Ej: Bell
(x; 2, 1, 3)
-
Introduccin a la lgica difusa
Funciones de pertenencia (cont):
Bell bBellacxcbax 2||1
1),,;( +=
Ej: Bell
(x; 1, y, 3)
-
Introduccin a la lgica difusa
Funciones de pertenencia (cont):
Bell bBellacxcbax 2||1
1),,;( +=
Ej: Bell
(x; y, 1, 3)
-
Introduccin a la lgica difusa
Funciones de pertenencia (cont):
Sigmoide: )(11),,;( cxae
cbaxs i g m f +=
d i s p _ s i g . m
-
Introduccin a la lgica difusa
Funciones de pertenencia (cont):
LR:
-
Introduccin a la lgica 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 adaptacin de un
sistema difuso (ver Jang 2.4.3)
-
Introduccin a la lgica difusa
Funciones de pertenencia en 2 o mas dimensiones:
Las funciones de pertenencia tambin pueden ser de varias dimensiones C = {(x, y, C(x, y)| x X, y Y}
Esto es muchas veces necesario ya que puede que nuestra funcin de pertenencia tenga varios inputs
-
Introduccin a la lgica difusa
F u n c i o n e s d e m e m b r e s a e n 2 D :
2 d m f . m
-
Introduccin a la lgica difusa
convexmf.m
Un set difuso A es convexo si para cualquier x1,x2 X y en [0, 1],
A A Ax x x x( ( ) ) min( ( ), ( ))1 2 1 21+
-
Introduccin a la lgica difusa
Algunas definiciones de los sets difusos:
Definicin: 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.
Definicin: La altura (height) de un set difuso A es el miembro mas grande en A. Entonces altura(A) = Max A(x)
Definicin: 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}
-
Introduccin a la lgica difusa
Algunas definiciones de los sets difusos (cont):
Definicin: 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}
Definicin: 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.
Definicin: Si A y B son dos fuzzy subsets de X. A = B siA es un subset de B y B es un subset de A.
-
Introduccin a la lgica difusa
Definiciones de los sets difusos (cont):
Definicin: 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: Dado que X={a, b, c, }.Si A = {x1/a, x2/b, ..., } entonces An = {x1n/a, x2n/b, ..., }
-
Introduccin a la lgica difusa
Definiciones de los sets difusos (cont):
M F
X
. 5
1
0 C o r e
C r o s s o v e r p o i n t s
S u p p o r t
- c u t
-
Introduccin a la lgica difusa
Contenidos
Conceptos y definiciones bsicos de la lgica difusa Sets difusos y funciones de membresa Operaciones sobre sets difusos Inferencia usando lgica difusa
-
Introduccin a la lgica difusa
Operaciones en sets difusos:
Definicin: 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)]
Definicin: Asumiendo que A y B son dos sets difusos de X, la interseccin de A y B es un set difuso C = A B, en el cual C(x) = Min[A(x), B(x)]
Definicin: El complemento relativo de B con respecto a A es E = A B en el cual E(x) = Max[0, A(x) B(x)]
-
Introduccin a la lgica difusa
Operaciones en sets difusos (cont):
Definicin: La suma limitada (bounded sum) de A y B,
Definicin: El complemento o negacin de A, denominado es el set , entonces para cualquier x en
Definicin: La doble negacin de A es igual a A.
)]()(,1[)(, xBxAMinxCBAC +==
A(x)1(x)A =A AXA =
-
Introduccin a la lgica difusa
O p e r a c i o n e s e n s e t s d i f u s o s ( c o n t ) :
s u b s e t . mf u z s e t o p . m
-
Introduccin a la lgica difusa
N a as as
( ) = +
11
ComplementoRequerimientos:
Borde: N(0)=1 and N(1) = 0 Monotonicidad: N(a) > N(b) if a < b Involucin: N(N(a)) = a
Dos tipos: Sugenos complement:
Yagers complement: N a aw w w( ) ( ) /= 1 1
-
Introduccin a la lgica difusa
Complemento
N a as as
( ) = +
11
N a aww w( ) ( ) /= 1 1
-
Introduccin a la lgica difusa
E x t e n s i o n e s c i l n d r i c a s :B a s e s e t A C y l i n d r i c a l E x t . o f A
c y l _ e x t . m
-
Introduccin a la lgica difusa
P r o y e c c i o n e s :T w o - d i m e n s i o n a l
M FP r o j e c t i o n
o n t o XP r o j e c t i o n
o n t o Y
R x y( , )
A
y R
xx y
( )m a x ( , )
=
B
x R
yx y
( )m a x ( , )
=
p r o j e c t . m
-
Introduccin a la lgica difusa
Operaciones en sets difusos (cont):
Conmutatividad:A B = B AA B = B Adempotencia:A A = AB B = BAsociatividadA (B C) = (A B) C = A B CA (B C) = (A B) C = A B C
-
Introduccin a la lgica difusa
Operaciones en sets difusos (cont):
Distribucin A (B C) = (A B) (A C)A (B C) = (A B) (A C)NuloA = AA = Unin e Interseccin de X (A es un subset de X)A X = XA X = A
-
Introduccin a la lgica 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 razn de el elemento 1/e) B es un set fuzzy subnormal en X
altura(A) = 1, altura(B) = .9supp(A) = {a, b, c, e}, supp(B) = {a, c, e}core(a) = {e}, core(B) = { }
(B es un subset de A ya que A(x) B(x) para x X)AB
-
Introduccin a la lgica 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
-
Introduccin a la lgica 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)
-
Introduccin a la lgica 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
-
Introduccin a la lgica difusa
Interseccin de sets difusos (A B) :
La interseccin de dos sets difusos A y B se en general se especifica por una funcin T:[0,1] :[0,1] [0,1].
Estas operaciones se efectan a travs 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.
-
Introduccin a la lgica difusa Interseccin de set difusos (A B) (cont) :
Interseccin 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)
-
Introduccin a la lgica difusa
Interseccin de sets difusos (A B) (cont) :
Cuatro operadores T-norm:
Tmin(a,b) = min(a, b) = A B (minino)
Tap(a,b) = ab (producto algebraico)
Tbp(a,b) = 0 (a+ b-1) (producto limitado)
Tdp(a,b) = a if b=1, (producto drastico)
= b if a=1, = 0 if a,b < 1
-
Introduccin a la lgica difusa
M i n i m u m :T m ( a , b )
A l g e b r a i cp r o d u c t :
T a ( a , b )
B o u n d e dp r o d u c t :
T b ( a , b )
D r a s t i cp r o d u c t :
T d ( a , b )
t n o r m . m
-
Introduccin a la lgica difusa
Unin 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))
-
Introduccin a la lgica difusa
Unin de sets difusos (A B) (cont) :
Cuatro operadores T-conorm: S(a,b) = max(a, b) = A B (mximo) 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
-
Introduccin a la lgica difusa
M a x i m u m :S m ( a , b )
A l g e b r a i cs u m :
S a ( a , b )
B o u n d e ds u m :
S b ( a , b )
D r a s t i cs u m :
S d ( a , b )
t c o n o r m . m
-
Introduccin a la lgica 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)))
BABA
BABA
=
=
)(
)(
T m ( a , b )T a ( a , b )T b ( a , b )T d ( a , b )
S m ( a , b )S a ( a , b )S b ( a , b )S d ( a , b )
-
Introduccin a la lgica 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
-
Introduccin a la lgica difusa Principio de Extensin
El principio de extensin nos da un mecanismo bsico para extender las expresiones matemticas de sets exactos al dominio difuso.
Este principio generaliza la idea de un mapeo punto a punto de una funcin en sets tradicionales y=f(x) a un mapeo entre conjuntos difusos.
-
Introduccin a la lgica difusa Principio de Extensin (cont)
Si f es una funcin Y = f(X) y A es un set difuso sobre X definido como:
A = {A(x1)/x1, A(x2)/x2, ... , A(xn)/xn}
Entonces el principio de extensin indica que la imagen del set A bajo la funcin f( ) es el set difuso B:
B = f(A) = {B(y1)/y1, B(y2)/y2, ... , B(yn)/yi}
en el cual yi = f(xi) y B(y) = max A(x)
-
Introduccin a la lgica difusa Principio de Extensin (cont)
Ejemplo:
Si A = {0.1/-2, 0.4/-1, 0.8/0, 0.9/1, 0.3/2} y f(x) = x2 - 3
Entonces aplicando el principio de extensin 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}
-
Introduccin a la lgica difusa
Relaciones Difusas
Relaciones difusas binarias son mapas difusos en X Y que mapean cada elemento en X Y a una sola funcin de pertenencia (entre 0 y 1 inclusive).
Las relaciones difusas no solo pueden ser binarias si no que pueden ser generalizadas a n variables
Definicin: El producto Cartesiano de dos sets exactos (X Y) es un set consistente de todos los pares (x, y) donde x X, y Y.
-
Introduccin a la lgica difusa
Relaciones Difusas Binarias (cont)
Definicin: Una relacin difusa sobre un par X, Y se define como el set difuso del producto Cartesiano X Y:
R = { ((x , y), R(x, y)) | (x , y) X Y }
Ejemplo: Relacin 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 relacin difusa sobre el espacio X Y.
-
Introduccin a la lgica difusa
Relaciones Difusas Binarias (cont)
Definicin: Si existen un par de sets difusos A y B su producto cruce (cross product) Cartesiano A B es unarelacin 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)}
-
Introduccin a la lgica difusa
Relaciones Difusas Binarias (cont):Ej: X: variable que indica el tamao de una casa, Y: variable que
indica el precio de una casa
Tamao(x): tamao atractivo para familia de cuatro personas (mts)
Tamao
(x) = Gausiana
(x; 100; 2)
-
Introduccin a la lgica difusa
Relaciones Difusas Binarias (cont):Ej: X: variable que indica el tamao 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; 30; 1)
-
Introduccin a la lgica difusa
Relaciones Difusas Binarias (cont):Ej: D = {(x, y, D(x, y)| x X, y Y} indica casas de tamao
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)
-
Introduccin a la lgica difusa
Relaciones Difusas Binarias (cont)
Es posible expresar la relacin 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]
-
Introduccin a la lgica difusa
Composicin de Relaciones Difusas
Las relaciones difusas se usan en sistemas de inferencia difusa (e.g. if X = A and Y= B then Z=C)
Para combinar las relaciones difusas se usan operaciones de composicin max-min propuesta por Zadeh max-product
-
Introduccin a la lgica difusa
Composicin de Relaciones Difusas (cont)
Definicin: Si R1 y R
2 son dos relaciones difusas definidas en
X Y e Y Z respectivamente. La composicin max-min de R
1 y R
2 es un set difuso definido como:
R1 R2(x, z) = maxy min[R1(x, y), R2(y, z)]
Definicin: Si R1 y R
2 son dos relaciones difusas definidas en
X Y e Y Z respectivamente. La composicin max-product de R
1 y R
2 es un set difuso definido como:
R1 R2(x, z) = maxy [R1(x, y) R2(y, z)]
-
Introduccin a la lgica difusa
Composicin de Relaciones Difusas (cont)
En general se tiene max-* en la cual * es un operador de T-norma:
R1 R2(x, z) = maxy [R1(x, y) * R2(y, z)]
-
Introduccin a la lgica difusa
Reglas IF-THEN difusas:
Una regla IF-THEN difusa es de la forma
IF x is A THEN y is BEn la cual A y B son variables lingsticas definidas por sets difusos en los universos X e Y. La parte IF x is A es llamadael antecedente o premisa, mientras la parte THEN y is B esla consecuencia o conclusinEjemplos: If presin es alta, then volumen es pequeo. If carretera esta mojada, then manejar es peligroso.
-
Introduccin a la lgica difusa Reglas IF-THEN pueden usar variables difusas linguisticas
Ejemplos:
c o m p l v . m
-
Introduccin a la lgica 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 relacin binaria difusa R en el espacio X Y.
R puede ser visto como un set difuso con una funcin de pertenencia:
R(x, y) = f(A(x),B(y))
La funcin de implicacin difusa f convierte los grados de pertenencia individuales a grados de pertenencia de (x, y).
-
Introduccin a la lgica difusa
Reglas IF-THEN difusas (cont):
Basado en la interpretacin de (A B) A coupled with B o A y B ambos estn entonces las cuatro funciones T-norm sepueden usar para resolver la relacin R
Rmin(a,b) = min(a, b) = A B (minimo)
Rap(a,b) = ab (producto algebraico)
Rbp(a,b) = 0 (a+ b-1) (producto limitado)
Rdp(a,b) = a if b=1, (producto drstico)
= b if a=1, = 0 if a,b < 1
-
Introduccin a la lgica difusa
Reglas IF-THEN difusas (cont):
Basado en la interpretacin 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 implicacin Gougen's fuzzy implication (Jang. p62)
-
Introduccin a la lgica difusa
Maneras de Interpretar Reglas IF-THEN difusas:
A c o u p l e d w i t h B
A
B
x
yA c o u p l e d w i t h B
A
B
x
y
A
B
A e n t a i l s By
xA
B
A e n t a i l s By
x
-
Introduccin a la lgica difusa A coupled with B: R A Bx y f x y f a b( , ) ( ( ) , ( ) ) ( , )= =
f u z i m p . m
-
Introduccin a la lgica difusa A entails B (not A or B):
f u z i m p . m
-
Introduccin a la lgica difusa
Contenidos
Conceptos y definiciones bsicos de la lgica difusa Sets difusos y funciones de membresa Operaciones sobre sets difusos Inferencia usando lgica difusa
-
Introduccin a la lgica difusa Razonamiento difuso:
El Modus Ponens en reglas de lgica tradicional indica que podemos inferir la verdad de la proposicin B basados en la verdad de A y en la implicacin A B:
premisa 1 (input): x es Apremisa 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'
-
Introduccin a la lgica difusa
Razonamiento difuso (cont):
Definicin: Razonamiento aproximado, si A, A', y B son sets difusos de X, X e Y respectivamente. Asumiendo que (A B) se expresa como una relacin 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) = maxx min[A'(x), R(x,y)]
-
Introduccin a la lgica difusa Razonamiento difuso (cont):
Si B'(y)=maxxmin[A'(x), R(x,y)], entonces usando lasfunciones de implicacin de Mamdani y la regla de composicinmax-min: B'(y) = maxx min[A'(x), A(x) B(y)] = max
x [
A'(x)
A(x)]
B(y) = w
B(y)
A
X
wA B
Y
x i s A
B
Y
A
X y i s B
T - n o r m
-
Introduccin a la lgica 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
wA B C2
Z
C
ZX Y
A B
x is A y is B z is C
-
Introduccin a la lgica difusa Razonamiento con dos reglas: En general se toma como la
unin de las relaciones difusas correspondiente a las reglas.Premisas: x is A and y is BRegla 1: if x is A1 and y is B1 then z is C1Regla 2: if x is A2 and y is B2 then z is C2Conclusin: z is C
A1 B1
A2 B2
T-norm
X
X
Y
Y
w1
w2
A
A B
B C1
C2
Z
Z
CZ
X Y
A B
x is A y is B z is C
-
Introduccin a la lgica difusa
Inferencia usando lgica difusa:
La computacin usando inferencia basada en lgica difusa es un mtodo de computo popular
Hay muchas aplicaciones en reas como control, clasificacin, sistemas expertos, robtica y reconocimiento de patrones
El sistema de inferencia difuso se conoce por muchos nombres como: sistema difuso de reglas, sistema experto difuso, modelo difuso, lgica asociativa difusa, controlador difuso
-
Introduccin a la lgica difusa
Sistemas de inferencia usando lgica difusa:
El sistema de inferencia difuso consiste de tres componentes conceptuales: reglas difusas, diccionario (con funciones de pertenencia), mecanismo de raciocinio
Input Reglas Output
-
Introduccin a la lgica difusa
Sistemas de inferencia usando lgica 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
-
Introduccin a la lgica difusa
Sistemas de inferencia usando lgica difusa (cont):
Esto se denomina fuzzificacion y defuzzificacion.
input exacto
fuzzificador controlador difuso defuzzificador
output exacto
-
Introduccin a la lgica difusa
Ejemplo: Controlador Mamdani usando lgica difusa Usando la lgica difusa y la teora de razonamiento
aproximada introducida por Zadeh es posible crear un controlador basado en esta logica
La forma tradicional de las leyes de control con autorregulacin (feedback) es:u(k) = f(e(k), e(k-1),...,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 disear C que minimiza el error (e=w-y) en el
tiempow e
C Su y
-
Introduccin a la lgica difusa
Controlador de lgica difusa (cont): El controlador de lgica difuso (Fuzzy Logic Controler)
utiliza leyes de control consistentes en reglas lgicas 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 lgica difusa.
Las reglas lgicas IF-THEN son usadas para formular las expresiones condicionales que usan la lgica difusa
-
Introduccin a la lgica 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 funcin 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)
-
Introduccin a la lgica difusa
Mamdani FLC (Fuzzy Logic Controler) (cont) :0. If e = positivo and e = aprox zero then u = positivo1. If e = negativo and e = aprox zero then u = negative2. If e = aprox zero and e = aprox zero then u = aprox zero3. If e = aprox zero and e = positivo then u = positivo4. If e = aprox zero and e = negativo then u = negativo
1
-.5 0 .5 1-1
negativo zero positivo
Funcines de pertenencia (e), (e), (u):
-
Introduccin a la lgica difusa
Mamdani FLC (Fuzzy Logic Controler) (cont) : Otra manera de definir las reglas del controlador es usando una matriz:
PPZPPZNZZNNNPZN
e(k)
e(k)
Valores de la funcin de pertenencia de input e(k)
Valores de la funcin de pertenencia de input e(k)
Valores de la funcin de pertenencia de output u(k)
-
Introduccin a la lgica difusa
Mamdani FLC (Fuzzy Logic Controler) (cont) :
Algoritmo del Mamdani FLC:1. Usando el valor del antecedente de cada una de las reglas (IF...)2. Determinar la consecuencia (THEN ...) de cada una de las reglas3. Agregar todos los outputs de las reglas para obtener el output de
todo el sistema (este es una o mas funcines de pertenencia difusa), tambin se llama determinar el grado de disparo de todas las reglas (degree of firing)
4. Defuzificar el output para obtener un valor exacto, se pueden usar varios mtodos como el COA (centroide) o el MOM
-
Introduccin a la lgica difusa
Mamdani FLC (Fuzzy Logic Controler) (cont) :Defuzificacion usando el centroide:
En forma discreta:
=
dxxf
xdxxfCentroide
)(
)(
=
== n
ii
n
iii
xf
xxfCentroide
0
0
)(
)(
-
Introduccin a la lgica 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
dxdxxdx
xdxxdxxxdxCg
8.8.8.)10/6()10/5(5.5.5.5.5.8.98.88.7)10/6(6)10/5(55.45.35.25.15.0
++++++++++++++++++=Cg
-
Introduccin a la lgica 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...
-
Introduccin a la lgica 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: (+ cooling, - heating) Out: Heat, NO CHANGE or COOL
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 cambioo No Change) "C" = "Cool" output response (output es enfriar o Cool
-
Introduccin a la lgica difusa
Ejemplo (cont): e(k)= -1.0F (Hot), e(k) = +2.5 F (Cooling)
Funcin de pertenencia del input e (error):e(k)= -1.0 F (HOT) eneg(-1) = 0.5, ezero(-1) = 0.5 y epositive(-1) = 0
Funcin de pertenencia de input e:e(k) = +2.5 F (COOLING) enegative(2.5) = 0, ezero(2.5) = 0.5 y epos(2.5) = 0.5
-
Introduccin a la lgica difusa Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont):
Pasos 1 y 2: Encontrar nivel de disparo y output en todas las reglas e y ePaso 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 lgico (AND) para obtener las reglas que se activan (interseccin 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)=Cool (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)=Heat (0.5 & 0.5 = 0.5)9. If (e > 0) AND (e > 0) then u(k)=Heat (0.0 & 0.5 = 0.0)
-
Introduccin a la lgica difusa
Ejemplo Mamdani FLC (Fuzzy Logic Controler) (cont):
Paso 4: Defuzificar usando algoritmo de Centroide para obtener un valor exacto que es el prximo outputpara calentar o enfriar el ambiente controlado...
Calcular fuerza (strength) de las reglas usando Root Sum Squared (RSS):"Heat" = (R
32 + R
62 + R
82 + R
92)1/2
= (02 + 02 + 0.52 + 02)1/2 = 0.5 (Heat)"No-Chg" = (R
52)1/2 = (0.52)1/2 = 0.5 (No Change)
"Cool" = (R1
2 + R2
2 + R4
2 + R7
2)1/2 = (02 + 02 + 0.52 + 0.52)1/2 = 0.707 (Cool)Usando RSS-Centroide:OUTPUT = (heat_center * heat_strength + zero_center * zero_strength + cool_center
* cool_strength) / (heat_strength + zero_strength + cool_strength)
(-100 * 0.5 + 0 * 0.5 + 100 * 0.707)/ (0.5 + 0.5 + 0.707) = 11.7%
=
== n
ii
n
iii
xf
xxfCentroide
0
0
)(
)(
-
Introduccin a la lgica difusa
Ejemplo (cont):
La coordenada horizontal se toma como el valor exacto. En este ejemplo el valorde 11.7% (Enfriando) parece lgico ya que el e = -1 F de input indica que todavia esta HOT a pesar de que ya se estaba enfriando (e(k) = +2.5 F, COOLING).
1
50 0 50 100-100
Heat No-Chg Cool
11.7
-
Introduccin a la lgica difusa
Sistemas de inferencia usando lgica difusa (cont):
El ejemplo anterior es basado en un modelo de inferencia difuso llamado el modelo Mamdani
Otro modelo utilizado es el modelo Sugeno (tambin conocido como modelo Takagi, Sugeno, Kang o TSK)
Un tercer modelo es el modelo Tsukamoto Cada modelo tiene caractersticas especificas que lo
hacen mas ameno a ser usado en una implementacin dependiendo del problema a resolver
-
Introduccin a la lgica difusa
Sistemas de inferencia usando lgica difusa (cont):
La principal diferencia entre los modelos es en las consecuencias de las reglas y en los mtodos de agregacin y defuzificacion
input exacto
fuzzificadorcontrolador difuso:reglas if thenagregacin
defuzzificadoroutput exacto
-
Introduccin a la lgica difusa
El modelo Mamdani:
Fue uno de los primeros mtodos 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)
-
Introduccin a la lgica 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 Implicacin: (usualmente T-norm) para calcular consecuentes Agregacin: (usualmente T-conorm) para agregar consecuentes y
generar una funcin de pertenencia del output Defuzificacion: para transformar la funcin de pertenencia (output
difuso) a un output exacto
-
Introduccin a la lgica difusa
Union e Interseccin de lgica difusa (A B, A B) (cont) :
Cuatro posibles operadores T-norm:
Tmin(a,b) = min(a, b) = A B (minimo)
Tap(a,b) = ab (producto algebraico)
Tbp(a,b) = 0 (a+ b-1) (producto limitado)
Tdp(a,b) = a if b=1, (producto drastico)
= b if a=1, = 0 if a,b < 1
-
Introduccin a la lgica difusa
Union e Interseccin de lgica 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
-
Introduccin a la lgica 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
-
Introduccin a la lgica 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
-
Introduccin a la lgica difusa
Mtodos de defuzzificacion usados en Mamdani:
Centroid (Centroid o COA) Bisector de un Area (BOA) Mas pequeo, medio, mximo de un mximo (SOM,
MOM, LOM)
-
Introduccin a la lgica difusa
Modelo Mamdani de tres reglas con un input y un output: Usando composicin 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
-
Introduccin a la lgica difusa
Mamdani de cuatro reglas con dos input y un output: Usando composicin 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
-
Introduccin a la lgica difusa
El modelo Sugeno:
Otro modelo desarrollado para la inferencia difusa, utiliza una funcin como consecuente: If x is A and y is B then z = f(x, y)
Z = f(x, y) es una funcin 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
-
Introduccin a la lgica 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' = w1z1 + w2z2)
-
Introduccin a la lgica difusa
El modelo Sugeno (cont):
El output continuo del modelo Sugeno de orden zero depende de que las funciones de pertenencia de los antecedentes estn suficientemente traslapados
-
Introduccin a la lgica 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
-
Introduccin a la lgica 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
-
Introduccin a la lgica difusa Modelo Tsukamoto:
En este modelo la funcin consecuente es un set difuso con una funcin 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
-
Introduccin a la lgica 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
-
Introduccin a la lgica 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
-
Introduccin a la lgica difusa Modelamiento difuso:
La idea del modelamiento difuso es dividir (particin) 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
-
Introduccin a la lgica difusa Modelamiento difuso: Mtodos de particin del input:
a) Grid partition: dividir el espacio del input en celdas de igual tamao e igual distribucin Sufre de un problema de dimensionalidad Ej: Modelo con 3 inputs y 2 funciones (large, small) de
pertenencia por input: A, B, C 23 = 8 reglas, Modelo con 4 inputs y 3 funciones de pertenencia (large,
medium, small) por input: A, B, C, D 34 = 81 reglas, ...
-
Introduccin a la lgica difusa Modelamiento difuso: Mtodos de particin del input (cont)
b) Tree partition: dividir el espacio de bsqueda en celdas de diferente tamao y basado en la lgica de un rbol No tiene el problema exponencial de grid partition Muchas veces el significado de las variables no es tan genrico
lingsticamente como en Grid (no es tan ortogonal) Usado en el algoritmo CART (Jang. Ch14)
-
Introduccin a la lgica difusa Modelamiento difuso: Mtodos de particin del input (cont)
c) Scatter partition: no cubrir el espacio de bsqueda completo si no que solo un subconjunto de este La particin es decidida por especficos pares de datos de
input-output El significado de las variables no es genrico linguisticamente No es ortogonal y hay traslapado posible
-
Introduccin a la lgica difusa Modelamiento difuso: reglas generales
Tpicamente 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 qumica 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 lgica 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 mtodos para identificar el sistema y modelarlo (datos numricos conocimiento del dominio del problema)
-
Introduccin a la lgica 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 trminos lingsticos (basados en
variables) Disear una coleccin de reglas if-then difusasDespus de estos pasos iniciales tpicamente se desea mejorar el
modelo: Elegir funciones de pertenencia correctamente parametrizadas Mejorar las reglas y los parmetros de la funciones de
pertenencia Refinar los parmetros de las funciones de pertenencia usando
mtodos de optimizacin (Ej. Gradiente, GA, GP,...)
-
Introduccin a la lgica 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
Introduccin a la Lgica Difusa (Fuzzy Logic)Introduccin a la lgica difusaSlide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Slide 50Slide 51Slide 52Slide 53Slide 54Slide 55Slide 56Slide 57Slide 58Slide 59Slide 60Slide 61Slide 62Slide 63Slide 64Slide 65Slide 66Slide 67Slide 68Slide 69Slide 70Slide 71Slide 72Slide 73Slide 74Slide 75Slide 76Slide 77Slide 78Slide 79Slide 80Slide 81Slide 82Slide 83Slide 84Slide 85Slide 86Slide 87Slide 88Slide 89Slide 90Slide 91Slide 92Slide 93Slide 94Slide 95Slide 96Slide 97Slide 98Slide 99Slide 100Slide 101Slide 102Slide 103Slide 104Slide 105Slide 106Slide 107Slide 108Slide 109Slide 110Slide 111Slide 112Slide 113Slide 114Slide 115Slide 116Slide 117Slide 118Slide 119Slide 120Slide 121Slide 122Slide 123Slide 124Slide 125Slide 126Slide 127