0% encontró este documento útil (0 votos)
115 vistas16 páginas

Mesonero

Este documento describe el proceso de inferencia difusa Mamdani y TSK para determinar la propina sugerida para un mesonero. Se definen funciones de membresía para el servicio, la comida y la propina. Dados valores de entrada para el servicio y la comida, se aplican las reglas y se calculan los grados de pertenencia. Para Mamdani, la figura resultante se divide en triángulos y rectángulos para calcular el centroide geométricamente y obtener el valor de la propina sugerida.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
115 vistas16 páginas

Mesonero

Este documento describe el proceso de inferencia difusa Mamdani y TSK para determinar la propina sugerida para un mesonero. Se definen funciones de membresía para el servicio, la comida y la propina. Dados valores de entrada para el servicio y la comida, se aplican las reglas y se calculan los grados de pertenencia. Para Mamdani, la figura resultante se divide en triángulos y rectángulos para calcular el centroide geométricamente y obtener el valor de la propina sugerida.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tecnológico Nacional de México

Instituto Tecnológico
de La Laguna
Departamento de Ingeniería Eléctrica, Electrónica y
Energías Renovables

Tópicos Avanzados de Mecatrónica y Control


Dr. Ramón García Hernández

Tarea 4:
“Propina del Mesonero: Inferencia Mamdani y
TSK”

Juan Francisco Valencia Villanueva 16131099

Torreón, Coahuila a 19 de junio del 2020


Tópicos Avanzados de Mecatrónica y Control

Tabla de contenido
Antecedentes .......................................................................................................................... 3
Resultados de Matlab: Mamdani ............................................................................................. 3
Resultados de Matlab: TSK ...................................................................................................... 4
Desarrollo matemático: Mamdani ........................................................................................... 5
Triangulo .......................................................................................................................... 11
Rectángulo........................................................................................................................ 12
Desarrollo matemático: TSK .................................................................................................. 14

Tabla de figuras
Figura 1: Mamdani: Resultados del Fuzzy Logic Designer. ..................................................... 3
Figura 2: Mamdani: Resultados del Toolbox de Simulink. ..................................................... 3
Figura 3: TSK: Resultados del Fuzzy Logic Designer. .............................................................. 4
Figura 4: TSK: Resultados del Toolbox de Simulink. ............................................................... 4
Figura 5: Función de membresía de entrada: Servicio. .......................................................... 5
Figura 6: Función de membresía de entrada: Comida. .......................................................... 6
Figura 7: Función de membresía de salida: Propina (Mamdani). .......................................... 7
Figura 8: Entrada=3 en la función de Servicio. ....................................................................... 8
Figura 9: Entrada=8 en la función de Comida. ....................................................................... 9
Figura 10: Grados de pertenencia de cada conjunto de la función de salida Propina. ........ 10
Figura 11: Unión de los conjuntos de la función de membresía de salida Propina. ............ 10
Figura 12: División en polígonos regulares. .......................................................................... 11
Figura 13: Función de membresía de salida: Propina (TSK). ................................................ 14
Figura 15: Función de membresía de salida aplicados los grados de pertenencia. ............. 15

Tablas
Tabla 1: Validación de reglas. ................................................................................................. 9
Tabla 2: Coordenadas de las sub figuras. ............................................................................. 13
Tabla 3: Áreas y centroides de las sub figuras...................................................................... 13
Tabla 4: Grados de pertenencia para la inferencia TSK. ...................................................... 14
Tabla 5: Grados de pertenencia y singletons. ...................................................................... 16

2
Tópicos Avanzados de Mecatrónica y Control

Antecedentes
Anteriormente se obtuvo en clase el valor de la propina para el mesonero a través del Fuzzy
Logic Designer de Matlab y del Toolbox de lógica difusa de Simulink, tanto para la inferencia
Mamdani y TSK, por lo que los valores obtenidos nos servirán de referencia para comprobar
los valores obtenidos de forma “manual”.

Resultados de Matlab: Mamdani

Figura 1: Mamdani: Resultados del Fuzzy Logic Designer.

Figura 2: Mamdani: Resultados del Toolbox de Simulink.

3
Tópicos Avanzados de Mecatrónica y Control

Resultados de Matlab: TSK

Figura 3: TSK: Resultados del Fuzzy Logic Designer.

Figura 4: TSK: Resultados del Toolbox de Simulink.

4
Tópicos Avanzados de Mecatrónica y Control

