Que es la lógica Difusa. Que son los conjuntos. Tipos de sistemas de lógica difusa Que es y para qué sirve la inferencia y los controladores difusos. Aplicaciones prácticas de la lógica difusa. Que son Redes neuronales artificiales. Aplicaciones prácticas de las redes neuronales artificiales. Que es MATLAB usos y ambiente de trabajo. Conclusión
LOGICA FUZZY SISTEMAS EXPERTO II UNIVERSIDAD LAICA ELOY ALFARO DE MANABI
DARIO JAVIER CARRANZA ZAMBRANO
¿QUÉ ES LA LÓGICA DIFUSA? La lógica difusa es una metodología que proporciona una manera simple y elegante de obtener una conclusión a partir de información de entrada vaga, ambigua, imprecisa, con ruido o incompleta. En general la lógica difusa imita como una persona toma decisiones basada en información con las características mencionadas. Una de las ventajas de la lógica difusa es la posibilidad de implementar sistemas basados en ella tanto en hardware como en software o en combinación de ambos. La lógica difusa es una técnica de la inteligencia computacional que permite trabajar con información con alto grado de imprecisión, en esto se diferencia de la lógica convencional que trabaja con información bien definida y precisa. Es una lógica multivaluada que permite valores intermedios para poder definir evaluaciones entre si/no, verdadero/falso, negro/blanco, caliente/frío, etc. El concepto de Lógica Difusa fue concebido por Lofti A. Zaded, profesor de la Universidad de California en Berkeley, quién inconforme con los conjuntos clásicos (crisp sets) que sólo permiten dos opciones, la pertenencia o no de un elemento a dicho conjunto, la presentó como una forma de procesar información permitiendo pertenencias parciales a unos conjuntos, que en contraposición a los clásicos los denominó Conjuntos Difusos (fuzzy sets). El concepto de conjunto difuso fue expuesto por Zadeh en un paper del año 1965, hoy clásico en la literatura de la lógica difusa, titulado "Fuzzy Sets" y que fue publicado en la revista Information and Control. El mismo Zadeh publica en 1971 el artículo, "Quantitative Fuzzy Semantics", en donde introduce los elementos formales que acabarían componiendo el cuerpo de la doctrina de la lógica difusa y sus aplicaciones tal como se conocen en la actualidad. Zadeh dice: "La lógica difusa trata de copiar la forma en que los humanos toman decisiones. Lo curioso es que, aunque baraja información imprecisa, esta lógica es en cierto modo muy precisa: se puede aparcar un coche en muy poco espacio sin darle al de atrás. Suena a paradoja, pero es así." El profesor Zadeh menciona que la gente no requiere información numérica precisa del medio que le rodea para desarrollar tareas de control altamente adaptables, por ejemplo conducir un automóvil o caminar por una acera sin chocarse con los postes y las otras personas. Si los controladores convencionales, en esencia realimentados, se pudieran programar para aceptar entradas con ruido e imprecisas ellos podrían trabajar de una manera más eficiente y quizás se podrían implementar más fácilmente.
CONJUNTOS DIFUSOS El concepto clave para entender cómo trabaja la lógica difusa es el de conjunto difuso, se puede definir un conjunto difuso de la siguiente manera. Teniendo un posible rango de valores al cual llamaremos U, por ejemplo U=Rn, donde Rn es un espacio de n dimensiones, a U se le denominara Universo de Discurso. En U se tendrá un conjunto difuso de valores llamado F el cual es caracterizado por una función de pertenencia uf tal que uf:U->[0, 1], donde uf(u) representa el grado de pertenencia de un u que pertenece a U en el conjunto difuso F. Por ejemplo, supongamos que se desea representar con conjuntos difusos la variable altura de una persona, en este caso el universo de discurso será el rango de posibles valores de la altura que tenga un persona adulta, se escogerá un rango entre 140cm y 200cm, valores por fuera de este rango son posibles pero son muy escasos. El universo de discurso U = [140, 200], para denominar los conjuntos difusos se suelen trabajar con etiquetas lingüísticas similares a las que se usan de manera coloquial, por ejemplo en la vida diaria decimos que una persona es Muy Baja (MB), Baja (B), Mediana (M), Alta (Alta) y Muy Alta (MA) Etique Rango [min, max] ta MB [140,160] B [160,170] M [170,180] A [180,190] MA [190,200]
Figura No. 1 Conjuntos difusos para la altura de una persona Si en el ejemplo anterior se desea trabajar con conjuntos clásicos (crisp) se tienen dos opciones: alguien Alto (A) o Bajo (B). Se supondrá que alguien Alto si mide más de 170cm es caso contrario es bajo Figura No. 2 Conjuntos crips para la altura de una persona
TIPOS DE SISTEMAS DE LOGICA DIFUSA Los sistemas de lógica difusa tienen una estrecha relación con los conceptos difusos tales como conjuntos difusos, variables lingüísticas y demás. Los más populares sistemas de lógica difusa que se encuentran en la literatura se encuentran en unos de los siguientes tipos: sistemas difusos tipo Mamdani (con fuzzificador y defuzzificador ) o sistemas difusos tipo Takagi-Sugeno. SISTEMAS TIPO MAMDANI En la figura se muestra la configuración básica de un sistema tipo Mamdani
Sistema Difuso Mamdani, Procesamiento General En un sistema difuso tipo Mamdani se distinguen las siguientes partes: Fuzzificador La entrada de un sistema de lógica difusa tipo Mamdani normalmente es un valor numérico proveniente, por ejemplo, de un sensor; para que este valor pueda ser procesado por el sistema difuso se hace necesario convertirlo a un "lenguaje" que el mecanismo de inferencia pueda procesar. Esta es la función del fuzzificador, que toma los valores numéricos provenientes del exterior y los convierte en valores "difusos" que pueden ser procesados por el mecanismo de inferencia. Estos valores difusos son los niveles de pertenencia de los valores de entrada a los diferentes conjuntos difusos en los cuales se ha dividido el universo de discurso de las diferentes variables de entrada al sistema. Mecanismo de inferencia difusa Teniendo los diferentes niveles de pertenencia arrojados por el fuzzificador, los mismos deben ser procesados para generar una salida difusa. La tarea del sistema de inferencia es tomar los niveles de pertenencia y apoyado en la base de reglas generar la salida del sistema difuso. Base de Reglas Difusas La base de reglas es la manera que tiene el sistema difuso de guardar el conocimiento lingüístico que le permiten resolver el problema para el cual ha sido diseñado. Estas
reglas son del tipo IF-THEN. Una regla de la base de reglas o base de conocimiento tiene dos partes, el antecedente y la conclusión como se observa en la siguiente figura:
En un sistema difuso tipo Mamdani tanto el antecedente como el consecuente de las reglas están dados por expresiones lingüísticas. Defuzzificador La salida que genera el mecanismo de inferencia es una salida difusa, lo cual significa que no puede ser interpretada por un elemento externo (por ejemplo un controlador) que solo manipule información numérica. Para lograr que la salida del sistema difuso pueda ser interpretada por elementos que solo procesen información numérica, hay que convertir la salida difusa del mecanismos de inferencia; este proceso lo realiza el defuzzificador. La salida del mecanismo de inferencia es un conjunto difuso, para generar la salida numérica a partir de este conjunto existen varias opciones como el
Centro de Gravedad y los Centros Promediados entre otros. En el siguiente gráfico se muestra de manera más detallada como es el funcionamiento de un sistema difuso Mamdani
SISTEMAS TIPO SUGENO Otra alternativo de procesamiento en los sistemas difusos fue la propuesta por Sugeno en los sistemas difusos que llevan su nombre.
En los sistemas difusos Sugeno se distinguen las siguientes partes: Fuzzificador Realiza la misma función que en los sistemas Mamdani explicados anteriormente Mecanismo de inferencia difusa Realiza la misma función que en los sistemas Mamdani explicados anteriormente Base de Reglas Difusas Las reglas de la base de conocimiento de un sistema Sugeno es diferente a las de los sistemas Mamdani pues el consecuente de estas reglas ya no es una etiqueta lingüística sino que es una función de la entrada que tenga el sistema en un momento dado, esto se ilustra a continuación:
En los sistemas difusos tipo Sugeno, los valores que arrojan los consecuentes de las diferentes reglas que se han activado en un momento determinado ya son valores numéricos, por lo que no se necesita una etapa de deffuzificación. Para calcular la salida del sistema difuso se ponderan los diferentes consecuentes teniendo en cuenta el valor que se activó el antecedente de cada una de las reglas, para un sistema con dos reglas la salida del sistema difuso sería: Cálculo de la Salida de un Sistema Difuso Sugeno En este caso:
Serían las funciones que permiten calcular el consecuente de cada una de las dos reglas implicadas. En el siguiente gráfico se muestra de manera más detallada como es el funcionamiento de un sistema difuso Sugeno.
QUE ES EL CONTROLADOR DIFUSO El Control Constitucional es un mecanismo que consiste en verificar si las leyes contradicen a la Constitución por el fondo o por la forma. El control de la legalidad tiene la misma finalidad respecto a las normas de inferior jerarquía. Además, el control de la constitucionalidad y de la legalidad de las normas jurídicas comprende también la protección de los derechos fundamentales de la persona consagrados en la Constitución. Doctrinariamente y en la práctica existen dos sistemas de control de la constitucionalidad y legalidad de las normas jurídicas, según sea el órgano al cual la Constitución encargue dicho cometido. Uno de ellos se denomina CONTROL CONCENTRADO porque se crean órganos constitucionales con la específica finalidad de ejercer el control de la constitucionalidad de las leyes; y, el otro sistema se llama CONTROL DIFUSO, porque cualquier operador del derecho, en caso de conflicto entre una norma de superior jerarquía con otra de inferior jerarquía, debe preferir la primera al resolver un caso concreto. Por su origen, al primer sistema se le llama austriaco o europeo y al segundo americano. Con la evolución de los sistemas de control, diversas Constituciones, entre ellas la nuestra, establecen ambos sistemas, puesto que no son incompatibles, no obstante que difieren en cuanto a sus efectos, pues en el sistema concentrado la sentencia que declara la inconstitucionalidad de la ley deroga la ley inconstitucional; mientras que en el sistema americano o difuso el órgano que debe resolver, que puede ser el órgano jurisdiccional, inaplica la ley inconstitucional al caso concreto del que está conociendo, pero la norma queda vigente. PARA QUÉ SIRVE LA INFERENCIA Una inferencia es una evolución que realiza la mente entre proposiciones. En lógica formal, son expresiones bien formadas (EBF) de un lenguaje formal que, al ser relacionadas, permiten trazar una línea lógica de condición o implicación lógica entre las diferentes EBF. De esta forma, parte de lo verdadero a lo falso: posible (como hipótesis) o conocida (como argumento) de alguna o algunas de ellas, puede deducirse la verdad o falsedad de alguna o algunas de las otras EBF. Surge así lo que conocemos como postulado o transformada de una expresión original conforme a reglas previamente establecidas, que puede enmarcarse en uno o varios
contextos referenciales diversos, obteniéndose en cada uno de ellos un significado como valor de verdad de equivalente. CONTROLADORES DIFUSOS:
CONTROL DIFUSO MANDAMI
Estos modelos se basan en un conjunto de reglas heurísticas donde las variables lingüísticas de las entradas y salidas se representan por conjuntos difusos. La siguiente figura muestra las principales componentes de un controlador difuso: interfaz de fusificación, base de conocimiento, motor de inferencia e interfaz de defusificación (Lee, 1990).
Interfaz de fusificación. Este elemento transforma las variables de entrada del modelo (y) en variables difusas. Para esta interfaz se deben tener definidos los rangos de variación de las variables de entrada y los conjuntos difusos asociados con sus respectivas funciones de pertenencia. Base de conocimientos. Contiene las reglas lingüísticas del control y la información referente a las funciones de pertenencia de los conjuntos difusos. Estas reglas lingüísticas, tienen típicamente la siguiente forma: Si x1 es A y x2 es B entonces u es C Donde A, B y C son los conjuntos difusos de las variables de entrada x1 y x2, y de la variable de salida u respectivamente. Existen varias formas de derivar las reglas (Lee, 1990), entre las que destacan las basadas en: 1. La experiencia de expertos y el conocimiento de ingeniería de control. La base de reglas se determina a partir de entrevistas con el operador o a través del conocimiento de la dinámica del proceso. 2. La modelación del proceso. Los parámetros de la base de conocimiento se obtienen a partir de datos de entrada y salida del proceso.
Motor de inferencia. Realiza la tarea de calcular las variables de salida a partir de las variables de entrada, mediante las reglas del controlador y la inferencia difusa, entregando conjuntos difusos de salida. Por ejemplo, dada una base de conocimiento con n reglas del tipo: Si u1 es Ai y u2 es Bi entonces y es Ci La secuencia de cálculos que realiza el motor de inferencia incluye: 1. Determinar el grado de cumplimiento Wi de cada regla a partir de los grados de pertenencia de las variables de entrada obtenidos en la etapa de fusificación, es decir, Wi = min(uAi ,uBi ) debido a que las premisas de la reglas están unidos por operadores AND, definidos como la intersección de conjuntos difusos. 2. Para cada regla se tiene una consecuencia "y es Ci", que tiene asociado una función de pertenencia UCi. Por lo tanto, se tiene un conjunto de salida C'i, cuya función de pertenencia es: uC'i = min (Wi ,UCi ) donde Wi es el grado de cumplimiento para la regla i. 3. Para evaluar el conjunto total de reglas, se unen los conjuntos difusos C'i resultantes de cada regla, generándose un conjunto de salida con la siguiente función de pertenencia: U U i = 1,...,n C' C'i = max( ) De esta forma, se obtiene una salida difusa del controlador, con una función de pertenencia U C'. Interfaz de defusificación. Este elemento provee salidas discretas y determinísticas a partir de los conjuntos difusos C' obtenidos como resultado de la inferencia. Existen diferentes métodos de defusificación, algunos de los cuales se describen a continuación:
Método del máximo. La salida corresponde al valor para el cual la función de pertenencia UC' alcanza su máximo. Media del máximo. La salida es el promedio entre los elementos del conjunto C' que tienen un grado de pertenencia máximo. Centro de área. Genera como salida el valor correspondiente al centro de gravedad de la función de pertenencia del conjunto de salida C'.
Ejemplo Reglas Si x es A e y es B entonces z es C R1 Si x es A1 e y es B2 entonces z es C2 x = 10 y = 26 z?
Ejemplo 2 Modelación de las acciones de control de un operador de un horno cementero. En la siguiente figura se presenta un diagrama del proceso, donde el carbón proveniente de un molino, alimenta una tolva y es transportado hacia el horno. El ventilador primario sirve para mantener la llama en la zona de cocción.
La mezcla, que permite la formación de los compuestos del cemento, se desplaza desde la parte posterior del horno (derecha de la figura) en contracorriente al flujo de calor, calcinándose y cociéndose, hasta obtenerse el clinker o producto final del horno que pasa posteriormente al enfriador. El ventilador de inducción sirve para succionar los gases producidos en la
combustión. El diagrama muestra las variables de entrada y de salida del proceso:
El flujo de alimentación del carbón (CS) La velocidad del ventilador de inducción (BF) La velocidad del horno (KS) El porcentaje de monóxido de carbono en los gases (CO) La temperatura de los gases en la zona intermedia (RT) El porcentaje de oxígeno en los gases (O2) La temperatura de los gases en la zona posterior (BT) El porcentaje de óxido nitroso en los gases (NOx)
Experimentalmente, se ha comprobado que la dinámica de este sistema es no lineal, con retardos, fuertes interacciones y muy dependiente de las condiciones iniciales. A partir de la experiencia de operadores para hornos cementeros, se puede deducir, en términos generales, que el flujo de carbón es la variable manipulada que produce el mayor efecto. Por ejemplo, un aumento de CS genera: Una disminución de O2 y CO Un aumento de las temperaturas RT y BT, y del NOx Por su parte, un aumento en BF Aumenta el O2, CO y BT Disminuye RT y NOx Al aumentar KS, aumentan RT y BT. A partir de estas afirmaciones, una regla que representa las acciones de control del operador puede ser: Si CO es alto entonces CS aumenta y BF disminuye CONTROLADORES PI DIFUSOS La Figura presenta un diagrama de un controlador PI difuso incremental, donde las entradas son el error e(k) = ref − y(k) y su tasa de cambio de(k) = e(k) − e(k − 1) , y la salida es el cambio incremental en la variable manipulada du(k).
Los parámetros del controlador son las ganancias GE, GR y GU, que multiplican a e(k), de(k) y du(k) respectivamente. En general, estos controladores presentan las siguientes características: dos o siete conjuntos difusos para las variables de entrada, tres o siete conjuntos difusos para la variable de salida, funciones de pertenencia triangulares, fusificación con universos continuos, implicación utilizando operador min, inferencia basada en implicancia difusa y defusificación por el método de la media de los máximos
modificada. Este tipo de controlador difuso se deriva a partir del comportamiento deseado del sistema en lazo cerrado. En la siguiente figura se aprecia la respuesta tĂpica de un sistema controlado, donde las entradas al controlador son e(k) y de(k), y la salida es du(k).
Analizando en detalle esta respuesta se pueden observar diferentes situaciones. Considerando el valor de e(k) y el signo de de(k), se tienen los casos presentados en la tabla 1(a). AdemĂĄs, existen dos tipos de situaciones especiales, cuando el error e(k) es cero y cuando su tasa de cambio de(k) es cero. Estas situaciones se muestran en las siguientes figuras y en las tablas 1(b) y 1 (c). Tabla 1: Situaciones de las variables e(k) y de(k)
A partir de estas condiciones, se puede configurar una tabla en funciĂłn de las variables de entrada del controlador (ver Tabla 2). En ella se consideran siete conjuntos difusos NB ("Negative Big"), NM ("Negative Medium"), NS ("Negative Small"), ZE ("Zero"), PS ("Positive Small"), PM ("Positive Medium") y PB ("Positive Big") para las variables de entrada que describen los estados <<<, >> y >>> 0, respectivamente.
Tabla 2: Diagrama de estados e(k) y de(k).
Las acciones de control, es decir, los incrementos en la variable manipulada, se definen a partir de la proposición de MacVicar-Whelan (1976), como lo muestra la Tabla 3. Por ejemplo, para el elemento de la tercera fila y sexta columna, la regla de control se interpreta como: "Si el error es negativo pequeño y la variación incremental del error es positiva mediana, entonces hacer positiva pequeña la variación incremental en el control". Tabla 3: Reglas de control PI difuso.
El diseño de un controlador difuso PI incluye, además de definir las reglas de control, determinar las funciones de pertenencia de cada conjunto difuso. En general, se utilizan funciones triangulares como se muestran en la siguiente figura, donde el universo varía entre -L y L, siendo L un factor de escalamiento de las variables.
Los principales parámetros de sintonía de estos controladores son las ganancias GE, GR y GU. Existen diversos trabajos que describen la equivalencia entre un controlador PI convencional y un controlador PI difuso (Tang, 1987). CONTROL BASADO EN MODELOS DE TAKAGI & SUGENO
Los modelos difusos propuestos por Takagi y Sugeno (1985), tienen la particularidad de que las consecuencias de cada regla son ecuaciones lineales. Esta característica permite que para cada subespacio lineal o regla del modelo, se pueda derivar un controlador basado en la teoría de control lineal. Por lo tanto, se puede obtener un controlador difuso, que combine las acciones de los controladores lineales de cada regla. La secuencia de pasos, propuesta por Sugeno y Kang (1986), para diseñar un controlador basado en modelo difuso consiste en: a) Identificar un modelo basado en reglas como el siguiente:
b) Por último, cabe mencionar que para calcular la acción de control final se utiliza la ponderación de la salida de cada regla por su respectivo grado de cumplimiento Wi . De esta manera, la acción de control final u es:
donde Wi es el grado de activación de la regla i y M es el número de reglas del modelo difuso. CONTROLADOR LQR DIFUSO Control lineal cuadrático (LQR): El diseño del controlador lineal cuadrático (LQR: "Linear Quadratic Regulator") se realiza considerando un modelo lineal en variables de estado del sistema y minimizando la siguiente función de costos (Astrom, 1984):
donde x es el vector de variables de estado, u es la variable manipulada. La solución de este problema se obtiene resolviendo la siguiente ecuación de Ricatti para la matriz P: donde A y B son las matrices del modelo en variables de estado linealizado. De esta manera, el control obtenido está dado por: u = −Kx donde K= R-1 BT P
Para el diseño del controlador LQR difuso, se considera el siguiente modelo difuso en variables de estado:
donde Zj son las variables de entrada del modelo difuso y x es el vector de variables de estado Por lo tanto, el controlador basado en un modelo difuso consiste en una base de reglas con la siguiente estructura:
donde la ley de control fi corresponde a un controlador lineal cuadrático obtenido a partir del modelo lineal en variables de estado para cada regla i del modelo difuso Entonces,
CONTROLADOR BASADO EN MODELOS DIFUSOS POR UBICACIÓN DE POLOS Debido a que las consecuencias de los modelos difusos de Takagi & Sugeno son sistemas lineales, se puede diseñar controladores en variables de estado difusos por asignación de polos (Kang y Lee, 1995). En este caso, se considera el siguiente modelo difuso de Takagi & Sugeno en variables de estado:
Entonces, el vector en variables de estado a partir del modelo difuso es:
El controlador difuso está compuesto por las premisas del modelo difuso. Entonces, la base de reglas del controlador está dada por:
donde Gi es una matriz de ganancia realimentada en el estado.
CONTROLADOR LQR DIFUSO PARA UN PENDULO INVERTIDO
El péndulo invertido está compuesto por una viga montada sobre un carro que desliza sobre un riel. El motor de corriente continua permite ejercer la fuerza sobre el sistema y un pontenciómetro acoplado a él por un mecanismo de engranaje mide la posición del carro. Además, un potenciómetro montado en el eje de rotación permite medir el ángulo del péndulo con respecto a la vertical. Se considera como variables de entrada al controlador o variables controladas el ángulo y la velocidad angular del péndulo, y la variable de salida o manipulada es la fuerza aplicada al motor. No se considera el control de la posición del carro. Controlador LQR difuso: En este caso, para diseñar el controlador difuso para la estabilización angular de un péndulo invertido se deriva el siguiente modelo difuso del proceso: Ri: Si x1 es Ai y x2 es Bi
Donde X1 y X2 son las variables de estado del proceso α y α , u es la variable manipulada F. Además, Ai y Bi son los conjuntos difusos para X 1 y X2 respectivamente. En este caso, debido a que el proceso es inestable y no es posible la obtención de datos en lazo abierto, en vez de realizar una identificación del modelo por alguno de los métodos descritos anteriormente, los coeficientes a ij, bj y cj son determinados a partir de la linealización de la siguiente ecuación fenomenológica del proceso en torno a diferentes puntos de operación.
Por lo tanto, el controlador basado en un modelo difuso consiste en una base de reglas con la siguiente estructura:
Donde kj i son los coeficientes de la regla i para la variable de estado j, (j =1,2) y ko i es un sesgo dado por la diferencia entre el punto de operación utilizado para la linealización correspondiente a la regla i y el estado de equilibrio (α = 0, α = 0). Los puntos de operación para la linealización se presentan en la siguiente tabla.
Los parámetros de las funciones de pertenencia (ver figura) han sido determinados mediante un procedimiento de prueba y error, y sus valores se presentan en la siguiente tabla.
Funciones de pertenencia Parámetros de las premisas
Los coeficientes de las consecuencias, correspondientes a los de un controlador LQR para cada regla, se presentan a continuación. Coeficientes de las consecuencias
En las siguientes figuras, se presentan los resultados del LQR difuso para el péndulo invertido.
Condiciones iniciales: α0 = (10°) 0.1745 rad, α 0 = 0. Verde :LQR, Azul: LQR difuso.
Condiciones iniciales: α0 = (20°) 0.349 rad, α 0 = (40°/seg) 0.6981. Verde :LQR, Azul: LQR difuso. En la siguiente tabla se presentan los valores de la función de costos del regulador LQR, para todas las pruebas realizadas con diferentes condiciones iniciales. Valores de la función de costos.
Finalmente, tomando en cuenta las figuras y los valores de la función de costos podemos decir que el controlador lineal cuadrático difuso (LQR difuso) presenta el mejor desempeño en las pruebas por simulación.
APLICACIONES PRÁCTICAS DE LA LÓGICA DIFUSA Pese a la sencillez conceptual y algorítmica de la Lógica Difusa [4, 6, 9, 10, 1l] y a que los campos en que se ha aplicado con éxito son múltiples y variados [1, 8, 12], aún en el medio académico colombiano el término "Lógica Difusa" tiene un halo de misterio injustificado que ha dificultado su ingreso en ciertas áreas del conocimiento. El propósito de este artículo es el de recoger unas pocas aplicaciones conocidas en la literatura especializada basadas en distintas estrategias de lógica difusa. Se han seleccionado aplicaciones de áreas muy diversas, buscando así resaltar que la Lógica Difusa puede entenderse como una herramienta matemática cuya amplia aplicabilidad se basa en la concepción de conjuntos con fronteras no exactas [4, 7]. Se presentarán en este artículo un Controlador Difuso Adaptativo, un Identificador de Imágenes Aéreas que emplea un algoritmo de agrupamiento difuso, una Base de Datos Difusa, y un experimento de psicología cognocitiva inspirado en la lógica difusa. Todos estos ejemplos han sido tomados de la literatura técnica, específicamente de [16, 15, 12 Y 13] respectivamente. Una de las ventajas que suelen mencionarse de los Controladores Difusos, frente a otro tipo de controladores, es que pueden diseñarse aunque no se tenga un modelo matemático exacto de la Planta a controlar, gracias a que están basados en reglas. Esta situación, sin embargo, no es del todo sencilla: el no tener un modelo matemático de la Planta implica no poder realizar simulaciones sobre la misma, de tal manera que los ajustes del controlador deben realizarse en línea. Este hecho ha promovido la aparición de controladores autoajustables, que cuentan con algún algoritmo que les permite evaluar su desempeño, y de acuerdo con cierto criterio ajustar su diseño. Estos algoritmos de autoajuste (también conocidos como algoritmos de autosintonía) son muy útiles también en situaciones en las que la Planta a controlar varía en el tiempo, lo que implica que el controlador deba ajustarse a dichos cambios. Cuando un Controlador Difuso cuenta con un algoritmo de autoajuste, se dice que es un Controlador Difuso Adaptativo. Sin embargo, existen Controladores con otros algoritmos que no son exactamente de autoajuste, y que podríamos llamar de entrenamiento, que algunos autores denominan también Controladores Difusos Adaptativos.
QUE SON REDES NEURONALES ARTIFICIALES. En las Redes Neuronales Artificiales, ANN, la unidad análoga a la neurona biológica es el elemento procesador,PE (process element). Un elemento procesador tiene varias entradas y las combina, normalmente con una suma básica. La suma de las entradas es modificada por una función de transferencia y el valor de la salida de esta función de transferencia se pasa directamente a la salida del elemento procesador. La salida del PE se puede conectar a las entradas de otras neuronas artificiales (PE) mediante conexiones ponderadas correspondientes a la eficacia de la sinapsis de las conexiones neuronales. La Figura (1.2) representa un elemento procesador de una red neuronal artificial implementada en un ordenador.
Figura (1.2) - Diagrama de una Neurona Artificial (PE). Una red neuronal consiste en un conjunto de unidades elementales PE conectadas de una forma concreta. El interés de las ANN no reside solamente en el modelo del elemento PE sino en las formas en que se conectan estos elementos procesadores. Generalmente los elementos PE están organizados en grupos llamados niveles o capas. Una red típica consiste en una secuencia de capas con conexiones entre capas adyacentes consecutivas. Existen dos capas con conexiones con el mundo exterior. Una capa de entrada, buffer de entrada, donde se presentan los datos a la red, y una capa buffer de salida que mantiene la respuesta de la red a una entrada. El resto de las capas reciben el nombre de capas ocultas. La Figura (1.3) muestra el aspecto de una Red Neuronal Artificial.
Figura (1.3) - Arquitectura de una Red Neuronal Simple.
APLICACIONES PRÁCTICAS DE LAS REDES NEURONALES ARTIFICIALES. Las características especiales de los sistemas de computación neuronal permiten que sea utilizada esta nueva técnica de cálculo en una extensa variedad de aplicaciones. La computación neuronal provee un acercamiento mayor al reconocimiento y percepción humana que los métodos tradicionales de cálculo. Las redes neuronales artificiales presentan resultados razonables en aplicaciones donde las entradas presentan ruido o las entradas están incompletas. Algunas de las áreas de aplicación de las ANN son las siguientes:
Análisis y Procesado de señales
Reconocimiento de Imágenes
Control de Procesos
Filtrado de ruido
Robótica
Procesado del Lenguaje
Diagnósticos médicos
Otros
Conversión Texto a Voz: uno de los principales promotores de la computación neuronal en esta área es Terrence Sejnowski. La conversión texto-voz consiste en cambiar los símbolos gráficos de un texto en lenguaje hablado. El sistema de computación neuronal presentado por Sejnowski y Rosemberg, el sistema llamado NetTalk, convierte texto en fonemas y con la ayuda de un sintetizador de voz (Dectalk) genera voz a partir de un texto escrito. La ventaja que ofrece la computación neuronal frente a las tecnologías tradicionales en la conversión texto-voz es la propiedad de eliminar la necesidad de programar un complejo conjunto de reglas de pronunciación en el ordenador. A pesar de que el sistema NetTalk ofrece un buen comportamiento, la computación neuronal para este tipo de aplicación abre posibilidades de investigación y expectativas de desarrollo comercial. Procesado Natural del Lenguaje: incluye el estudio de cómo se construyen las reglas del lenguaje. Los científicos del conocimiento Rumelhart y McClelland han integrado una red neuronal de proceso natural del lenguaje. El sistema realizado ha aprendido el tiempo verbal pass tense de los verbos en Inglés. Las características propias de la computación neuronal como la capacidad de generalizar a partir de datos incompletos y la capacidad de abstraer, permiten al sistema generar buenos pronósticos para verbos nuevos o verbos desconocidos. Compresión de Imágenes: la compresión de imágenes es la transformación de los datos de una imagen a una representación diferente que requiera menos memoria o que se pueda reconstruir una imagen imperceptible. Cottrel, Munro y Zisper de la Universidad de San Diego y Pisttburgh han diseñado un sistema de compresión de imágenes utilizando una red neuronal con un factor de compresión de 8:1.
Reconocimiento de Caracteres: es el proceso de interpretación visual y de clasificación de símbolos. Los investigadores de Nestor, Inc. han desarrollado un sistema de computación neuronal que tras el entrenamiento con un conjunto de tipos de caracteres de letras, es capaz de interpretar un tipo de carácter o letra que no haya visto con anterioridad. Reconocimiento de Patrones en Imágenes: una aplicación típica es la clasificación de objetivos detectados por un sonar. Existen varias ANN basadas en la popular Backpropagation cuyo comportamiento es comparable con el de los operadores humanos. Otra aplicación normal es la inspección industrial. Problemas de Combinatoria: en este tipo de problemas la solución mediante cálculo tradicional requiere un tiempo de proceso (CPU) que es exponencial con el número de entradas. Un ejemplo es el problema del vendedor; el objetivo es elegir el camino más corto posible que debe realizar el vendedor para cubrir un número limitado de ciudades en una área geográfica específica. Este tipo de problema ha sido abordado con éxito por Hopfield y el resultado de su trabajo ha sido el desarrollo de una ANN que ofrece buenos resultados para este problema de combinatoria. Procesado de la Señal: en este tipo de aplicación existen tres clases diferentes de procesado de la señal que han sido objeto de las ANN como son la predicción, el modelado de un sistema y el filtrado de ruido. Predicción: en el mundo real existen muchos fenómenos de los que conocemos su comportamiento a través de una serie temporal de datos o valores. Lapedes y Farber del Laboratorio de Investigación de los Álamos, han demostrado que la red backpropagation supera en un orden de magnitud a los métodos de predicción polinómicos y lineales convencionales para las series temporales caóticas. Modelado de Sistemas: los sistemas lineales son caracterizados por la función de transferencia que no es más que una expresión analítica entre la variable de salida y una variable independiente y sus derivadas. Las ANN también son capaces de aprender una función de transferencia y comportarse correctamente como el sistema lineal que está modelando. Filtro de Ruido: las ANN también pueden ser utilizadas para eliminar el ruido de una señal. Estas redes son capaces de mantener en un alto grado las estructuras y valores de los filtros tradicionales. Modelos Económicos y Financieros: una de las aplicaciones más importantes del modelado y pronóstico es la creación de pronósticos económicos como por ejemplo los precios de existencias, la producción de las cosechas, el interés de las cuentas, el volumen de las ventas etc. Las redes neuronales están ofreciendo mejores resultados en los pronósticos financieros que los métodos convencionales. ServoControl: un problema difícil en el control de un complejo sistema de servomecanismo es encontrar un método de cálculo computacional aceptable para compensar las variaciones físicas que se producen en el sistema. Entre los
inconvenientes destaca la imposibilidad en algunos casos de medir con exactitud las variaciones producidas y el excesivo tiempo de cálculo requerido para la obtención de la solución matemática. Existen diferentes redes neuronales que han sido entrenadas para reproducir o predecir el error que se produce en la posición final de un robot. Este error se combina con la posición deseada para proveer una posición adaptativa de corrección y mejorar la exactitud de la posición final.
QUE ES MATLAB USOS Y AMBIENTE DE TRABAJO. MATLAB constituye actualmente un estándar dentro de las herramientas del análisis numérico, tanto por su gran capacidad y sencillez de manejo como por su enorme versatilidad y difusión. En esta primera sesión el objetivo es aprender los fundamentos del: operaciones básicas, gráficos elementales, etc. Al final de la sesión debemos estar en condiciones de crear también ficheros guion (“script”) y funciones sencillas. Dadas las características especiales de esta primera prácticas no existe estudio previo. Sin embargo, se recomienda disponer de algún medio de almacenamiento externo donde guardar los ficheros relacionados con las prácticas. USO DE MATLAB Al iniciar una sesión MATLAB observaremos el espacio de trabajo como en la Figura 1, compuesto por varias ventanas. La más grande de ellas, que se encuentra a la derecha, es la ventana de comandos. Una vez que MATLAB está listo para funcionar aparece la señal de espera de entrada (“prompt”) en forma de >>. Podemos modificar la carpeta activa seleccionándola en la pestaña de “Current directory”. Ahora los ficheros de su carpeta activa son visibles desde MATLAB, en la ventana superior izquierda. Para finalizar la sesión bastara con teclear exit o quit, o simplemente cerrar la ventana de MATLAB (indistintamente). El programa se cerrara y volverá a la pantalla principal de Windows.
FIGURA 1: ENTORNO DE MATLAB. Es conveniente también hacer uso intensivo de la ayuda de MATLAB accediendo a ella desde el menú o tecleando en la ventana de comandos help para la ayuda sobre el comando especificado por. Por ejemplo,
>> help help, invoca la ayuda sobre la propia ayuda en línea. Se pueden usar las flechas ↑ y ↓ para evocar los comandos introducidos anteriormente. Las letras mayúsculas y las minúsculas para MATLAB no son equivalentes: valor y Valor son dos variables diferentes. Los nombres de las variables tienen que comenzar con una letra, pueden contener hasta 63 caracteres (letras, números y barra baja, pero no signos de puntuación). También se prohíbe usar las palabras reservadas for end if while function return elseif case otherwise switch continue else try catch global persistent break, como nombre de variables. Teclear el nombre de una variable hará que MATLAB devuelva su valor. Un punto y coma (;) al final final de cualquier expresión suprime la salida del resultado por la pantalla (pero no la evaluación de dicha expresión). En MATLAB se puede usar tanto paréntesis ( ) como corchetes [ ], pero ´estos tienen significados diferentes: los paréntesis sirven para agrupar expresiones e indicar los argumentos de funciones, mientras que los corchetes especifican listas, vectores y matrices. Cualquier cálculo se puede abortar pulsando Ctrl-C.
CONCLUSIONES DEL TRABAJO Para concluir diremos que la utilización de la lógica difusa para el control de sistemas tiene sus ventajas y desventajas, y por lo tanto hay que conocerlas y analizarlas, entre otras plantearemos las siguientes: Con los sistemas basados en la lógica difusa se pueden evaluar mayor cantidad de variables, entre otras, variables lingüísticas, no numéricas, simulando el conocimiento humano. Se relaciona entradas y salidas, sin tener que entender todas las variables, permitiendo que el sistema pueda ser más confiable y estable que uno con un sistema de control convencional. Se puede simplificar la asignación de soluciones previas a problemas sin resolver. Es posible obtener prototipos rápidamente, ya que no requiere conocer todas las variables acerca del sistema antes de empezar a trabajar, siendo su desarrollo más económico que el de sistemas convencionales, porque son más fáciles de designar. Se simplifica también la adquisición y representación del conocimiento y unas pocas reglas abarcan gran cantidad de complejidades. Por todo lo anterior, que por un lado puede ser una ventaja y por otro un posible riesgo, los sistemas basados en la lógica difusa requieren mayor simulación y una excelente depuración y prueba antes de pasar a ser operacionales. Podríamos resumir que la utilización de la lógica difusa es aconsejable para procesos muy complejos, es decir, cuando se carece de un modelo matemático simple o para procesos altamente no lineales. Pero quizá es mejor evitar su uso si el control convencional teóricamente rinde un resultado satisfactorio, o cuando existe un modelo matemático fácilmente soluble y adecuado o también cuando el problema no tiene solución. Un sistema de Lógica Difusa se basa más en la intuición del diseñador que en la precisión y el rigor matemático. Debido a esto, los controladores con Lógica Difusa pueden ser más sencillos, económicos y flexibles que los tradicionales. Finalmente, según explica el mismo Zadeh: “los algoritmos basados en lógica difusa para operaciones de control, seguirán logrando buena aceptación porque los convencionales, en general, no permiten enfrentarse con la complejidad y con la naturaleza mal definida de los sistemas a gran escala. La teoría de control ha de evolucionar hacia una menor preocupación por los problemas matemáticos y por la precisión y una mayor tendencia hacia el desarrollo de soluciones aproximadas o de calidad para los problemas del mundo real".