Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
1 Lógica Fuzzy – parte 2/3 Contenido Cátedra de INTELIGENCIA ARTIFICIAL 2017 Ing. Sergio L. Martínez Sistema de inferencia fuzzy. Reglas Fuzzy. Base de Reglas Fuzzy. Proceso de Inferencia. Emulador Fuzzy. Campos de Aplicación. Referencias González C. Lógica Difusa: una introducción práctica. S. N. Sivanandam, S. Sumathi and S. N. Deepa. Introduction to Fuzzy Logic using MATLAB. Ed. Springer, 2007. Matlab. FIS tutorial. 2 En forma general, las variables son fuzzyficadas, luego activan las reglas correspondientes en la base, produciendo nuevas condiciones que se componen en la máquina de inferencia. La composición es defizzyfuicada para generar el resultado final. Va ri ab le s d e en tr ad a (c ri sp ) Va ri ab le s d e sa lid a (c ri sp ) Base de Reglas Máquina de Inferencia Fu zz yf ic ac ió n D ef uz zy fic ac ió n Variables fuzzy Un sistema de inferencia fuzzy (FIS) permite obtener nuevo conocimiento a partir de los valores dados en las variables de entrada, de acuerdo a las condiciones establecidas en la base de reglas. SISTEMAS DE INFERENCIA FUZZY 3 SISTEMAS DE INFERENCIA FUZZY Según la cantidad de variables que involucren las reglas de inferencia (fuzzy en este caso), se establece el tipo de sistema que las contiene. Estos pueden ser: SISO: Single Input – Single Output MISO: Multiple Input – Single Output SIMO: Single Input – Multiple Output MIMO: Mult. Input – Multiple Output Los sistemas más usuales por su simplicidad y versatilidad son los de tipo MISO, que serán los considerados en los conceptos que siguen. SISO MISO SIMO MIMO 4 Reglas condicionales Una regla fuzzy condicional, en forma general, puede verse como SI xF∈ W ENTONCES yF ∈ Z antecedente consecuente Por lo tanto, el consecuente está relacionado con el grado de verdad del antecedente, según el siguiente criterio: “yF es miembro de Z, en el mismo grado en que xF es miembro de W” condición implicación En reglas crisp el consecuente es validado al 100% cuando el antecedente se cumple al 100%. En reglas fuzzy el grado de cumplimiento y validación puede estar entre (0%, 100%]. REGLAS FUZZY Las reglas en conjunto conforman la base de reglas y contienen el conocimiento que maneja el sistema FIS. 5 Reglas condicionales (crisp) → SI x ENTONCES y Ej. SI hay niebla ENTONCES hace frío (fuzzy) → SI xF ∈ X ENTONCES yF ∈ Y Ej. Si hay algo (xF) de niebla (X) ENTONCES hace bastante (yF) frío (Y). Reglas condicionales multicriterio Criterios múltiples se incorporan a las reglas relacionados con los conectivos lógicos fuzzy (AND, OR, NOT). Amplían el objeto del conocimiento. (crisp) → SI x1 OR … xN ENTONCES y1 AND … yM Ej. SI P=5 OR Q=0 ENTONCES Val=1 AND F=-1 (fuzzy) → SI w ∈ W AND … x ∈ X ENTONCES yF ∈ Y AND… Ej. Si h ∈ Alto AND p ∈ Peso ENTONCES piné ∈ Normal AND contextura ∈ Estándar REGLAS FUZZY 6 REGLAS FUZZY Reglas incondicionales (o hechos) No contienen una condición previa para su ejecución (no tienen antecedente). (crisp) → x ⇒ y Ej. Los pájaros vuelan (fuzzy) → xF ⇒ yF Ej. La mayoría de los pájaros vuelan En el ejemplo anterior, paradójicamente, la regla fuzzy es más precisa que la regla crisp. 7 Ejemplos (reglas aisladas sin contexto) SI la comida es buena Y el servicio es aceptable ENTONCES la propina debe ser generosa. SI la presión es alta Y la temperatura aumenta Y la solubilidad crece ENTONCES cerrar rápidamente la válvula V1 SI Juan NO es alto Y su contextura es delgada ENTONCES su peso es bajo. SI velocidad es lenta O revoluciones es poca ENTONCES recorrido es corto. SI frío es intenso O viento es fuerte ENTONCES clima es desfavorable. REGLAS FUZZY 8 La base de reglas fuzzy contiene el conocimiento que maneja el sistema de inferencia. El conocimiento de base específico del campo debe ser proporcionado por un Experto. La interpretación, adaptación y configuración como reglas fuzzy corresponde al Ingeniero del Conocimiento. Las variables contenidas en las reglas fuzzy están asociadas a las correspondientes funciones de pertenencia. La asignación de funciones de pertenencia a cada variable puede realizarse por diferentes métodos (Sivanandam, 2007 - pag. 76). La base de reglas fuzzy debe cumplir con las propiedades básicas para trabajar en forma coherente (Sivanandam, 2007 - pag. 117). BASE DE REGLAS FUZZY 9 PROPIEDADES Completitud: una base de reglas fuzzy se considera completa si para cualquier combinación de valores de las variables de entrada, se produce un valor de salida apropiado. Consistencia: una base de reglas fuzzy se considera inconsistente si contiene al menos un par de reglas con el mismo antecedente pero con diferentes consecuentes. Continuidad: una base de reglas fuzzy se considera continua si no contiene reglas adyacentes con conjuntos de salida fuzzy con intersección vacía. BASE DE REGLAS FUZZY 10 Ejemplo: Base de reglas simplificada para un lavarropas industrial. R1: SI hay poca cantidad de ropa [Y] el grado de suciedad es bajo ENTONCES la cantidad de detergente debe ser escasa. R2: SI hay poca cantidad de ropa [Y] el grado de suciedad es alto ENTONCES la cantidad de detergente debe ser normal. R3: SI la cantidad de ropa es normal [Y] el grado de suciedad es bajo ENTONCES la cantidad de detergente debe ser escasa. R4: SI la cantidad de ropa es normal [Y] el grado de suciedad es alto ENTONCES la cantidad de detergente debe ser mucha. R5: SI la cantidad de detergente es normal [O] escasa ENTONCES el ciclo de lavado debe ser corto. R6: SI la cantidad de detergente es mucha ENTONCES el ciclo de lavado debe ser largo. BASE DE REGLAS FUZZY Estructura de las reglas (en azul), conectivos fuzzy entre corchetes, variables lingüísticas (en verde), particiones (en rojo). El sistema trabaja en dos niveles: primer nivel (R1 a R4), segundo nivel (R5 y R6). Variables de entrada: Cantidad de ropa y grado de suciedad; Variable de salida: ciclo de lavado. 11 Un sistema de inferencia fuzzy (FIS -> Fuzzy Inference System) se conoce con varios nombres: • Sistema fuzzy basado en reglas. • Modelo fuzzy. • Sistema experto fuzzy. • Memoria asociativa fuzzy. Ver Matlab tutotial (pg. 2-36) SISTEMA DE INFERENCIA Va ri ab le s d e en tr ad a (c ri sp ) Va ri ab le s d e sa lid a (c ri sp ) Base de Reglas Máquina de Inferencia Fu zz yf ic ac ió n D ef uz zy fic ac ió n Variables fuzzy 12 Dos métodos principales de inferencia fuzzy: • Método Mamdani: las variables de salida se configuran con conjuntos fuzzy que se deben componer y luego defuzzyficar (Mamdani – Assilian, 1975). • Método Takagi – Sugeno: las variables de salida son polinomios lineales (Takagi – Sugeno – Kang, 1985). SISTEMA DE INFERENCIA Va ri ab le s d e en tr ad a (c ri sp ) Va ri ab le s d e sa lid a (c ri sp ) Base de Reglas Máquina de Inferencia Fu zz yf ic ac ió n D ef uz zy fic ac ió n Variables fuzzy 13 Esquema del proceso de inferencia (5 pasos) PROCESO DE INFERENCIA Fuzzyficar entradas Aplicar operadores fuzzy Aplicar método de implicación Defuzzyficar salidas Componer salidas Va ri ab le s d e en tr ad a (c ri sp ) Va ri ab le s d e sa lid a (c ri sp ) Base de Reglas Máquina de Inferencia Fu zz yf ic ac ió n D ef uz zy fic ac ió n Variables fuzzy Método de Mamdani 14 1. Fuzzyficación de las entradas Es el proceso mediante el cual, a partir del valor asignado a una variable lingüística y por medio de su función de pertenencia, se obtiene un valor numérico [0,1] representativo del grado de pertenencia del valor de la variable. PROCESO DE INFERENCIA 15 2. Aplicación de operadores fuzzy Si el antecedente de una regla tiene más de una variable lingüística enlazadas por operadores fuzzy (AND – OR – NOT), se aplica el operador para obtener un único valor de pertenencia representativo del antecedente. PROCESODE INFERENCIA 16 2. Aplicación de operadores fuzzy Operador OR Método 1 – Máximo μ(a) OR μ(b) = máx[μ(a) , μ(b)] Método 2 – Suma algebraica μ(a) OR μ(b) = μ(a) + μ(b) - μ(a) . μ(b) Operador AND Método 1 – Mínimo μ(a) AND μ(b) = mín[μ(a) , μ(b)] Método 2 – Producto μ(a) AND μ(b) = μ(a) . μ(b) Operador NOT NOT(μ(a)) = 1 – μ(a) PROCESO DE INFERENCIA 17 3. Aplicación del método de implicación El método de implicación se aplica a cada una de las reglas. Es la determinación de un nuevo conjunto fuzzy obtenido del consecuente de la regla y modificado por el valor fuzzy del antecedente (paso anterior). PROCESO DE INFERENCIA 18 3. Aplicación del método de implicación (contin.) Se disponen de diversos métodos de implicación que difieren de acuerdo con el criterio adoptado. Método de la intersección o del mínimo (Mamdani) μA⇒B(a,b) = μA(a) ∩ μB(b) a b a b PROCESO DE INFERENCIA 0 1 2 3 4 5 6 7 8 9 10 0 0.2 0.4 0.6 0.8 1 muA muB implicación Mamdani 19 3. Aplicación del método de implicación (contin.) Método del producto (Larsen) μA⇒B(a,b) = μA(a) . μB(b) b a a b PROCESO DE INFERENCIA 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 muB muA implicación Larsen 20 3. Aplicación del método de implicación (contin.) Regla max - min (Zadeh) μA⇒B(a,b) = [μA(a)∩μB(b)]∪[1–μA(a)] a a b b PROCESO DE INFERENCIA 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 muB muA implicación Zadeh max min 21 4. Composición de las salidas Una vez obtenidos todos los nuevos subconjuntos fuzzy de salida de cada regla, se deben combinar de alguna forma para poder tomar una decisión. El proceso de composición (o agregación) crea un único conjunto fuzzy para cada variable de salida. Los métodos de composición más usuales son: Máximo (figura). Suma PROCESO DE INFERENCIA 22 5. Defuzzyficación El paso final de la inferencia es la determinación de un número (crisp) proveniente del conjunto fuzzy compuesto (en el paso anterior). Los métodos más usuales de defuzzyficación son Centroide: Centro del área del conjunto compuesto (método más utilizado). MOM (middle of maximum): Promedio de valores máximos. PROCESO DE INFERENCIA 23 4. Defuzzyficación (contin.) LOM (Largest Of Maximum: El mayor de los valores máximos. SOM (Smallest Of Maximum): El menor del valores máximos. PROCESO DE INFERENCIA 24 Esquema genérico del proceso de inferencia PROCESO DE INFERENCIA 1. Entradas fuzzy 2. Aplicar conectivos 3. Aplicar método de implicación 4. Aplicar método de agregación 5. Aplicar método de defuzzyficación (centroide en este caso). Salida→ Sivanandam, pg. 120. Matlab tutorial pg. 2-43. Regla Regla Regla 25 Pasos generales para crear un FIS • Comprender el problema. Asesoramiento del experto. • Determinar las variables lingüísticas de entrada y salida. • Establecer las particiones necesarias (variables fuzzy) y asociar las funciones de pertenencia. • Crear las reglas (asesoramiento del experto), relacionando las variables fuzzy de entrada mediante los conectivos lógicos fuzzy (antecedentes). Asociar las variables fuzzy de salida (consecuente). • Establecer el método de implicación. • Establecer el método de agregación. • Establecer el método de defuzzyficación. • Comprobar el funcionamiento con resultados conocidos o según el criterio del experto. • Para el proceso de inferencia se puede utilizar un sistema preprogramado o programar uno. CREAR UN F.I.S. 26 Utilización de la interfaz gráfica de Matlab La interfaz gráfica dispone de todos los componentes para crear, editar, operar y analizar un FIS (figura adjunta). Dispone de una biblioteca de funcio- nes para asociar cada una a sus respectivas variables fuzzy. El editor de reglas permite generar las reglas, según las variables definidas. Ver Matlab tutorial (pg. 2-45). CREAR UN F.I.S. 27 EDITOR FIS (Matlab tutotial – pg. 2-49) Se activa con el comando “fuzzy” desde la línea de com. CREAR UN F.I.S. Desde este menú se puede abrir, editar o grabar un FIS usando cualquiera de las cinco herramientas básicas GUI. Doble click sobre el ícono de una variable de entrada para abrir el editor de funciones de pertenencia. Estas opciones se utilizan para ajustar las funciones de inferencia fuzzy, tales como el método de dufuzzyficación, agregación o conectivos fuzzy. Doble click sobre el diagrama del sistema para abrir el editor de reglas. Aquí se muestra el nombre del sistema. Se puede cambiar usando una de las opciones del menú Save as… Esta línea de estado describe la operación más reciente. Doble click sobre el ícono de una variable de salida para abrir el editor de funciones de pertenencia. Este campo editable es usado para nombrar o editar los nombres de las variables de entrada y salida, cuando son seleccionadas arriba. 28 Ejemplo: Sistema de inferencia fuzzy para determinar el precio de un producto. SISTEMA DE INFERENCIA Reglas Visor de Reglas (MatLab) 29 Modelo Fuzzy Base de Reglas Fu zz if ic ad or D ef uz zi fi ca do r EMULACIÓN FUZZY 30 A P L I C A C I O N E S C A M P O S F U Z Z Y Ingeniería • Matemática • Física • Medicina • Astronomía • Economía • Otros • Manipilación del conocimiento ambigüo. Tratamiento de datos imprecisos. Controladores de todo tipo: Lineales/no lineales. Variantes en el tiempo. Adaptivos. Sistemas inteligentes híbridos: Sistemas expertos fuzzy. Redes neuro-fuzzy. Algoritmos genéticos fuzzy. Equipos electrónicos. Automatización de sistemas. Procesos industriales de todo tipo. Otras aplicaciones. CAMPOS DE APLICACIÓN Lógica Fuzzy – parte 2/3 Número de diapositiva 2 Número de diapositiva 3 Número de diapositiva 4 Número de diapositiva 5 Número de diapositiva 6 Número de diapositiva 7 Número de diapositiva 8 Número de diapositiva 9 Número de diapositiva 10 Número de diapositiva 11 Número de diapositiva 12 Número de diapositiva 13 Número de diapositiva 14 Número de diapositiva 15 Número de diapositiva 16 Número de diapositiva 17 Número de diapositiva 18 Número de diapositiva 19 Número de diapositiva 20 Número de diapositiva 21 Número de diapositiva 22 Número de diapositiva 23 Número de diapositiva 24 Número de diapositiva 25 Número de diapositiva 26 Número de diapositiva 27 Número de diapositiva 28 Número de diapositiva 29 Número de diapositiva 30
Compartir