Desarrollo matemático: Mamdani


Para poder obtener los grados de pertenencia de acuerdo a cada entrada, se graficaron las
tres funciones de membresía para poder obtener el valor de 𝜇(𝑥) para cada valor de
entrada 𝑥. También se graficó la función de membresía de salida para poder obtener los
vértices de la figura geométrica resultante para cada grado de pertenencia en cada conjunto
difuso. Las funciones de entrada son Servicio, Comida y la función de salida es Propina.
Dichas funciones de membresía se muestran a continuación:

Figura 5: Función de membresía de entrada: Servicio.

5
Tópicos Avanzados de Mecatrónica y Control

Figura 6: Función de membresía de entrada: Comida.

6
Tópicos Avanzados de Mecatrónica y Control

Figura 7: Función de membresía de salida: Propina (Mamdani).

Teniendo entonces las funciones de membresía, procedemos a obtener los grados de


pertenencia acorde a las entradas. Para el servicio, se tiene una entada de 3 y para la comida
una entrada de 8. Con esto, aplicamos las tres reglas para obtener los grados de
pertenencia:
Las tres reglas son:

 𝑅1 : Si servicio es pobre ⋁ comida es rancia → propina es tacaña.


 𝑅2 : Si servicio es bueno → propina es promedio.
 𝑅3 : Si servicio es excelente ⋁ comida es deliciosa → propina es generosa.
Dadas las entradas 3 y 8 para el Servicio y la Comida, respectivamente, observamos a
continuación los conjuntos que son intersectados por las entradas:

7
Tópicos Avanzados de Mecatrónica y Control

Figura 8: Entrada=3 en la función de Servicio.

8
Tópicos Avanzados de Mecatrónica y Control

Figura 9: Entrada=8 en la función de Comida.

De las gráficas anteriores y aplicando las reglas, se tiene:

Regla 𝝁𝟏 (𝒙) 𝝁𝟏 (𝒙) OR (máximo) Resultado


1 0.1352 0 0.1352 0.1352
2 0.411 - - 0.411
3 0 0.5 0.5 0.5
Tabla 1: Validación de reglas.

Cada regla afecta a un conjunto de la función de membresía de salida Propina, por lo que
estos grados de pertenencia obtenidos “cortan” a dicho conjunto, ilustrándolo en la
siguiente figura.

9
Tópicos Avanzados de Mecatrónica y Control

Figura 10: Grados de pertenencia de cada conjunto de la función de salida Propina.

Extrayendo solamente la parte de la figura geométrica resultante (desde 0 al grado de


pertenencia 𝜇(𝑥) correspondiente), obtenemos lo siguiente:

Figura 11: Unión de los conjuntos de la función de membresía de salida Propina.

Como se comprobó de igual manera en clase, al usar la fórmula de defuzzificación del


método del centroide para la inferencia Mamdani, se obtuvo un valor distante al valor real
obtenido en Matlab. Por ello, se decidió obtener el centroide de la figura de forma
geométrica.
Para obtener el centroide de esta manera, es necesario dividir la figura entre triángulos y
rectángulos. Esto con el fin de aplicar la fórmula del centroide de un polígono regular, la
cual es:
10
Tópicos Avanzados de Mecatrónica y Control

∑ 𝐴𝑖 𝐶𝑖𝑥
𝐶𝑥 =
∑ 𝐴𝑖
Donde

 𝐶𝑥 es la coordenada en el eje 𝑥 del centro de gravedad o centroide.


 𝐴𝑖 es el área individual de cada sub figura de la figura original.
 𝐶𝑖𝑥 es la coordenada en el eje 𝑥 del centro de gravedad o centroide de cada sub
figura.
El centroide o centro de gravedad es un punto en el plano que se identifica a través de un
par de coordenadas (eje 𝑥 y eje 𝑦). Sin embargo, en esta ocasión sólo necesitamos la
coordenada en 𝑥, por lo que el procedimiento para obtener la coordenada en el eje 𝑦 queda
descartada del procedimiento.
Se toma solamente la coordenada en 𝑥, pues como podemos notar, el motivo de la
defuzzificación es para obtener “la propina” (eje 𝑥 en la función de membresía de salida)
que se le dará al mesonero.
En este caso, se seccionó la figura original en las siguientes sub figuras:

Figura 12: División en polígonos regulares.

Como se puede observar, la figura original se secciona en triángulos y rectángulos. Para ello,
es importante conocer el procedimiento a través de geometría analítica para conocer su
área y la coordenada en 𝑥 del centroide.

