sábado, 11 de mayo de 2013

Sistemas difusos


Desde su aparición en la década de los años 1960 hasta esta primera década del siglo veintiuno, las aplicaciones de la lógica difusa se han ido consolidando, paulatinamente al comienzo, y con un desbordado crecimiento en los últimos años. Se encuentran en soluciones a problemas de control industrial, en predicción de series de tiempo, como metodologías de archivo y búsqueda de bases de datos, en investigación operativa, en estrategias de mantenimiento predictivo y en otros campos más. Las principales razones para tal proliferación de aplicaciones quizás sean la sencillez conceptual de los sistemas basados en lógica difusa, su facilidad para adaptarse a casos particulares con pocas variaciones de parámetros, su habilidad para combinar en forma unificada expresiones lingüísticas con datos numéricos, y el no requerir de algoritmos muy sofisticados para su implementación.



La lógica difusa surge condicionada por una serie de acontecimientos significativos, entre los que se pueden destacar: (1) La crítica de Lukasiewicz (1920) respecto a que las proposiciones contingentes de futuro pueden tomar no sólo dos valores de verdad como consideraba Aristóteles en “De interpretatione”. La proposición "mañana se realizará un golpe de Estado" no es cierta ni falsa, lo cual implicaría una predeterminación, sino que abre el camino a la lógica ternaria o trivalente, añadiendo un tercer valor: la indeterminación. (2) El principio de incertidumbre de Heisenberg (1927). En física no se puede saber de manera simultánea la posición y el impulso de una partícula. Bart Kosko simplifica y explica este principio a partir de la siguiente proposición: “O velocidad o posición”. (3) El redescubrimiento de algunas paradojas griegas por B. Russell: (3a) El mentiroso de Creta. En cierta ocasión, este reconocido mentiroso afirma públicamente: "todos los cretenses son mentirosos". (3b) El montón de arena de Zenón. Este filósofo se plantea en qué momento se deja de tener un montón de arena cuando se va quitando una a una, cada una de las minúsculas partículas de piedra que lo componen. (3c) El barbero de Russell. Según cuenta el filósofo, su barbero afirmaba que: "afeito a todos los que no se afeitan a sí mismos, y sólo a ellos". Pero, ¿quién afeitaba, entonces, al barbero?. (3d) El "conjunto de todos los conjuntos que no son elementos de sí mismo" de Russell. A partir de su definición se plantea la paradójica pregunta de si dicho conjunto pertenece o no a sí mismo. (4) La lógica polivalente o multivalente: El mismo Lukasiewicz y Tarski (1930) generalizaron su lógica trivalente a toda una gama ordenada de valores indeterminados entre lo verdadero (1) y lo falso (0).

Motivado por Zadeh y validado por Mamdani, el uso de los sistemas difusos han sido aplicados en una gran variedad de áreas tales como el control automático, el procesamiento digital de señales, las comunicaciones, los sistemas expertos, la medicina, etc. Sin embargo, las aplicaciones más significativas de los sistemas difusos se han concentrado específicamente en el área del control automático. Esencialmente un sistema difuso, es una estructura basada en conocimiento definida a través de un conjunto de reglas difusas del tipo “si-entonces”, las cuales, contienen una cuantificación lógica difusa de la descripción lingüística del experto de cómo realizar un control adecuado.

El sistema difuso utiliza conjuntos difusos, definidos por la base de reglas difusa, para cuantificar la información en la base de reglas y que el mecanismo de inferencia opera sobre estos conjuntos difusos para producir nuevos conjuntos difusos, por tanto, es necesario especificar como el sistema convertirá las entradas numéricas en conjuntos difusos, un procedimiento llamado codificación difusa, tales que ellos puedan ser utilizados por el sistema difuso. De igual forma, el proceso llamado decodificación difusa describe la correspondencia de un espacio de acciones de control difuso en acciones de control no difuso.

La lógica difusa se adapta mejor al mundo real, e incluso puede comprender y funcionar con expresiones lingüísticas, expresadas en lenguaje natural, del tipo "hace mucho calor", "no es muy alto", "el ritmo del corazón está un poco acelerado", etc. La clave de esta adaptación al lenguaje, se basa en comprender los cuantificadores del lenguaje, en los ejemplos mencionados "mucho", "muy" y "un poco". En la teoría de conjuntos difusos se definen también las operaciones de unión, intersección, diferencia, negación o complemento, y otras operaciones sobre conjuntos, en los que se basa esta lógica. Para cada conjunto difuso, existe asociada una función de pertenencia para sus elementos, que indican en qué medida el elemento forma parte de ese conjunto difuso. Las formas de las funciones de pertenencia más típicas, por su asociación con el modelo de Gauss son: triangular y trapezoidal.

