Está en la página 1de 7

Sistemas Difusos: Diseño

Para poder diseñar un sistema difuso, es necesario caracterizar sus principales componentes: conjun-
tos difusos, funciones de membresı́a, variables lingüı́sticas y reglas. Las reglas contienen variables
lingüı́sticas, las cuales toman como posibles valores conjuntos difusos, y estos se representan
mediante funciones de membresı́a.

1. Conjuntos difusos
Si recordamos los conjuntos convencionales, un elemento o pertenece o no pertenece a un con-
junto (situación booleana: blanco o negro, falso o verdadero). Por ejemplo, yo podrı́a decir que el
elemento “Johnny Bravo” (ver Figura 1) pertenece al conjunto de los Guapos (aunque esto no
serı́a muy atinado, pues el cuerpo de Johnny es desproporcionado y su cara es cuadrada, lo cual
a mı́ se me hace feo) o al conjunto de los Feos (lo cual tampoco me convence, pues Johnny es
güerito y musculoso, lo cual para mı́ es atractivo); también podrı́a decir que pertenece a ambos
conjuntos al mismo tiempo, pero esta situación podrı́a parecer un poco confusa. Como podemos
ver, los conjuntos convencionales o nı́tidos tienen sus limitaciones.

Figura 1: Johnny Bravo. Fuente: https://www.imdb.com/title/tt0118360/mediaviewer/rm2838151680

A diferencia de un conjunto nı́tido, un conjunto difuso tiene grados de membresı́a para


sus elementos. En ese sentido, un elemento puede “medio pertenecer” a un conjunto — es decir,
pertenecer en un 80 %, en un 50 %, en un 20 %, etc. Entonces, yo podrı́a decir que Guapos =
{(johnny, 0.8)} y Feos = {(johnny, 0.2)}, donde esto quiere decir que Johnny pertenece en 80 %
al conjunto Guapos y 20 % al conjunto Feos, y problema resuelto. Para facilitar las cosas, vamos

1
a asumir que los grados de membresı́a son valores entre 0 y 1 (inclusive) y que los elementos de
los conjuntos siempre son numéricos (fuera del ejemplo de Johnny, ahora solo trataremos con
números).

Denotaremos el grado de membresı́a de un elemento x en un conjunto D con µD (x).

Como veremos más adelante, µD (x) resulta de una función de membresı́a.

Ejemplos. Supongamos que U = {30, 60, 100} es el universo de discurso y los elementos repre-
sentan velocidades1 en km/hr. Podemos definir los siguientes conjuntos difusos:

Lenta = {(30, 0.8), (60, 0.4), (100, 0.1)}

Rápida = {(30, 0.2), (60, 0.5), (100, 0.9)}

Nota que µLenta (30) = 0.8, µLenta (60) = 0.4 y µLenta (100) = 0.1. Esto significa que una
velocidad de 30 km/hr tiene un grado de membresı́a de 0.8 (80 %, si quisiéramos verlo ası́); por lo
tanto, consideramos que pertenece mucho al conjunto de Lenta, pero una velocidad de 100 km/hr
solo pertenece 0.1, es decir, pertenece poco a este conjunto (o sea, alguien que va a esta velocidad
no encaja mucho en este conjunto). En ese sentido, el grado de membresı́a lo podemos ver como
una intensidad o ¿qué tanto pertenece?. Para el caso del conjunto Lenta, podrı́amos preguntarnos
para cada velocidad: ¿qué tan lenta es una velocidad de 30 km/hr?, ¿qué tan lenta es una velocidad
de 60 km/hr?, ¿qué tan lenta es una velocidad de 100 km/hr? — y eso nos da los diferentes grados
de membresı́a (que podrı́an variar dependiendo de la opinión de distintos expertos).

Los conjuntos difusos nos permiten ver los datos de manera más burda.
Imagina que los números son pequeños granos de sal y un conjunto
difuso es más bien como un bloque de sal con el que podrás trabajar
de manera más sencilla.

1.1. Operaciones con conjuntos difusos


Unión.- Los elementos del conjunto resultante son los que existen en el universo (de hecho, todos
los conjuntos difusos tienen todos los elementos del universo — si acaso uno no está es
porque su grado de membresı́a es 0). En cuanto al grado de membresı́a para cada uno de
estos elementos, existen diferentes maneras para obtenerlos (se les llama Normas S). La que
usaremos consiste en determinar el grado de membresı́a como el máximo entre el conjunto A
y el B.