Triangulo
Sean 𝑃 = (𝑝1 , 𝑝2 ), 𝑄 = (𝑞1 , 𝑞2 ), 𝑅 = (𝑟1 , 𝑟2 ) las coordenadas de los vértices de un
triángulo.
Para obtener el área de un triángulo conociendo las coordenadas de sus vértices existe
varios métodos, pero el que se usará es el método del determinante, el cual se obtiene de
la siguiente forma.

11
Tópicos Avanzados de Mecatrónica y Control

1 𝑝1 𝑝2 1
𝐴 = |𝑞1 𝑞2 1|
2 𝑟 𝑟2 1
1

Para obtener el centroide de cualquier triangulo, conociendo las coordenadas de sus


vértices, aplicamos las siguientes formulas:
𝑝1 + 𝑞1 + 𝑟1 𝑝2 + 𝑞2 + 𝑟2
𝐶𝑥 = 𝐶𝑦 =
3 3
Pero como se mencionó anteriormente, sólo tomaremos la coordenada en 𝑥 del centroide.

Rectángulo
Sean 𝑃 = (𝑝1 , 𝑝2 ), 𝑄 = (𝑞1 , 𝑞2 ), 𝑅 = (𝑟1 , 𝑟2 ), 𝑆 = (𝑠1 , 𝑠2 ) las coordenadas de los vértices
de un rectángulo.
Para obtener su área, tomamos tres de las coordenadas. Una de esas coordenadas formará
una arista con cada una de las otras dos coordenadas.
Siendo las coordenadas elegidas 𝑃, 𝑄, 𝑅, de tal forma que 𝑄 sea la coordenada que forma
el ángulo recto entre ellas, para obtener el área del rectángulo:
⃗⃗⃗⃗⃗
𝑄𝑃
𝐴=| |
⃗⃗⃗⃗⃗
𝑄𝑅
Donde:

 ⃗⃗⃗⃗⃗
𝑄𝑃 = 𝑃 − 𝑄 = (𝑝1 − 𝑞1 , 𝑝2 − 𝑞2 )
 ⃗⃗⃗⃗⃗ = 𝑅 − 𝑄 = (𝑟1 − 𝑞1 , 𝑟2 − 𝑞2 )
𝑄𝑅
Para obtener el centroide, tomamos un par de coordenadas, de tal forma que las
coordenadas elegidas no formen una arista o lado del rectángulo, es decir, que sean las
coordenadas de una de las diagonales del rectángulo. Sean 𝑃 y 𝑅 las coordenadas de una
de las diagonales, las coordenadas centroide del rectángulo son:
𝑝1 + 𝑟1 𝑝2 + 𝑟2
𝐶𝑥 = 𝐶𝑦 =
2 2
Pero como se mencionó anteriormente, sólo tomaremos la coordenada en 𝑥 del centroide.
Entonces, procedemos a obtener las coordenadas de cada una de las sub figuras. Las
coordenadas se obtuvieron a través del Data cursor de Matlab, puesto que las mayoría de
las componentes en el eje 𝑦 de las coordenadas de las figuras son conocidas, exceptuando
una, cuyos valores se obtuvieron colocando el Data cursor en la intersección de dos
conjuntos difusos de la función de membresía.

12
Tópicos Avanzados de Mecatrónica y Control

Coordenadas
Figura Coordenada 1 Coordenada 2 Coordenada 3 Coordenada 4
A1 0, 0 0.6767, 0 0.6767, 0.1352 -
A2 0.6767, 0 0.6767, 0.1352 5, 0 5, 0.1352
A3 0, 0.1352 5, 0.1352 6.352, 0.1352 -
A4 5, 0 9.111, 0 9.111, 0.411 -
A5 9.111, 0 9.111, 0.411 20, 0 20, 0.411
A6 20, 0 20, 0.411 20.89, 0.411 -
A7 20, 0 20.89, 0.411 21.66, 0.333 -
A8 20, 0 22.5, 0 22.5, 0.5 -
A9 22.5, 0 22.5, 0.5 27.5, 0 27.5, 0.5
A10 27.5, 0 27.5, 0.5 30, 0 -
Tabla 2: Coordenadas de las sub figuras.

