Lógica Difusa, Guía 2
1
Facultad: Ingeniería Escuela: Electrónica Asignatura: Lógica Difusa
Tema: Tema: Introducción Introducc ión a Toolbox Toolbox de Lógica Lógic a Difusa Dif usa Contenidos - Tutorial Tutorial Sobre el uso del Toolbox de Lógica Difusa
Objetivo Especifico Que el estudiante: Aprenda a utilizar la interfaz gráfica de usuario que proporciona el toolbox de lógica difusa de Matlab. Interprete las reglas de inferencia que intervienen en los sistemas a implementar. Utilice operaciones con conjuntos difusos.
Material y Equipo • •
Guía Número 2 Computadora con sistema operativo Windows y programa MATLAB instalado
Introduccion Introducc ion Teorica Teorica El toolbox de Lógica Lógica Difusa permite definir conjuntos de entrada, reglas y gráficas de salida en una forma gráfica, para luego proceder a la simulación del sistema difuso y su depuración. En esta práctica se hará un ejemplo de uso de este aplicativo que será utilizado en las próximas sesiones.
Procedimiento 1. Ingres Ingresee a la versión versión prof profesi esiona onall de Matlab Matlab.. 2. Digite >> fuzzy, lo cual hará que aparezca la figura 1.
2
Lógica Difusa, Guía 2
Figura 1. Pantalla inicial de la interfaz gráfica de usuario de lógica difusa de Matlab
3. Seleccione el menú Edit y busque la opción Add input .
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 C omida. 5. Luego, seleccione Input2 y cambie el nombre Servicio.
Lógica Difusa, Guía 2
3
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 .
Figura 4. Guardar sistema difuso
8. Al seleccionar dicha opción 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. Basándose en la figura 6, despliegue la pantalla para editar parámetros de las entradas y salida. Esta pantalla nos sirve para especificar la forma de las funciones de los conjuntos difusos.
4
Lógica Difusa, Guía 2
Figura 5. Guardar sistema difuso
Figura 6. Editar parámetros de funciones de pertenencia
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 opción ADD MFS, la cual desplegará una pantalla como lo muestra la figura 8. 11. En la figura 8, se debe escoger la función 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 serán suficientes. En la versión de matlab que se tiene en el laboratorio de simulación matemática, por definición aparecen tres funciones de transferencia y solo es necesario seleccionarlas del gráfico y cambiar directamente la función en el selector con el nombre Type. 12. Se repite el paso 10 y 11 para la entrada servicio. Use una función trimf para servicio. 13. Se repite el paso 12 para la salida propina, también se selecciona la función de pertenencia trimf .
Lógica Difusa, Guía 2
5
Figura 7. Pantalla para editar funciones de membresía
Figura 8. Selecciona de función 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 función de pertenencia trimf . 16. Una vez seleccionada la función de pertenencia, solo queda asignar parámetros y rangos a cada una de las entradas y salidas. 17. Seleccione la entrada Comida, luego seleccione en la gráfica que aparece a la derecha de la figura 7 la línea que se llama mf1 y cambie los valores mostrados en la tabla 1, hágalo de manera similar para mf2 y mf3. Antiguo nombre mf1 mf2 mf3
Nuevo nombre Mala Regular Deliciosa
Parámetros [1.52 0.103] [1.699 5] [1.7 10]
Rango [0 10] [0 10] [0 10]
Rango mostrado [0 10] [0 10] [0 10]
Tabla 1. Parámetros de entrada Comida
18. Seleccione la entrada Servicio, luego seleccione la gráfica que aparece a la derecha de la figura 7 la línea que se llama mf1 y cambie los valores mostrados en la tabla 2, hágalo de manera similar para mf2 y mf3 Antiguo nombre mf1
Nuevo nombre Malo
Parámetros [-4 0 4]
Rango [0 10]
Rango mostrado [0 10]
6
Lógica Difusa, Guía 2 mf2 mf3
Regular Excelente
[1 5 9] [6 10 14]
[0 10] [0 10]
[0 10] [0 10]
Tabla 2. Parámetros de entrada servicio
19. Seleccione la salida propina, luego seleccione la gráfica que aparece a la derecha de la figura 7 la línea que se llama mf1 y cambie los valores mostrados en la tabla 3, hágalo de manera similar para mf2 y mf3.
Antiguo nombre Nuevo nombre mf1 Mala mf2 Promedio mf3 Buena Tabla 3. Parámetros de la salida Propina
Parámetros [0 15.7 30.6] [30.6 48.8 65.21] [65.2 84 100]
Rango [0 100] [0 100] [0 100]
Rango mostrado [0 100] [0 100] [0 100]
20. Busque en el menú Edit o View la opción Edit rule o rule, la cual muestra una pantalla en la cual se pueden editar las reglas de inferencia que controlarán el sistema, ver figura 9.
Figura 9. Editor de reglas de inferencia
21. Una vez en la pantalla de la figura 9, se pueden editar reglas basándose 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 botón 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.. If Comida is Regular and Servicio is Regular then Propina is Promedio.
Lógica Difusa, Guía 2 • • • •
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. Basándose en la figura 10, seleccionar de las opciones de menú view, rules, o bien presionar ctrl-5. el cual mostrará de forma gráfica las reglas y su influencia en la salida.
7
8
Lógica Difusa, Guía 2
Figura 11. Reglas de inferencia y su influencia en la salida
23. Basándose en la figura 11, podemos ver que la primera columna de gráficas 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 ratón en la línea roja que aparece en cualquiera de las entradas y desplazarla de izquierda a derecha o viceversa.
Análisis de Resultados 1. Basándose 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 algún 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 gráfica de lógica difusa? 4. Explique que diferencias hay entre un sistema difuso entrenado con reglas Mamdani y uno entrenado con reglas Sugeno.
Bibliografía The Mathworks Inc. Guía de usuario de toolbox de lógica difusa de Matlab ® Versión 5.3. The Mathworks Inc. Natick, MA. 2002.
Lógica Difusa, Guía 2 Hoja de cotejo: 2
Guía 2: Introducción a Toolbox de Lógica Difusa Alumno:
Maquina No:
Docente:
GL:
Fecha:
EVALUACION % CONOCIMIENTO 25%
APLICACIÓN DEL CONOCIMIENTO 60%
ACTITUD 15%
TOTAL
1-4
5-7
8-10
Del 20 al 30%
Conocimiento deficiente de los fundamentos teóricos
Conocimiento y explicación incompleta de los fundamentos teóricos
Conocimiento completo y explicación clara de los fundamentos teóricos
Del 40% al 60%
Realiza el análisis de resultados con mucha ayuda
Realiza el análisis de resultados con alguna ayuda
Realiza el correcto análisis del procedimiento solamente auxiliándose del material proporcionado
Del 15% al 30%
No tiene actitud proactiva.
Actitud Tiene actitud propositiva y con proactiva y sus propuestas no propuestas son aplicables al concretas. contenido de la guía.
100%
Nota
9