LÓGICA DIFUSA Tania del Cerro Sánchez Patricia Novalbos Laina Universidad Carlos III de Madrid [email protected] Universidad Carlos III de Madrid [email protected] INTELIGENCIA EN REDES DE ORDENADORES 5º INGENIERIA DE TELECOMUNIACIÓN ABSTRACT En este documento vamos a realizar un estudio a través de la lógica difusa o fuzzy logic, sus conjuntos, algoritmos y aplicaciones. por ejemplo, si llenamos una botella hasta la mitad, no podemos afirmar ni que esté llena ni que esté vacía. Por ello, Platón indicó que había una tercera posibilidad, iniciando así los principios de la lógica difusa. Algoritmos, Documentación, Confiabilidad, Experimentación, Factores Humanos, Teoría. Aunque a lo largo de la historia muchos filósofos estudiaron las vaguedades del lenguaje, Jan Lukasiewicz fue el primero en dar una alternativa a la lógica de Aristóteles. La describió como la lógica de los 3 valores, cuyo tercer valor era ‘posible’. Palabras Clave Más tarde, en 1937, el filósofo cuántico Max Black definió el primer conjunto difuso. Términos Generales Función de pertenencia Conjuntos difusos Pero no fue hasta la década de los 60 cuando Lotfi Asker Zadeh, basándose en las ideas de Black, creó el concepto de Lógica Difusa, y en 1973 propuso la teoría sobre dicha lógica. Reglas Aplicaciones de lógica difusa 1. INTRODUCCIÓN La lógica difusa deriva de la lógica tradicional, y es más cercana a la forma del pensamiento humano. La lógica difusa se basa en el hecho de que una afirmación no tiene porqué ser ni cierta ni falsa, sino que se verificará en un cierto grado. Los predicados difusos se aplican a los elementos del conjunto en ese cierto grado. A continuación damos un ejemplo que clarifique lo dicho anteriormente: Predicados vagos: rico, flaco, viejo. Enunciados borrosos: María es rica y vieja. Juan está flaco porque no come mucho. 3. FUNCIONAMIENTO 3.1 ¿Qué son los conjuntos difusos? En los conjuntos clásicos se asigna el valor 0 en caso de que el valor no pertenezca al conjunto y 1 si pertenece. Esta función se puede generalizar de forma que los elementos del conjunto pertenezcan a un rango entre 0 y 1. Esta función se llama ‘función de pertenencia’ y el conjunto definido por dicha función ‘conjunto difuso’. A=X→[0, 1] Siendo, A la función de pertenencia. A el conjunto difuso. [0,1] el intervalo de números reales que incluye los extremos. Ante estos enunciados, aparece el concepto de conjunto difuso. Estos conjuntos no tienen una frontera definida, depende de la frontera que usemos. Operaciones sobre conjuntos difusos. 2. HISTORIA El origen de la lógica difusa podemos buscarla en la Antigua Grecia, allí Aristóteles introdujo las Leyes del Conocimiento. Una de estas leyes es la Ley del Tercero Excluido que afirma que para toda proposición p, una de las dos posibilidades, p o (NO)p, debe ser verdadera. Sin embargo, esto no es totalmente cierto, En la teoría de conjuntos difusos se definen tres operaciones básicas: Complemento NoA (x) = 1 - A (x) Unión AUB (x) = max (A(x),B (x)) Intersección A∩B (x) = min (A(x),B (x)) Existe otra operación importante, llamada Fusificación, ésta se realiza en todo instante de tiempo. >> x=(0:.1:10)'; >> mu2=trimf(x, [3 5 7]); >> plot(x, mu2) 1 Conceptos sobre subconjuntos difusos. 0.9 0.8 Existe un principio que permite la generalización de conceptos matemáticos de Conjuntos Clásicos a la teoría de Conjuntos Difusos. Denominado ‘Principio de extensión’. 0.7 0.6 0.5 0.4 Además de las operaciones descritas anteriormente, existen varios conceptos sobre subconjuntos difusos: 0.3 0.2 0.1 0 El núcleo de un subconjunto difuso, A, es el conjunto de los elementos, x, que pertenecen totalmente a A, es decir verifican que A (x) = 1. El soporte de un subconjunto difuso, A, es el conjunto de los, x, que pertenecen, en cierta medida, a A. Es decir, que verifican A (x) > 0. Sean A y B dos partes difusas del conjunto C. Se dice que A está incluido en B si para todo x C, tenemos A(x) ≤ B(x), es decir, que los elementos de A siempre pertenecen en mayor medida a B que a A. Partiendo del subconjunto difuso A, se puede definir la familia de los conjuntos clásicos At con t variando en [0,1]. At = (x B/A(x) ≥ t ), el conocimiento de esta familia define totalmente a A. Funciones de pertenencia 0 1 Gamma Sigmoidal Gaussiana Trapezoidal >> x=(0:.1:10)'; >> mu=trapmf(x,[2 4 6 8]); >> plot(x,mu) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 1 Triangular 2 3 4 5 6 7 8 9 10 3 4 5 6 7 8 9 10 Además de las funciones de tipo lineal expuestas anteriormente, también se utilizan funciones de tipo gamma, sigmoidal, gaussiana y pseudo-exponencial. Para cada conjunto difuso, existe asociada una función de pertenencia para sus elementos. Las formas de las funciones de pertenencia más típicas son trapezoidal y triangular. 2 en el que la salida final será el centro de gravedad del área resultante. Pseudo-exponencial Si las reglas no son formuladas por expertos, son aprendidas por el sistema, éste hace uso de redes neuronales. A pesar de la variedad de reglas difusas, se suelen emplear las de Mamdani y las de Takagi-Sugeno (TS). Regla difusas de Mamdani La regla dice que: IF(x1 is A AND x2 is B AND x3 is C) THEN (u1 is D, u2 is E). Dónde, o x1, x2 y x3 son variables de entrada. o A, B y C son funciones de pertenencia de entrada. o U1 y U2 son las acciones de control. 3.2 La representación difusa del conocimiento o D y E son las funciones de pertenencia de salida. Como se dijo en la introducción, en el lenguaje natural se describen situaciones imprecisas, tratadas desde un punto de vista subjetivo. o AND es un operador lógico difuso (podría ser cualquier otro perador lógico). En los Sistemas Basados en Conocimiento la función de pertenencia se obtiene a partir de la opinión de un experto en ese dominio en concreto. Ventajas: Las variables que forman hipótesis están asociadas a un dominio. Se define term-set como un conjunto finito de elementos, el cual, debe ser suficiente para describir cualquier situación relacionada con el problema. La regla principal de inferencia en lógica clásica es el Modus Ponens (A -> B). En lógica difusa se puede generalizar esta regla como: Regla: Si x es A, entonces y es B. o Intuitiva. o Amplia aceptación. o Adaptada a la incorporación de conocimiento y experiencia. Reglas difusas de Takagi-Sugeno La regla dice que: Hecho: x es A. IF (x1 is A AND x2 is B AND x3 is C) THEN (u1=f(x1, x2, x3), u2=g(x1, x2, x3)) Conclusión: y es B. En general tanto f como g son funciones lineales. Si suponemos que las variables están relacionadas por cualquier relación. Si R es una relación binaria difusa y A y B son conjuntos borrosos en X e Y respectivamente. Si conocemos R y A podríamos conocer B mediante la ‘Regla composicional de inferencia’. Ventajas: o Eficiente computacionalmente. o Trabaja bien con técnicas lineales, de optimización y control adaptable. o Está bien adaptado el análisis matemático. B = A(x)R(x, y) B(y) = supx e X min (A(x), R(x, y)) R(x, y) = I(A(x), B(y)) que es la función de implicación. Inferencia Difusa 3.3 Reglas en la lógica difusa La inferencia se necesita para calcular el resultado de las variables de salida. . La lógica difusa, se basa en reglas de la forma SI (antecedente) ENTONCES (consecuente). Los mejores resultados en el campo de control los generan el método de inferencia de Mamdani, RM, la inferencia del producto de Larsen, RL, la inferencia del producto drástico, R DP, y la inferencia del producto limitado, RBP. Los métodos de inferencia para las reglas deben ser sencillos y eficientes. Para escoger una salida concreta a partir de las hipótesis, el método más usado es el ‘centroide’(defusificación), Método de Inferencia Definición RM min (, W(z)), z RL x W(z), z , W(z) = 1 W(z) , = 1 RDP 0 < 1 y W(z) < 1 max ( + W(z) -1, 0 ) RBP Dónde W es la función de pertenencia del conjunto de salida w. Después de todo lo que se ha hablado hasta ahora, se puede resumir el proceso de inferencia difusa como: Dato de entrada Fusificación Japón. En 1987 la empresa OMRON desarrolla los primeros controladores borrosos comerciales con el profesor Yamakawa. A partir de ese momento, el control borroso ha sido aplicado con éxito en muy diversas ramas tecnológicas, por ejemplo la metalurgia, los robots de fabricación, controles de maniobra aviones, ascensores o trenes, sensores, imagen y sonido (sistema de estabilización de imagen en cámaras fotográficas y de video Sony, Sanyo, Cannon...), electrodomésticos (lavadoras de Panasonic o Bosch, aire acondicionado Mitsubishi, ricecooker...), automoción (sistemas de ABS de Mazda o Nissan, Cambio automático de Renault, control automático de velocidad, climatizadores...) y una larga lista de aplicaciones comerciales. A partir del “boom” de lo borroso en Japón, iniciado en 1987 y que alcanzó su máximo apogeo a principios de los noventa. Desde entonces, han sido infinidad los productos lanzados al mercado que usan tecnología borrosa muchos de ellos utilizando la etiqueta “fuzzy” como símbolo de calidad y prestaciones avanzadas. Como la lavadora Bosch con sistema eco-fuzzy. Cada día se incorpora más esa técnica matemática para facilitar el trabajo a los electrodomésticos, que deciden qué programa tomar, qué cantidad de agua ha de entrar, cómo controlar la humedad en el secado de la ropa, etc. Estas mismas matemáticas se aplican a infinidad de máquinas como los sistemas de aire acondicionado, los televisores, cámaras de video, sistemas de tráfico, ahorro energético, de combustible, mayor eficiencia energética, medicina, software para ordenadores, traducciones automáticas, etc. Evaluación de reglas e Inferencia CONTROLADOR DE REFRIGERACIÓN Defusificación Dato de salida *Cualquier sistema basado en lógica difusa seguirá este diagrama. 4. APLICACIONES Aunque la intención original del profesor Zadeh era crear un formalismo para manipular de forma más eficiente la imprecisión y vaguedad del razonamiento humano expresado lingüísticamente, causó cierta sorpresa que el éxito de la lógica borrosa llegase en el campo del control. Su primera gran obra se fue el tren automático de Sendai sin conductor. En 1983, Fuji aplica lógica borrosa para el control de inyección química para plantas depuradoras de agua, por primera vez en A continuación pasamos a describir un sistema borroso con la ayuda de una herramienta de MATLAB. El planteamiento del sistema es el que sigue: Queremos implementar un controlador de refrigeración que tiene como parámetros de entrada la temperatura y humedad de un determinado lugar y como variable de salida la velocidad de giro de un ventilador. Una vez definidas los rangos de las variables de entrada y de salida procedemos a clasificar nuestros datos de entrada para dar una salida deseada, lo representamos en la siguiente matriz. Una vez definida todos los valores de entrada con las salidas correspondientes podemos implementar el sistema inteligente configurando las siguientes reglas: A continuación detallamos los puntos a seguir para obtener el estudio comentado: 1. Abrimos en la línea de comandos del Matlab fuzzy. 2. Damos nombre a las variables de entrada como son humedad y temperatura y posteriormente a la de salida que será velocidad. 3. Para cada una de las entradas y salida definimos los rangos correspondientes y les damos nombres. Tal y como mostramos a continuación. 4. Como podemos observar a continuación hemos elegido una función e pertenencia triangular. VARIABLE DE ENTRADA TEMPERATURA Para la variable temperatura definimos cinco rangos, con la función de pertenencia adecuada. Tenemos que definir el rango máximo en el campo Range y posteriormente ir seleccionando cada uno de los posibles valores de la temperatura y caracterizar el intervalo en el que está definido cada uno de ellos. VARIABLE DE SALIDA VELOCIDAD 5. Introducimos las reglas anteriormente definidas. 6. Ya tenemos definido nuestro sistema, podemos ver las consecuencias que tiene la implantación de las reglas con view Rules o view Surface. VARIABLE DE ENTRADA HUMEDAD Repitiendo el mismo proceso definimos la variable de entrada humedad y la de salida que es la velocidad. Esta lista se podría extender a otros muchos aspectos, pero conviene destacar algunas técnicas que deben seguir evolucionando, ya que volúmenes y estructura de la información en Internet crece cada día considerablemente: Nuevos modelos de representación del conocimiento fuzzy sets en aspectos que todavía no están siendo utilizados. Métodos de agregación de información algoritmos de clasificación como es clustering. écnicas para la generación de ontologías (conceptos de un determinado dominio) lo que conllevará a una gran reducción del tiempo de respuesta. Técnicas de indexación conceptual de documentos. Agentes inteligentes autónomos para realizar servicios en Internet (en búsqueda, chat, correo electrónico, comercio electrónico, envío de datos, multimedia...). Técnicas de gestión y extracción de conocimiento en bases de datos. Y podríamos seguir con infinidad de aplicaciones que se pueden implementar para incremetar la calidad de servicio de Internet. 5. VENTAJAS E INCONVENIENTES DE DICHA LÓGICA. La lógica borrosa en Internet. VENTAJAS Ha sido necesario para abordar la ingente cantidad de datos, recuperar información, “controlar” y gestionar la red, la utilización de tecnologías borrosas. Prueba de ello fue la celebración del primer encuentro sobre lógica borrosa e Internet (FLINT 2001) celebrado en la universidad de Berkeley en el verano de 2001 y organizado por el propio profesor Zadeh. Una importante ventaja de los sistemas borrosos, es que gracias a la simplicidad de los cálculos requeridos (sumas y comparaciones fundamentalmente), normalmente pueden realizarse en sistemas baratos y rápidos, con lo que pueden implementarse en sistemas específicos (por ejemplo, para el control inteligente de un horno microondas o de un sistema de frenado ABS). La idea que se implanto principalmente fue Computing with words, que se trata de técnicas de Soft Computing que engloba a la lógica borrosa, redes neuronales y computación evolutiva como pueden ser los algoritmos genéticos. Los retos acuñados por el profesor Zadeh a conseguir fueron: Técnicas de motores de búsqueda para optimizar dicho tiempo y obteniendo unas mejores prestaciones. Técnicas avanzadas para describir perfiles de usuario para hacer un uso de internet a la carta. Comercio electrónico. Este es uno de los motivos fundamentales del hecho constatado de la existencia en la actualidad de muchas más aplicaciones prácticas funcionando basadas en lógica borrosa que en redes neuronales. No obstante, las ventajas e inconvenientes que cada enfoque puede presentar, el futuro apunta en la dirección de combinar distintas técnicas para resolver problemas complejos. Otra de las grandes ventajas que cabe destacar los excelentes resultados que brinda un sistema de control basado en lógica difusa: ofrece salidas de una forma veloz y precisa, disminuyendo así las transiciones de estados fundamentales en el entorno físico que controle. Por ejemplo, si el aire acondicionado se encendiese al llegar a la temperatura de 30º, y la temperatura actual oscilase entre los 29º-30º, nuestro sistema de aire acondicionado estaría encendiéndose y apagándose continuamente, con el gasto energético que ello conllevaría. Si estuviese regulado por lógica difusa, esos 30º no serían ningún umbral, y el sistema de control aprendería a mantener una temperatura estable sin continuos apagados y encendidos. En las redes neuronales se precisa de un tiempo de aprendizaje para obtener los mejores resultados en la salida. (Al igual que ocurre con los humanos). Múltiples definiciones de operadores y reglas de inferencia difusas. Dificultad de interpretación de valores difusos (semántica no clara). No hay una buena justificación de operadores difusos. 6. REFERENCES INCONVENIENTES [1] http://www.dma.fi.upm.es/java/fuzzy/tutfuzzy/indice.html Ante un problema que tiene solución mediante un modelo matemático, obtenemos peores resultados usando Lógica Difusa, con lo que tenemos que estudiar antes de tomar la solución ante un problema que tipo de problema es, si tiene solución matemática o no y cuanto nos queremos gastar al implementar el sistema. . [2] http://www.monografias.com/trabajos95/masterdireccion/master-direccion.shtml [3] es.wikipedia.org/wiki/Lógica_difusa [4] transparencias de clase