Con las coordenadas, procedemos entonces a realizar los cálculos necesarios para obtener
tanto el área como la componente en 𝑥 del centroide de cada figura. En la siguiente tabla
se muestran dichos valores, así como el producto de 𝐴𝑖 𝐶𝑖𝑥 , su respectiva sumatoria y la
sumatoria de las áreas.

Figura 𝐴𝑖 (u2) 𝐶𝑖𝑥 (u) 𝐴𝑖 𝐶𝑖𝑥 (u3)


A1 0.0457 0.4511 0.02063
A2 0.5845 2.8383 1.65898
A3 0.0914 5.4506 0.49818
A4 0.8448 7.7406 6.53925
A5 4.4753 14.55 65.1156
A6 0.183 20.296 3.71416
A7 0.193 20.85 4.02408
A8 0.625 21.666 22.291
A9 2.5 25 62.5
A10 0.625 28.33 17.7062
∑ 𝑨𝒊 = 10.16775 ∑ 𝑨𝒊 𝑪𝒊𝒙 = 175.3184009
Tabla 3: Áreas y centroides de las sub figuras.

Aplicando la fórmula antes mencionada para obtener la componente en 𝑥 de la coordenada


del centroide:
∑ 𝐴𝑖 𝐶𝑖𝑥 175.3184009
𝐶𝑥 = = = 17.2426
∑ 𝐴𝑖 10.16775
Este valor queda validado comparándolo con los valores obtenidos en el Fuzzy Logic
Designer y en el Toolbox de Simulink.

13
Tópicos Avanzados de Mecatrónica y Control

Desarrollo matemático: TSK


Para la inferencia TSK, las funciones de membresía de entrada son iguales, por lo que los
grados de pertenencia son los mismos de las reglas aplicadas para la inferencia Mamdani.
Sin embargo, la función de membresía de salida es diferente, puesto que en la inferencia
TSK no utiliza funciones difusas a la salida, sino el grado de pertenencia dentro del punto
“máximo” de cada conjunto difuso. La función de membresía de salida se muestra a
continuación.

Figura 13: Función de membresía de salida: Propina (TSK).

Teniendo los grados de pertenencia que afectan a la función de salida, obtendremos la


función de salida “cortada” en 𝜇(𝑥) correspondiente a cada conjunto difuso. Los grados de
pertenencia para cada conjunto de la función de membresía son:

Propina
Tacaña Promedio Generosa
𝝁(𝒙) 0.1352 0.411 0.5
Tabla 4: Grados de pertenencia para la inferencia TSK.

14
Tópicos Avanzados de Mecatrónica y Control

Tomando los grados de pertenencia correspondientes, obtenemos el “corte” de cada


conjunto difuso de salida:

Figura 14: Función de membresía de salida aplicados los grados de pertenencia.

Para esta inferencia ya tenemos 𝜇(𝑥) y 𝑥, puesto que 𝑥 son los puntos máximos de la
función de salida.
Para defuzzificar en la inferencia TSK, se utiliza la siguiente fórmula:
∑[𝜇(𝑘𝑖 ) ∗ 𝑘𝑖 ]
𝑊𝐴 =
∑ 𝜇(𝑘𝑖 )
Donde

 𝑊𝐴 es la media de pesos.
 𝜇(𝑘𝑖 ) es el grado de pertenencia para el singleton.
 𝑘𝑖 es el valor de singleton (valor máximo de cada conjunto difuso).
Al igual que para el método de inferencia Mamdani, resumiremos los datos obtenidos y los
datos necesarios para obtener la media de pesos 𝑊𝐴 .

15
Tópicos Avanzados de Mecatrónica y Control

Singleton 𝝁(𝒌𝒊 ) 𝒌𝒊 𝝁(𝒌𝒊 ) ∗ 𝒌𝒊


Tacaña 0.1352 5 0.676
Promedio 0.411 15 6.165
Generosa 0.5 25 12.5
∑[𝝁(𝒌𝒊 ) ∗ 𝒌𝒊 ]= 1.0462 ∑ 𝝁(𝒌𝒊 )= 19.341
Tabla 5: Grados de pertenencia y singletons.

Aplicando la fórmula antes mencionada:


∑[𝜇(𝑘𝑖 ) ∗ 𝑘𝑖 ] 19.341
𝑊𝐴 = = = 18.487
∑ 𝜇(𝑘𝑖 ) 1.0462
Comprobamos que el valor es correcto al compararlo con los valores mencionados
enteriormente del Fuzzy Logic Designer y del Toolbox de Simulink.

16

También podría gustarte