L´ogica Difusa Rodrigo Salas Universidad de Valpara´ıso Valpara´ıso-Chile rodigo.salas@uv.cl
1. Introducci´on
joven = {x ∈ P|edad(x) ≤ 20}
El presente art´ıculo est´a basado en el art´ıculo de Michael Berthold en el cap´ıtulo 9 de L´ogica Difusa del libro Intelligent Data Analysis [?]. En una gran cantidad de t´ecnicas o enfoques para el an´alisis de los datos asumen que se tienen datos precisos, es decir, se asume que se tienen mediciones exactas. Pero en la mayor´ıa de las aplicaciones reales, nunca se tiene una precisi´on en las medidas, siempre existir´a un grado de incertidumbre. En el contexto de la incertidumbre nosotros estamos interesados en el rango en que caen nuestras mediciones. En e´ ste art´ıculo se presentar´a un enfoque que se preocupa de conceptos imprecisos basados en la L´ogica Difusa. Esta tipo de l´ogica nos premite enfrentar la incertidumbre en una forma natural e intuitiva. Adem´as de hacer posible la formalizaci´on de n´umeros imprecisos, tambi´en nos permite realizar aritm´etica utilizando tales n´umeros difusos. La teor´ıa cl´asica de conjuntos puede ser extendida para manejar membres´ıa parcial haciendo posible expresar los vagos conceptos humanos usando conjuntos difusos y adem´as describiendo el sistema de inferencia correspondiente basado en reglas difusas.
sobre alg´un dominio P de todas las persosnas y usando la funci´on edad que retorna la edad en a˜nos de alguna persona x ∈ P. Adem´as podemos definir la funci´on caracter´ıstica: ½ 1 edad(x) ≤ 20 m joven (x) = 0 edad(x) > 20 el cual asigna a los elementos de P el valor de 1 cuando un elemento pertenece al conjunto de las personas j´ovenes, y 0 sino. Esta funci´on caracter´ıstica puede ser vista como una funci´on de membres´ıa para el conjunto joven, definiendo el conjunto joven en P. Sin embargo, una persona que tenga un poco m´as de 20 a˜nos reclamar´a que se considera una persona j´oven con un alto grado de pertenencia, por lo tanto la definici´on del conjunto joven usando una frontera tan marcada no es la manera m´as apropiada. La idea fundamental que existe detr´as de la teor´ıa de conjuntos difusos es una visi´on diferente de la noci´on de membres´ıa y consiste en que los elementos pueden pertenecer a m´as de un conjunto con cierto grado de pertenencia. En nuestro ejemplo, podemos decir que una persona de 21 a˜nos pertenece al conjunto de joven pero con un grado de 0,9. Por lo tanto la funci´on de membres´ıa podr´ıa ser:
2. Conceptos B´asicos de L´ogica Difusa y Conjuntos Difusos
edad(x) ≤ 20 1 µ joven (x) = 1 − edad(x)−20 20 < edad(x) ≤ 30 10 Consideremos por ejemplo el conjunto de las personas 0 edad(x) > 20 j´ovenes, asumiendo que nuestra percepci´on de una perAhora el conjunto joven contiene a personas entre 20 sona j´oven es alguien que tiene una edad no mayor a 20 a˜nos, entonce seg´un la teor´ıa cl´asica el conjunto se define y 30 a˜nos con un grado de membres´ıa que decrece linealmente (ver figura 1). Un conjunto difuso A es definido a de la siguiente manera: 1
de funciones de membres´ıa.
Figura 1: Variables linguisticas de la edad con tres conjuntos difusos, y el grado de pertenencia para una cierta edad p. trav´es de la especificaci´on de la funci´on de membres´ıa de A : µA (x) ∈ [0, 1]. Estas ideas fueron introducidas por Lofti A. Zadeh en 1965 [?]
2.1.
Figura 2: Las formas m´as utilizadas de funciones de membres´ıa trapezoidal, triangular, Gaussiana y singleton
¨ ısticas y Conjuntos DiVariables Lingu´ fusos
Un experto preferir´a definir su noci´on de conjunto difuso especificando el a´ rea donde el grado de pertenencia deber´ıa ser 1 y donde es 0. El cambio de una funci´on de membres´ıa a otra afectar´a al sistema s´olo dentro de los bordes de granulaci´on. Los siguientes par´ametros pueden ser definidos y son amenudo utilizados para caracterizar cualquier funci´on de membres´ıa difuso:
El cubrimiento del dominio de una variable con varios conjuntos difusos y con la correspondiente interpretaci´on sem´antica resulta en una variable ling¨u´ıstica, permitiendo el c´alculo con palabras. En nuestro ejemplo esto podr´ıa significar que se definen dos funciones de membres´ıa adicionales para las personas adultas y viejas, lo que permite cubrir todo el dominio de la variable edad (ver figura 1). Este tipo de representaci´on es especialmente u´ til y apropisoporte : sA := {x : µA (x) > 0}, es el a´ rea donde la ado para muchas aplicaciones del mundo real donde cierfunci´on de membres´ıa es mayor a 1. tos conceptos son inher´entemente vagos en su naturaleza, nucleo : cA := {x : µA (x) = 1} es el area donde los debido a su medici´on imprecisa o a la subjetividad. elementos tienen un m´aximo grado de pertenencia al La superposici´on de las funciones de membres´ıa refleconjunto difuso. Observar que el n´ucleo puede ser jan la naturaleza imprecisa de los conceptos. Es imporvac´ıo cuando la funci´on de memebres´ıa es menor a 1 tante tener en cuenta que los conceptos dependen de su rea lo largo del todo el dominio. spectivo contexto. Por ejemplo, un viejo estudiante puede ser un joven profesor. α − cut : Aα := {x : µA (x) ≥ α}, es el corte en la funEsta forma de definir conjuntos difusos sobre el doci´on de membres´ıa de A a la altura α. minio de la variable amenudo se conoce como granulaci´on. La granulaci´on resulta en un agrupamiento de altura : hA := m´axx {µA (x)}, es el valor m´aximo de objetos en clusters imprecisos tambi´en conocidos como la funci´on de membres´ıa. gr´anulos difusos, con los objetos formando un gr´anulo comparten similaridades. ´ 2.2. Numeros Difusos En aplicaciones reales la forma de las funciones de membres´ıa est´an usualmente restringidas a ciertas clases La motivaci´on de usar n´umeros difusos radica en aplide funciones que pueden estar especificadas con pocos caciones del mundo real. Mediciones del mundo real son par´ametros. En la figura 2 muestra las formas m´as usadas de naturaleza imprecisa y un n´umero r´ıgido no pueden 2
puede encontrar los puntos y, z ∈ ℜ que tambi´en tienen el grado de pertenencia de 1 usando las funciones de membres´ıa de a y b y, que sumados, satisfacen y + z = x. Como es esperado en el caso r´ıgido, el resultado es un singleton en el punto a + b. Para el caso difuso se utiliza el principio de extensi´on [?]. Para un operador arbitrario ?, se tiene:
describir este efecto de la manera m´as adecuada. Generalmente las mediciones son modeladas a trav´es de un n´umero r´ıgido x para el valor m´as probable con un intervalo que describe la imprecisi´on. En el sentido ling¨u´ıstico esto puede ser expresado como alrededor de x. Al usar conjuntos difusos podemos agragar esta informaci´on directamente. Esto resulta en n´umeros difusos los que son un tipo especial de conjuntos difusos que restringe los posibles tipos de funciones de membres´ıa:
µa?b (x) = m´ax {m´ın{µA (y), µB (z)}|y ? z = x} y,z∈ℜ
La funci´on de memebres´ıa debe estra normalizada y singular (es decir, el n´ucleo es no vac´ıo y u´ nico). Esto resulta en un punto ubicado dentro del n´ucleo modelando el n´umero m´as probable de nuestro n´umero difuso. El punto recibe el nombre de valor modal.
esto significa que para un valor x ∈ ℜ el grado de pertenencia es obtenido el cual es el m´aximo de m´ın{µA (y), µB (z)} sobre todos los posible pares y, z ∈ ℜ tal que se cumple y ? z = x. En otras palabras, la nueva funci´on de membres´ıa asigna el m´aximo grado de pertenencia que puede ser aladem´as µA tiene que ser mon´otonamente creciente canzado al encontrar la mejor combinaci´on de par´ametros por la izquierda y mon´otonamente decreciente por la en el dominio de ℜ de las variables involucradas. En efecderecha del n´ucleo. El ancho del soporte indicar´a el to, tales operadores convierten un conjunto difuso en un grado de imprecisi´on. nuevo conjunto difuso que describe la operaci´on. Como se puede observar en la figura 4 c´omo la forma trianguAdem´as necesitamos realizar c´alculo como sumas, lar se mantiene para la suma y es m´as complicado para el restas, multiplicaci´on con los n´umeros difusos. Primero caso de la multiplicaci´on. consideremos el caso cl´asico de sumar dos n´umeros: c = a + b, operaci´on que se ilustra en la figura 3 usando funciones de membres´ıa para representar ambos n´umeros. Por lo tanto la funci´on de membres´ıa correspondiente a la suma, µc = µa+b , viene dado por: ½ µa+b (x) =
1 0
si ∃y, z ∈ ℜ : y + z = x ∧ µa (y) = 1 ∧ µb (z) = 1 sino
Figura 4: Suma DifusaUn ejemplo para la funci´on de membres´ıa de dos n´umeros difusos y el resultado de sumarlos y multiplicarlos Figura 3: Un ejemplo para la funci´on de membres´ıa de dos n´umeros r´ıgidos y el resultado de sumarlos
Cuando se aplica una funci´on no-lineal a los n´umeros difusos, se pierde la forma triangular, y se puede utilizar el principio de extensi´on para obtener su forma (ver figura 2):
En efecto, se define una funci´on que asigna el grado de membres´ıa de 1 s´olo a aquellos puntos x ∈ ℜ al cual se 3
La figura 5 se muestran las normas. Sin embargo al usar estas definiciones no todas las tautolog´ıas de la l´ogica cl´asica se satisfacen en el caso difuso, por ejemplo, si µA (x) = 0,3:
µ f (A) (y) = m´ax{µA (x)|∀x : f (x) = y}
2.3.
Conjuntos Difusos y L´ogica Difusa
A ∧ ¬A 6= False, puesto que µA∧¬A = m´ın{µA , 1 − µA } = m´ın{0,3, 0,7} = 0,3 6= 0.
Los operadores cl´asicas de la l´ogica booleana como conjunciones, disyunciones y complementos tambi´en puede ser extendidos a conjuntos difusos. Considerar por ejemplo que deseamos encontrar el conjunto de las personas altas y j´ovenes, usando la l´ogica cl´asica construir´ıamos el nuevo conjunto usando la conjunci´on booleana: ½ malto y
joven (x) =
1 0
A ∨ ¬A 6= True, puesto que µA∨¬A = m´ax{µA , 1 − µA } = m´ax{0,3, 0,7} = 0,7 6= 1.
si malto (x) = 1 y m joven (x) = 1 sino
Sin embargo, en la l´ogica difusa esa condici´on tan estricta es no deseada. Asumir por ejemplo que una persona pertenece al conjunto joven con un grado de 0.5 y al conjunto alto con grado 0.8, ¿Cu´al ser´ıa el grado de pertenencia al conjunto de las personas j´ovenes y altas? Para responder a esta pregunta existe un familia entera de operadores que pueden ser definidas para poder derivar la funci´on de membres´ıa. Lofti Zadeh [?] introdujo las siguientes funciones: Figura 5: Dos variantes para interpretar la uni´on e intersecci´on difusa. (Izq) m´ın / m´ax de Zadeh y (Der) producto/suma acotada
Conjunci´on (M´ınimo): µA∧B (x) := m´ın{µA (x), µB (x)} Disyunci´on (M´aximo): µA∨B (x) := m´ax{µA (x), µB (x)}
Ahora, necesitamos definir la implicancia. Basado en la interpretaci´on m´ın / m´ax la siguiente definici´on de la implicaci´on difusa es la m´as utilizada (motivado por A → B = ¬A ∨ (A ∧ B)):
Complemento: µ¬A (x) := 1 − µA (x)
Por lo tanto, en nuestro ejemplo, la persona pertenecer´ıa al grupo de las personas j´ovenes y alµA→B (x) := m´ax{1 − µA (x), m´ın{µA (x), µB (x)}} tas con un grado de 0.5. Muchas otras funciones son posibles para interpretar Otra implicaci´on puede obtenerse a partir de la norma operadores de conjuntos difusos y la mayor´ıa de ellos de Luckasiewicz como: est´an formalizados usando el concepto de T-norma y Tconorma para el caso de la conjunci´on y disyunci´on reµA→B (x) := m´ın{1, 1 − µA (x) + µB (x)} spectivamente (ver el cap´ıtulo de Gottwald en [?] y [?]). Otras operaciones pueden derivarse a partir de esta u´ ltiOtras elecciones son: ma expresi´on: Conjunci´on (Producto): µA∧B (x) := µA (x) · µB (x) Disyunci´on (strong-or) derivado a partir de A ∨ B = Disyunci´on (suma acotada, Lukasiewicz): ¬A → B: µA∨B (x) := m´ın{µA (x) + µB (x), 1} µA∨B (x) := m´ın{1, µA (x) + µB (x)} 4
Conjunci´on (strong-and) derivado a partir de A ∧ B = 2.5. Reglas Difusas ¬(¬A ∨ ¬B): Las reglas difusas pueden usarse para caracterizar deµA∧B (x) := 1 − m´ın{1, 1 − µA (x) + 1 − µB (x)} = pendencias imprecisas entre las diferentes variables. Conm´ax{0, µA (x) + µB (x) − 1} siderar por ejemplo la siguiente variable:
2.4.
Modus Ponens Generalizado
SI edad(x) ≤ 25 ENT ONCES riesgo(x) > 60 %
En la l´ogica cl´asica, conclusiones pueden obtenerse a partir de hechos conocidos e implicaciones basados en es- que describe el factor de riesgo para una compa˜n´ıa asegutos hechos. En la l´ogica difusa, esto se extiende a hechos radora de autos. Obviamente al usar variables ling¨u´ısticas parcialmente verdaderos resultando en una versi´on gener- la regla es m´as legible: alizada del Modus Ponens cl´asico: SI edad(x) ES joven ENT ONCES riesgo(x) ES alto
x ES A0 SI x ES A ENT ONCES y ES B y ES B0
Por lo tanto las reglas difusas son de gran inter´es cuando una dependencia es ya sea imprecisa o un alto nivel de precisi´on es no deseado para poder mantener una alEn t´erminos de la l´ogica difusa esto puede ser expresata interpretabilidad. Un tipo b´asico de regla que es amdo de la siguiente manera: pliamente usado en control y otras aplicaciones tienen la siguiente forma: µA0 (x) A→B µB0 (y) SI x1 ES A1 Y ... Y xn ES An ENT ONCES y ES B Seg´un la definici´on de implicaci´on usada, diferentes interEste tipo de reglas se conocen con el nombre de reglas pretaciones de la inferencia difusa se tienen: de Mandani. En muchas aplicaciones de modelamiento Restricci´on Conjunta: Al usar las normas m´ın / m´ax, la implicaci´on puede verse como formando una restricci´on en la variable conjunta, esto es, (x, y) es A × B, donde × es el producto cartesiano µA×B (x, y) = m´ın{µA (x), µB (y)}. B0 puede obtenerse a trav´es de B0 = A0 ∧ (A × B), o µB0 (v) = sup{m´ın{µA0 (u), µA×B (u, v)}} u
Restricci´on Condicional: Al usar la defici´on de Lukasiewicz una posible dependencia aparece: Poss(x = u|y = v) = m´ın{1, 1 − µA (u) + µB (v)}. Y B0 puede obtenerse a partit:
µB0 (v) = sup{m´ın{µA0 (u), 1 − µA (u) + µB (v)}} u
5