Logica Fuzzy

2,314 views
2,132 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,314
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
138
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Logica Fuzzy

  1. 1. INTELIGENCIA ARTIFICIAL Trabajo Práctico nº 3 Lógica Fuzzy Sistema de Refrigeración [ºC] Profesores: Ing. Mario Figueroa Ing. Pablo Rovarini Alumnos: José Daniel MuccelaComisión: 5 k 2Año 2008 Facultad Regional Tucumán Universidad Tecnológica Nacional
  2. 2. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José Daniel TP Nº3 – Controlador FuzzyProblema: Deberá elaborar un Sistema Experto Fuzzy para controlar un Sistema deRefrigeración de una sala de conferencias. Los parámetros de medición sonTemperatura 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 5Term-Set. Usted deberá indicar los valores de referencias de Temperatura (ºC),Humedad (%) y Velocidad de Ventilación (RPM). Para su sistema puede usar Matlab, C++, etc. Deberá presentar su trabajo en carpeta mas el CD con el ejecutable. 1 UTN FRT
  3. 3. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José Daniel DesarrolloControlador Fuzzy para Sistema de Refrigeración Se necesitan 3 variables que son los parámetros a considerar para eldesarrollo 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. T (ºC) Sistema Experto Fuzzy V (RPM) Sistema de H (%) Refrigeración Definimos los Term-Set para cada variable interviniente en el problema.Term Set para Temperatura: Muy Baja – Baja – Media – Alta – Muy Alta [ºC]Valores de Referencias:Muy Baja= [0 7]Baja= [5 15]Media= [14 22]Alta= [20 32]Muy Alta= [28 +40] 2 UTN FRT
  4. 4. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José DanielTerm 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 – Rápida – Muy Rápida [RPM]Valores de Referencias:Muy Lenta= [0 500]Lenta= [400 1600] 3 UTN FRT
  5. 5. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José DanielMedia= [1400 2200]Rápida= [2000 3200]Muy Rápida= [3000 +3800] Una vez definidos los Term-Set de cada variable procedemos a armaruna tabla donde a partir de las variables de entrada (T y H) y sus respectivasvariables lingüísticas 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 MRDonde:T:Temperatura MB: Muy Baja B: Baja M: Media A: Alta MA: Muy AltaH: Humedad B: Baja M: Media A: AltaML: Muy Lenta L: Lenta M:Media R: Rápida MR:Muy Rápida A partir de esta tabla y de la intersección de los estados de las variables,encontramos las reglas que se aplicarán para el funcionamiento del sistema decontrol. Las mismas están marcadas en letra roja. Estas reglas secorresponden con la variable de salida Velocidad del Ventilador. Las celdas rellenas son casos que pueden no presentarse o rara vezpueden suceder. Se encontraron 9 (nueve) reglas y 6 (seis) casos que no se consideran.Deducción de las reglas que se aplicarán: 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 4 UTN FRT
  6. 6. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José DanielDesarrollo del modelo a través del soft: El Software que utilizaremos para el desarrollo del modelo propuesto esel Matlab Versión 7 - R14. Primeramente llamamos a la herramienta Fuzzy (Fuzzy Logic Toolbox)del Matlab a través de la ventana de comandos escribiendo fuzzy. Al abrirse creamos un nuevo proyecto FIS y elegimos el método que seempleará para su resolución. Por defecto lo crea con el método Mandani. Una vez hecho esto se accede a la ventana donde se comienza atrabajar con el sistema. Cambiar nombre de variable En esta ventana Ingresamos las variables de entrada (amarillo) y lavariable de salida (celeste) 5 UTN FRT
  7. 7. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José Daniel Podemos ir agregando variables a nuestro modelo a través de lasiguiente ventana. En ella seleccionamos si queremos una variable de entradao 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 continuación. Antes de seguir trabajando guardamos el modelo a través del menúFile -> Export. Guardamos a Disco para poder recuperar nuestro trabajoposteriormente. 6 UTN FRT
  8. 8. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José Daniel Ahora debemos definir los Term-Set (las funciones de pertenencia) paracada variable. Hacemos doble clic en el cuadro amarillo del modelo quecreamos. Nos lleva a la siguiente ventana. En esta ventana, cargamos los Term-Set correspondientes a laTemperatura. El nombre del mismo lo colocamos en el cuadro Name que seencuentra a la derecha. En el cuadro Params elegimos el rango numérico delTerm-Set [valor_lateral_derecho valor_central valor_lateral_izquierdo]. A laizquierda de la ventana colocamos el rango para todos los Term-Set quevamos a crear. En este caso de 0 a 40 grados centígrados. 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 continuación se muestra la carga de los Term-Set para la variableHumedad. 7 UTN FRT
  9. 9. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José Daniel A continuación se muestra la carga de los Term-Set para la variableVelocidad. Luego procedemos a la carga de las reglas que se usarán para nuestromodelo. La ventana que se muestra a continuación se accede a través de dobleclic sobre la región blanca del modelo que creamos (AireAcondiciondado(Mandani)) o bien a través del menú Edit -> Rules… 8 UTN FRT
  10. 10. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José Daniel En esta ventana sólo seleccionamos de las listas de la parte inferior dela pantalla, los estados para cada variable (antecedentes) y el estado de lavariable de salida correspondiente (consecuente), elegimos el modo deloperador booleano (And en nuestro caso) y a continuación agregamos la reglaal listado superior con Add rule. (Para lograr esto primeramente tendríamos quehaber 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 quecreamos. Podemos ver gráficamente como trabaja el sistema a través de lasreglas creadas ingresando al menú View -> Rules Nos muestra la siguiente ventana: 9 UTN FRT
  11. 11. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José Daniel En ella podemos ver los números correspondientes a las reglas y las tresvariables que intervienen en el problema. En el cuadro Input cargamos los valores para los cuales deseamosprobar el funcionamiento del sistema, esto es, el valor numérico para laTemperatura y la Humedad. De acuerdo a los valores que se inserten elresultado podrá visualizarse en la última columna correspondiente a la variableVelocidad. En ella se ve el valor en RPM que toma el sistema cuando tiene unadeterminada temperatura y humedad. Los datos de entrada son procesados para calcular el grado demembresía que tendrán dentro del controlador. El dispositivo de inferencia junto con la base de conocimientos realizanla toma de decisiones y de acuerdo a esto actúa el sistema. El método deinferencia se basa en el grado de pertenencia de los datos de entrada en losconjuntos difusos de los espacios correspondientes a cada uno; esto sirve paratomar una decisión en el espacio de salida. Para llevar a cabo el proceso deinferencia se usan distintos métodos (mínimo-máximo, máximo-producto, etc.). Dentro del controlador hay una parte que es el defuzificador, que esquien realiza el procesado final de los datos, con el fin de adecuar los valoresdifusos obtenidos de la inferencia en valores no difusos útiles para el procesoque queremos controlar (en esta caso nuestro sistema de refrigeración). Paralograr esto el sistema emplea el método del centroide o centro de área queconsiste en calcular el centro de gravedad de una figura, a partir del polígonoformado por el proceso de inferencia. También podemos visualizar gráficamente la superficie que se formacomo resultado del modelo planteado. Esto se logra a partir del menú View ->Surface. 10 UTN FRT
  12. 12. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José Daniel Nos muestra la siguiente ventana: Este gráfico muestra la superficie que se forma como consecuencia de laintersección de los valores que van tomando las variables del sistema. Cuanto menor sea la temperatura y la humedad vemos que el color delgráfico se torna azul. A medida que aumentan dichas condiciones el gráfico setorna color amarillo. También vemos claramente cuando la temperatura y la humedad tomanel máximo valor; en esta caso la velocidad del ventilador también toma elmáximo valor (parte superior del gráfico).Probando el Sistema de Control: Como vimos anteriormente, en esta ventana podemos probar elfuncionamiento del sistema creado. La línea roja que atraviesa el conjunto de reglas (9) para la variabletemperatura puede desplazarse con el mouse hacia izquierda o derecha(disminuyendo o aumentando la temperatura) para especificar una temperaturaal sistema. Lo mismo puede hacerse para la variable humedad. El resultado deestas acciones puede verse sobre la tercera columna, la que corresponde a lavelocidad del ventilador. Aquí se muestra en RPM (revoluciones por minuto) lavelocidad que tomaría el ventilador en base a la temperatura y humedadestablecidas en el ambiente de la sala. 11 UTN FRT
  13. 13. Inteligencia Artificial 2008– TPNº3 – Lógica Fuzzy – Muccela José Daniel Los valores para las variables de entrada también pueden ingresarse através del cuadro de texto “Input” que se encuentra al pie de la ventana. Para el caso que se muestra a continuación fijamos la temperatura en16 ºC y una humedad de 41,6%. Como resultado se obtiene una velocidad de1800 RPM. Desplazar con el mouse A continuación puede verse como el sistema genera y dibuja lasuperficie resultante. En este gráfico se ve la disposición de las variables deentrada y la variable de salida. Se puede ver que para una intersección del plano conformado por latemperatura y la humedad (ejes x e y), la variable Velocidad toma undeterminado valor en su respectivo eje (z). Por ejemplo para el punto formadopor una temperatura de 40 ºC y una humedad del 100%, la velocidad delventilador es 3800 RPM. T = 40 ºC H = 100 % V = 3800 RPM 12 UTN FRT

×