Logica fuzzy

  • Published on
    16-Aug-2015

  • View
    15

  • Download
    0

Embed Size (px)

Transcript

  1. 1. INTELIGENCIA ARTIFICIAL Trabajo Prctico n 3 Profesores: Ing. Mario Figueroa Ing. Pablo Rovarini Alumnos: Jos Daniel Muccela Comisin: 5 k 2 Ao 2008 Facultad Regional Tucumn Universidad Tecnolgica Nacional Lgica Fuzzy Sistema de Refrigeracin [C]
  2. 2. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 1 TP N3 Controlador Fuzzy Problema: Deber elaborar un Sistema Experto Fuzzy para controlar un Sistema de Refrigeracin de una sala de conferencias. Los parmetros de medicin son Temperatura y Humedad. La variable de salida es la Velocidad del Ventilador. Para Temperatura deber considerar 5 Term-Set. Para Humedad deber considerar 5 Term-Set. Para la variable de salida Velocidad del Ventilador deber considerar 5 Term-Set. Usted deber indicar los valores de referencias de Temperatura (C), Humedad (%) y Velocidad de Ventilacin (RPM). Para su sistema puede usar Matlab, C++, etc. Deber presentar su trabajo en carpeta mas el CD con el ejecutable.
  3. 3. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 2 Desarrollo Controlador Fuzzy para Sistema de Refrigeracin Se necesitan 3 variables que son los parmetros a considerar para el desarrollo del modelo. Estas variables son: T (Temperatura) H (Humedad) V (Velocidad del Ventilador) Las variables de entrada al sistema son Temperatura y Humedad. La variable de salida es la Velocidad. Definimos los Term-Set para cada variable interviniente en el problema. Term Set para Temperatura: Muy Baja Baja Media Alta Muy Alta Valores de Referencias: Muy Baja= [0 7] Baja= [5 15] Media= [14 22] Alta= [20 32] Muy Alta= [28 +40] Sistema Experto Fuzzy Sistema de Refrigeracin T (C) H (%) V (RPM) [C]
  4. 4. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 3 Term Set para Humedad: Baja Media Alta Valores de Referencias: Baja= [0 20] Media= [10 70] Alta= [60 +100] Term Set para Velocidad del Ventilador: Muy Lenta Lenta Media Rpida Muy Rpida Valores de Referencias: Muy Lenta= [0 500] Lenta= [400 1600] [RPM] [%]
  5. 5. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 4 Media= [1400 2200] Rpida= [2000 3200] Muy Rpida= [3000 +3800] Una vez definidos los Term-Set de cada variable procedemos a armar una tabla donde a partir de las variables de entrada (T y H) y sus respectivas variables lingsticas encontraremos los valores de salida para la variable V. T H MB B M A MA B ML L M M M R R A R MR MR Donde: T:Temperatura MB: Muy Baja B: Baja M: Media A: Alta MA: Muy Alta H: Humedad B: Baja M: Media A: Alta ML: Muy Lenta L: Lenta M:Media R: Rpida MR:Muy Rpida A partir de esta tabla y de la interseccin de los estados de las variables, encontramos las reglas que se aplicarn para el funcionamiento del sistema de control. Las mismas estn marcadas en letra roja. Estas reglas se corresponden con la variable de salida Velocidad del Ventilador. Las celdas rellenas son casos que pueden no presentarse o rara vez pueden suceder. Se encontraron 9 (nueve) reglas y 6 (seis) casos que no se consideran. Deduccin de las reglas que se aplicarn: N Regla Regla 1 IF T IS M AND H IS B THEN V IS ML 2 IF T IS A AND H IS B THEN V IS L 3 IF T IS MA AND H IS B THEN V IS M 4 IF T IS M AND H IS M THEN V IS M 5 IF T IS A AND H IS M THEN V IS R 6 IF T IS MA AND H IS M THEN V IS R 7 IF T IS M AND H IS A THEN V IS R 8 IF T IS A AND H IS A THEN V IS MR 9 IF T IS MA AND H IS A THEN V IS MR
  6. 6. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 5 Desarrollo del modelo a travs del soft: El Software que utilizaremos para el desarrollo del modelo propuesto es el Matlab Versin 7 - R14. Primeramente llamamos a la herramienta Fuzzy (Fuzzy Logic Toolbox) del Matlab a travs de la ventana de comandos escribiendo fuzzy. Al abrirse creamos un nuevo proyecto FIS y elegimos el mtodo que se emplear para su resolucin. Por defecto lo crea con el mtodo Mandani. Una vez hecho esto se accede a la ventana donde se comienza a trabajar con el sistema. En esta ventana Ingresamos las variables de entrada (amarillo) y la variable de salida (celeste) Cambiar nombre de variable
  7. 7. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 6 Podemos ir agregando variables a nuestro modelo a travs de la siguiente ventana. En ella seleccionamos si queremos una variable de entrada o de salida. Especificamos el nombre de las variables de entrada (amarillo) Temperatura y Humedad; y la variable de salida (celeste) Velocidad. El modelo queda como se muestra a continuacin. Antes de seguir trabajando guardamos el modelo a travs del men File -> Export. Guardamos a Disco para poder recuperar nuestro trabajo posteriormente.
  8. 8. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 7 Ahora debemos definir los Term-Set (las funciones de pertenencia) para cada variable. Hacemos doble clic en el cuadro amarillo del modelo que creamos. Nos lleva a la siguiente ventana. En esta ventana, cargamos los Term-Set correspondientes a la Temperatura. El nombre del mismo lo colocamos en el cuadro Name que se encuentra a la derecha. En el cuadro Params elegimos el rango numrico del Term-Set [valor_lateral_derecho valor_central valor_lateral_izquierdo]. A la izquierda de la ventana colocamos el rango para todos los Term-Set que vamos a crear. En este caso de 0 a 40 grados centgrados. Para agregar un nuevo Term-Set a la variable vamos al men Edit -> Add Custom MF De la misma manera creamos los Term-Set para las otras variables. A continuacin se muestra la carga de los Term-Set para la variable Humedad.
  9. 9. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 8 A continuacin se muestra la carga de los Term-Set para la variable Velocidad. Luego procedemos a la carga de las reglas que se usarn para nuestro modelo. La ventana que se muestra a continuacin se accede a travs de doble clic sobre la regin blanca del modelo que creamos (AireAcondiciondado (Mandani)) o bien a travs del men Edit -> Rules
  10. 10. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 9 En esta ventana slo seleccionamos de las listas de la parte inferior de la pantalla, los estados para cada variable (antecedentes) y el estado de la variable de salida correspondiente (consecuente), elegimos el modo del operador booleano (And en nuestro caso) y a continuacin agregamos la regla al listado superior con Add rule. (Para lograr esto primeramente tendramos que haber cargado los Term-Set de las variables de entrada y de salida) Y as cargamos todas las reglas. Una vez concluido cerramos la ventana. Ahora nos queda probar y visualizar los resultados del modelo que creamos. Podemos ver grficamente como trabaja el sistema a travs de las reglas creadas ingresando al men View -> Rules Nos muestra la siguiente ventana:
  11. 11. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 10 En ella podemos ver los nmeros correspondientes a las reglas y las tres variables que intervienen en el problema. En el cuadro Input cargamos los valores para los cuales deseamos probar el funcionamiento del sistema, esto es, el valor numrico para la Temperatura y la Humedad. De acuerdo a los valores que se inserten el resultado podr visualizarse en la ltima columna correspondiente a la variable Velocidad. En ella se ve el valor en RPM que toma el sistema cuando tiene una determinada temperatura y humedad. Los datos de entrada son procesados para calcular el grado de membresa que tendrn dentro del controlador. El dispositivo de inferencia junto con la base de conocimientos realizan la toma de decisiones y de acuerdo a esto acta el sistema. El mtodo de inferencia se basa en el grado de pertenencia de los datos de entrada en los conjuntos difusos de los espacios correspondientes a cada uno; esto sirve para tomar una decisin en el espacio de salida. Para llevar a cabo el proceso de inferencia se usan distintos mtodos (mnimo-mximo, mximo-producto, etc.). Dentro del controlador hay una parte que es el defuzificador, que es quien realiza el procesado final de los datos, con el fin de adecuar los valores difusos obtenidos de la inferencia en valores no difusos tiles para el proceso que queremos controlar (en esta caso nuestro sistema de refrigeracin). Para lograr esto el sistema emplea el mtodo del centroide o centro de rea que consiste en calcular el centro de gravedad de una figura, a partir del polgono formado por el proceso de inferencia. Tambin podemos visualizar grficamente la superficie que se forma como resultado del modelo planteado. Esto se logra a partir del men View -> Surface.
  12. 12. Inteligencia Artificial 2008 TPN3 Lgica Fuzzy Muccela Jos Daniel UTN FRT 11 Nos muestra la siguiente ventana: Este grfico muestra la superficie que se forma como consecuencia de la interseccin de los valores que van tomando las variables del sistema. Cuanto menor sea la temperatura y la humedad vemos que el color del grfico se torna azul. A medida que aumentan dichas condiciones el grfico se torna color amarillo. Tambin vemos claramente cuando la temperatura y la humedad toman el mximo valor; en esta caso la velocidad del ventilador tambin toma el mximo valor (parte superior del grfico). Probando el Sistema de Control: Como vimos anteriormente, en esta ventana podemos probar el funcionamiento del sistema creado. La lnea roja que atraviesa el conjunto de reglas (9) para la variable temperatura puede desplazarse con el mouse hacia izquierda o derecha (disminuyendo o aumentando la temperatura) para especificar una temperatura al sistema. Lo mismo puede hacerse para la variable humedad. El resultado de estas acciones puede verse sobre la tercera columna, la que corresponde a la velocidad del ventilador. Aqu se muestra en RPM (revoluciones por minuto) la velocidad que tomara el ventilador en base a la temperatura y hume

Recommended

View more >