La lógica difusa en términos operativos se basa en reglas heurísticas de la forma Si (antecedente) Entonces (consecuente), donde el antecedente y el consecuente son también conjuntos difusos, ya sea puros o resultado de operar con ellos. Sirvan como ejemplos de regla heurística para esta lógica: (1) Si hace muchísima calor Entonces disminuye drásticamente la temperatura. (2) Si voy a llegar un poco tarde Entonces aumento levemente la velocidad. Los métodos de inferencia para esta base de reglas deben ser simples, veloces y eficaces. Los resultados de dichos métodos constituyen un área final, fruto de un conjunto de áreas solapadas entre sí, donde cada área es resultado de una regla de inferencia. Para escoger una salida concreta a partir de tanta premisa difusa, el método más usado es el del centroide, en el que la salida final será el centro de gravedad del área total resultante. Las reglas de las que dispone el motor de inferencia de un sistema difuso pueden ser formuladas por expertos, o bien aprendidas por el propio sistema.

La estructura de un sistema difuso está constituida por tres bloques principales: el de transformación de los valores numéricos en valores de lógica difusa; el motor de inferencia que emplea las reglas; y el bloque de conversión de los valores de la lógica difusa en valores numéricos. En un sistema basado en lógica difusa se transforman los datos o valores numéricos de la entrada al dominio de las reglas intuitivas y lingüísticas de la lógica difusa para realizar el tratamiento de los mismos y después convertir los resultados en valores numéricos para darles la representación tradicional, puede decirse que un sistema basado en lógica difusa actúa como lo haría una persona que tuviera que reaccionar ante términos tan imprecisos como “caluroso” o “rápido”.

Las etapas principales de los sistemas difusos son: el procedimiento de “codificación difusa” o fusificación y el procedimiento de “decodificación difusa”, también conocido como defusificación. (1) La codificación difusa consiste en la traducción de valores del mundo real al ambiente difuso mediante el uso de funciones de pertenencia. Por ejemplo, si se tiene un paciente con fiebre, es posible plantearse a partir de qué temperatura empieza a tener fiebre. En este contexto es más realista plantear un modelo en el que la situación de fiebre no se restringe sólo a dos valores, hay fiebre o no hay fiebre, sino que se tiene todo un rango de temperaturas posible. Por consiguiente, la primera etapa de tratamiento de un problema para la lógica difusa consiste en modelar cada una de las entradas del sistema con curvas que proporcionen los grados de pertenencia a los diferentes estados identificados anteriormente. Después de realizar la codificación difusa de las variables de entrada y de salida, es necesario establecer reglas que relacionen las entradas con las salidas. Para operar con los conjuntos difusos es necesario definir las operaciones elementales entre ellos. Esto implica definir el modo de calcular las funciones de pertenencia a estos tres conjuntos, intersección o mínimo, unión o máximo y complemento. (2) Después de calcular las reglas difusas y evaluar las variables difusas se necesita trasladar estos valores nuevamente hacia el mundo real. El método más popular de decodificación difusa es el cálculo del centro de gravedad ó centroide, el cual retorna el centro del área bajo la curva.

Los sistemas difusos han demostrado su habilidad para resolver diferentes tipos de problemas tales como control, modelado o clasificación. Asimismo, han sido empleados en un amplio rango de aplicaciones, por ejemplo, procesamiento de señales e imágenes, evaluación de riesgos, recuperación de información, procesos industriales, etc. En muchos de los casos, la clave del éxito era la incorporación del conocimiento experto humano. Sin embargo, muchas de las investigaciones realizadas en el campo durante los años 1990 no contienen capacidad de aprendizaje y adaptación. En la última década, ha existido un gran interés en incluir capacidad de aprendizaje a los sistemas difusos. Esto se ha logrado por medio del desarrollo de técnicas híbridas que incluyen los sistemas difusos junto con técnicas complementarias como lo son las redes neuronales, los algoritmos evolutivos o los métodos probabilísticos.

No hay comentarios: