Programa Profesional de I ngeniera Mecnica Elctrica - Mecatrnica
Procesos I nteligentes
GUIA DE PRCTICA N 5 TOOLBOX DE LOGICA DIFUSA I. OBJETIVO GENERAL Aprender a utilizar la interfaz grfica de usuario que proporciona el toolbox de lgica difusa de Matlab. Interpretar las reglas de inferencia que intervienen en los sistemas a implementar. Utilizar operaciones con conjuntos difusos.
II. MATERIALES Y EQUIPOS Computador. Sistema Operativo Windows XP MatLab.
III. MARCO TEORICO El toolbox de Lgica Difusa permite definir conjuntos de entrada, reglas y grficas de salida en una forma grfica, para luego proceder a la simulacin del sistema difuso y su depuracin. En esta prctica se har un ejemplo de uso de este aplicativo que ser utilizado en las prximas sesiones
IV. PROCEDIMIENTO 1. Ingrese a la versin profesional de Matlab. 2. Digite >> fuzzy, lo cual har que aparezca la figura 1.
Figura 1. Pantalla inicial de la interfaz grfica de usuario de lgica difusa de Matlab
3. Seleccione el men Edit y busque la opcin Add input.
Universidad Catlica de Santa Maria Programa Profesional de I ngeniera Mecnica Elctrica - Mecatrnica Procesos I nteligentes
Figura 2. Agregar entrada al sistema difuso
Esto genera una nueva pantalla como se muestra en la figura 3. 4. En la pantalla mostrada en le Figura 3, seleccione Input1 y cambie el nombre a Comida. 5. Luego, seleccione Input2 y cambie el nombre Servicio.
Figura 3. Sistema difuso con dos entradas una salida
6. Luego seleccione Output1 y cambie el nombre a propina. 7. De File del men seleccione Save to disk, como muestra la Figura 4.
8. Al seleccionar dicha opcin se solicitar un nombre para el sistema difuso que se est implementado, ver figura 5. Guarde el sistema con el nombre propina., con esto solo se han definido los nombres de las entradas, salida y del sistema. 9. Basndose en la figura 6, despliegue la pantalla para editar parmetros de las entradas y salida. Esta pantalla nos sirve para especificar la forma de las funciones de los conjuntos difusos.
Universidad Catlica de Santa Maria Programa Profesional de I ngeniera Mecnica Elctrica - Mecatrnica Procesos I nteligentes
10. Una vez se encuentre en la pantalla mostrada en la figura 7, seleccione la entrada llamada comida, luego vaya al men ,busque y seleccione la opcin ADD MFS, la cual desplegar una pantalla como lo muestra la figura 8. 11. En la figura 8, se debe escoger la funcin de pertenencia a usar para la fuzzificacion de la entrada o salida seleccionada, en este caso, como estamos en la entrada comida, se pide seleccionar la gaussmf y una cantidad de MFs, en este caso 3 sern suficientes. En la versin de matlab que se tiene en el laboratorio, por definicin aparecen tres funciones de transferencia y solo es necesario seleccionarlas del grfico y cambiar directamente la funcin en el selector con el nombre Type. 12. Se repite el paso 10 y 11 para la entrada servicio. Use una funcin trimf para servicio. 13. Se repite el paso 12 para la salida propina, tambin se selecciona la funcin de pertenencia trimf. Universidad Catlica de Santa Maria Programa Profesional de I ngeniera Mecnica Elctrica - Mecatrnica Procesos I nteligentes
Figura 8. Selecciona de funcin de pertenencia
14. Se repite el paso 10 y 11 para la entrada servicio. 15. Se repite el paso 12 para la salida propina, con la diferencia de que se selecciona la funcin de pertenencia trimf. 16. Una vez seleccionada la funcin de pertenencia, solo queda asignar parmetros y rangos a cada una de las entradas y salidas. 17. Seleccione la entrada Comida, luego seleccione en la grfica que aparece a la derecha de la figura 7 la lnea que se llama mf1 y cambie los valores mostrados en la tabla 1, hgalo de manera similar para mf2 y mf3.
18. Seleccione la entrada Servicio, luego seleccione la grfica que aparece a la derecha de la figura 7 la lnea que se llama mf1 y cambie los valores mostrados en la tabla 2, hgalo de manera similar para mf2 y mf3
Universidad Catlica de Santa Maria Programa Profesional de I ngeniera Mecnica Elctrica - Mecatrnica Procesos I nteligentes
19. Seleccione la salida propina, luego seleccione la grfica que aparece a la derecha de la figura 7 la lnea que se llama mf1 y cambie los valores mostrados en la tabla 3, hgalo de manera similar para mf2 y mf3.
20. Busque en el men Edit o View la opcin Edit rule o rule, la cual muestra una pantalla en la cual se pueden editar las reglas de inferencia que controlarn el sistema, ver figura 9.
21. Una vez en la pantalla de la figura 9, se pueden editar reglas basndose en reglas if then. Para definir una regla basta seleccionar delas opciones que presentan cada una de las entradas o salidas para formular la regla deseada y luego simplemente presionar el botn Add rule. Defina ahora las siguientes reglas. If Comida is Mala and Servicio is Malo then Propina is Mala. If Comida is Mala and Servicio is Regular then Propina is Mala. If Comida is Mala and Servicio is Excelente then Propina is Promedio. If Comida is Regular and Servicio is Malo then Propina is Mala.. Universidad Catlica de Santa Maria Programa Profesional de I ngeniera Mecnica Elctrica - Mecatrnica Procesos I nteligentes
If Comida is Regular and Servicio is Regular then Propina is Promedio. If Comida is Regular and Servicio is Excelente then Propina is Promedio. If Comida is Deliciosa and Servicio is Malo then Propina is Promedio. If Comida is Deliciosa and Servicio is Regular then Propina is Buena. If Comida is Deliciosa and Servicio is Excelente then Propina is Buena.
NOTA: Recuerde guardar el sistema, ver numerales 7 y 8. Las reglas ya editadas se muestran en la figura 10.
Figura 10. Reglas del sistema propina
22. Una vez definidas las reglas, falta ver el comportamiento de variaciones en la entrada y funcionamiento de las reglas. Basndose en la figura 10, seleccionar de las opciones de men view, rules, o bien presionar ctrl-5. el cual mostrar de forma grfica las reglas y su influencia en la salida.
Universidad Catlica de Santa Maria Programa Profesional de I ngeniera Mecnica Elctrica - Mecatrnica Procesos I nteligentes
23. Basndose en la figura 11, podemos ver que la primera columna de grficas representa a la entrada comida y cada una de las filas representa a las reglas definidas en el paso 19. De igual forma la segunda columna representa a la entrada servicio y la tercera columna a la salida propina, la cual esta expresada en porcentaje. Para ver el comportamiento del sistema basta con posicionar el cursor del ratn en la lnea roja que aparece en cualquiera de las entradas y desplazarla de izquierda a derecha o viceversa.
V. CUESTIONARIO 1. Basndose en el sistema difuso creado, se pide cambiar las reglas de inferencia Cambiar and por or para todas las reglas, por ejemplo: If Comida is Mala or Servicio is Malo then Propina is Mala. Cambiar reglas con NOT. Por ejemplo: If Comida is NOT Mala and Servicio is Malo then Propina is Mala Sufre el sistema algn cambio en su comportamiento? Porque? 2. Se pueden eliminar algunas reglas ya que pueden ser redundantes? Explique su respuesta. 3. Cuantas entradas y salidas se pueden poner en la interfaz grfica de lgica difusa? 4. Explique que diferencias hay entre un sistema difuso entrenado con reglas Mamdani y uno entrenado con reglas Sugeno.