Intersección.- Los elementos del conjunto resultante son los que existen en el universo. En cuanto
al grado de membresı́a para cada uno de estos elementos, existen diferentes maneras para
obtenerlos (se les llama Normas T). La que usaremos consiste en determinar el grado de
membresı́a como el mı́nimo entre el conjunto A y el B.
1
Nota que de ahora en delante trabajaremos con elementos numéricos para facilitar la comprensión.

2
Complemento.- Los elementos del conjunto resultante son los que existen en el universo. De-
terminamos el grado de membresı́a de cada elemento a través de restarle a 1 el grado de
membresı́a del conjunto al que le estamos obteniendo el complemento.

(Para ver ejemplos detallados, checar las filminas y ejercicios complementarios.)

Las operaciones con conjuntos difusos nos van a permitir obtener


salidas difusas a partir de nuestro sistema (esto se verá en el proceso
de inferencia).

1.2. Funciones de membresı́a


Los grados de membresı́a en un conjunto difuso son obtenidos mediante una función de mem-
bresı́a. También podemos decir que un conjunto difuso es representado por una función de mem-
bresı́a. Hay algunas funciones muy utilizadas para el diseño de sistemas difusos. Estas son:

Función trapezoidal

Función trapezoidal-R (medio trapezoide)

Función trapezoidal-L (medio trapezoide)

Función triangular

En la función trapezoidal, existen cuatro puntos clave (llamados parámetros, pues son va-
riables): a, b, c y d. Si asumimos que x es un elemento del conjunto F , en una función trapezoidal,
cuando x < a o cuando x > d, µF (x) = 0, mientras que µF (x) = 1 si b ≤ x ≤ c (es decir, se obtiene
el grado máximo de membresı́a dentro de este rango). Por otra parte, si a ≤ x ≤ b o c ≤ x ≤ d,
se obtiene un grado de membresı́a entre 0 y 1 (ver Figura 2a). Una función trapezoidal se expresa
como en la Ecuación 1:
x−a


 si a ≤ x ≤ b,
b−a



si b ≤ x ≤ c,

 1
µF (x) = d−x (1)

 si c ≤ x ≤ d,
d−c





0 de otra forma.

Por ejemplo, si tenemos el conjunto Tibio representado por la función trapezoidal(a = 15, b =
20, c = 25, d = 30), sabemos que µTibio (23) = 1, porque 23 está entre 20 y 25 (es decir, entre b y c),
mientras que µTibio (10) = 0 dado que cae en la condición “de otra forma” y µTibio (17) = 17−15
20−15 =
2
5 = 0.4, puesto que 15 ≤ 17 ≤ 20 (primera condición de la función: a ≤ x ≤ b, donde a = 15,
b = 20 y x = 17). Lo que esto significa es que una temperatura de 23◦ se considera totalmente
tibia, mientras que una temperatura de 10◦ no se considera—para nada—tibia y una temperatura
de 17◦ se considera más o menos tibia.

3
(a) Función trapezoidal (b) Función triangular

(c) Función trapezoidal-L (d) Función trapezoidal-R

Figura 2: Funciones de membresı́a comúnmente usadas

Las funciones trapezoidal-R y trapezoidal-L son similares a la función trapezoidal. Sin


embargo, estas funciones se pueden ver como “abiertas”, pues a partir de un punto, el grado de
membresı́a de x es 0, a partir de otro punto es 1, y en un intervalo va a ser entre 0 y 1. La
función trapezoidal-L recibe los parámetros a y b, que respectivamente indican los puntos a partir
de los cuales el grado de membresı́a será 0 y el grado de membresı́a será 1 (ver la Figura 2c).
Análogamente, la función trapezoidal-R recibe los parámetros c y d, que respectivamente indican
los puntos a partir de los cuales el grado de membresı́a será 1 y el grado de membresı́a será 0 (ver
la Figura 2d). Estas funciones se pueden apreciar matemáticamente en las Ecuaciones 2 y 3:

 0 si x < a,
x−a


µF (x) = si a ≤ x ≤ b, (2)
 b−a


1 si x > b.


 0 si x > d,
d−x

µF (x) = si c ≤ x ≤ d, (3)
 d−c


1 si x < c.
La función triangular es prácticamente igual a la función trapezoidal, solo que en vez de que
el máximo grado de membresı́a se dé en un rango (b − c), se da en un solo punto (ver la Figura 2b).

4
De ahı́ que la función solo reciba tres parámetros: a, b y c (los tres vértices del triángulo). En b, el
grado de membresı́a será 1; si x < a o x > c, el grado de membresı́a será 0. Para apreciar mejor
esta función, veamos la Ecuación 4:


 0 si x ≤ a

 x−a
si a < x ≤ b,



µF (x) = b−a (4)
c−x

 si b < x < c,
c−b



si x ≥ c.

 0

Una función de membresı́a determina el grado de membresı́a para un


elemento x de un conjunto difuso. Las funciones de membresı́a sirven
para que no tengas que andar inventando los grados de membresı́a
para todos los elementos de un conjunto difuso (a veces esto es im-
posible, como en contextos continuos, donde los rangos son infinitos).
Existen ya funciones comúnmente utilizadas — patrones, por llamar-
les ası́ — a tu disposición que solo requieren que “insertes” valores
a ciertos parámetros (a y b, por ejemplo, para la trapezoidal-L) para
ajustarlas a un determinado contexto. Algunos ejemplos de estas fun-
ciones son la triangular, trapezoidal, trapezoidal-L y trapezoidal-R
(medios trapezoides).

1.3. Variables lingüı́sticas


Una variable lingüı́stica es como cualquier variable, pues puede tomar valores distintos a lo
largo del tiempo, solo que los valores posibles de este tipo de variable son conjuntos difusos. De
hecho, cada conjunto difuso de una variable es una parte (“partición”) de esta — imagı́nate que
la variable es una pizza y cada conjunto difuso es una rebanada. Ası́, por ejemplo, podemos tener
variables

Temperatura=(Congelada, Frı́a, Tibia, Caliente)

Velocidad=(Rápida, Moderada, Lenta)

De esta manera, podemos ver cómo una variable lingüı́stica engloba conjuntos difusos, a su vez
representados por funciones de membresı́a (Cuadro 1).

Cuadro 1: Ejemplo de variable lingüı́stica con sus respectivos conjuntos difusos, representados tam-
bién con sus funciones de membresı́a. Para cada función, se especifican valores para sus parámetros.
Velocidad

Conjunto difuso Función de membresı́a


Lenta triangular(a=0,b=30,c=60)
Moderada triangular(a=35,b=60,c=80)
Rápida trapezoidal-L(a=45,b=90)

También podemos apreciar gráficamente una variable lingüı́stica (ver Figura 3).

5
Figura 3: Representación gráfica de la variable Velocidad.

1.4. Reglas
Las reglas difusas tienen el formato IF-THEN (SI-ENTONCES) y contienen proposiciones
difusas; estas proposiciones, a su vez contienen variables y conjuntos difusos. Algunas variables
son de entrada y otras de salida. Como habı́amos visto anteriormente, en un sistema experto, las
reglas determinan cómo se maneja o rige el contexto (“el mundo”).

1.4.1. Ejemplos
Veamos algunos ejemplos en un contexto de automatización de la cantidad de propina de acuerdo
al servicio y a la calidad de la comida en un restaurante.

IF Servicio es Malo AND Comida es Rancia THEN Propina es Poca.

IF Servicio es Bueno AND Comida es Deliciosa THEN Propina es Generosa.

IF Servicio es Bueno AND Comida es Buena THEN Propina es Promedio.

1.4.2. ¿Cómo se generan las reglas?


Para tener cubiertos todos los casos posibles, se combinan todos los valores (conjuntos difusos)
de las diferentes variables de entrada; para cada combinación de las variables de entrada, se establece
el conjunto difuso correspondiente de la variable de salida. Si tenemos solamente dos variables de
entrada, esto se puede visualizar mediante una matriz. Veamos ahora todas las reglas del ejemplo
anterior utilizando este tipo de estructura (Cuadro 2).

6
Cuadro 2: Ejemplo matriz de reglas difusas

Comida
Rancia Buena Deliciosa
Servicio

Malo Poca Poca Promedio

Bueno Poca Promedio Generosa

También podría gustarte