diciembre 28, 2013

Historia de la Lógica Transcursiva (Capítulo 77)

Cuaderno IV (páginas 459 a 464)

(Continuamos con los conceptos manados de la Ingeniería Difusa de Kosko)

Conjuntos y sistemas difusos: un conjunto contiene 'objetos'. Un conjunto es una primitiva teórica de las matemáticas, como el símbolo es una primitiva teórica de la lógica. El conjunto A contiene x en algún grado entre [0,1]; en cambio, un conjunto binario contiene x, todos o ninguno. El conjunto discreto (100110) contiene solo 3 de 6 objetos posibles. El conjunto discreto difuso (1, ¾, ⅔, ⅓, ¼, 0) contiene 5 objetos, de los cuales 1, totalmente o nada, y los otros 4 solo parcialmente. Podemos extender estas distinciones de conjunto al caso continuo, donde los conjuntos son subgrupos de la línea real. {es decir, infinitos}

Consideremos el funcionamiento de un simple acondicionador de aire, desde el punto de vista lógico. La temperatura del aire define la variable difusa o variable 'lingüística'. El aire puede tener un conjunto con los siguientes valores difusos: frío, fresco, agradable, tibio o caliente. Podemos definir curvas de conjuntos difusos para estos valores. (figura)


Conjunto bivalente vs. subconjuntos difusos continuos. Cada curva define una función de conjunto.

En la figura anterior se comparan los conjuntos bivalente y multivalente de grados de aire fresco. Los conjuntos difusos listan las contradicciones parciales que suman la unidad, para cada objeto x. El aire es a la vez, fresco y no-fresco, en algún grado. Si el aire es 60% fresco, debe ser 40% no-fresco. El punto medio del cubo sería el punto medio de la línea a ½. Este da solo el conjunto difuso tal que A = noA. Un conjunto difuso A siempre interseca su conjunto complemento noA en la línea media. Los conjuntos bivalentes saltan sobre este punto medio, ya que pasan abruptamente de A a noA. Los conjuntos difusos construyen bloques para las reglas difusas 'if...then', tal como: 'si el aire es fresco establezca la velocidad del motor a lenta', o 'si el aire es caliente ponga la velocidad al máximo'.

Las reglas tienen la forma: 'si x es A, luego y es B'; en donde A y B son conjuntos difusos. Un sistema difuso es un conjunto de reglas difusas que convierten entradas en salidas. Por tanto un sistema difuso es un mapeo, o una función (una proyección) desde un espacio de alternativas de entrada hacia un espacio de salida. Por ejemplo, el acondicionador de aire puede estar seteado (colocado) para que mantenga una temperatura de 68ºF (20ºC), para una velocidad del motor de 47 rpm. Estos conjuntos son difusos pero las entradas pueden ser exactas. Las entradas pueden ser, ellas mismas, conjuntos difusos.

La Ingeniería difusa comienza con tres pasos: 1) Toma las variables de entrada y salida x e y. Aquí, la variable de entrada x es la temperatura del aire. Podríamos agregar a ella, las variables: humedad o intensidad luminosa. La variable de salida y es un conjunto de velocidades numéricas del motor; 2) Toma los subconjuntos difusos de estas variables.


Inferencia en un sistema difuso: la temperatura de entrada x = 68ºF es 20% fresca y 70% agradable. El sistema escala y suma las partes 'luego' asociadas a los conjuntos 'lento' y 'medio' para dar el conjunto final de salida. El sistema 'desfusifica' este conjunto tomando su 'centroide', para dar la salida: F(x) = 47 rpm. El producto cartesiano de Fresco x Lento define la regla: 'si el aire está fresco ∴ ponga la velocidad del motor a 47 rpm'. El sistema difuso F se aproxima a una función ⨍ cubriendo el gráfico de ⨍ (lento) con estos 'parches' de reglas. Un número finito de 'parches' de reglas pueden aproximar uniformemente cualquier función continua, sobre un dominio compacto.

La figura anterior muestra el conjunto de las partes 'if' (si) triangulares para el aire: frío, fresco, agradable, tibio, caliente; y el conjunto de las partes 'then' (luego) trapezoides para las velocidades del motor: detenido, lento, medio, rápido, máximo. 3) El tercer paso relaciona el conjunto de salidas con el conjunto de entradas, en las reglas difusas:
Regla 1: si el aire es frio ∴ detenga el motor.
Regla 2: si el aire es fresco ∴ ponga el motor a velocidad lenta.
Regla 3: si el aire es agradable ∴ ponga el motor a velocidad media.
Regla 4: si el aire es tibio ∴ ponga el motor a velocidad rápida.
Regla 5: si el aire es caliente ∴ ponga el motor al máximo.

Esto da el primer corte de un sistema difuso. Un experto puede dar las reglas o podemos preguntárselas nosotros mismos, o usar un 'algoritmo adaptativo', para que las cree a través de datos de la experiencia (entrenamiento).

El sistema difuso F mapea una entrada x en una salida F(x) en tres pasos: 1) contrasta la entrada x con todas las partes if del conjunto, en paralelo. Este paso dispara o activa las reglas en función de cuánto de la entrada x está contenida en el conjunto de las partes 'if' de A. Cada entrada x dispara al menos dos reglas para los conjuntos de partes 'if' de la figura. Muchas aplicaciones usan este solapamiento de conjuntos a lo largo de cada eje de entrada. Por tanto, un n-vector de entrada x dispara 2ⁿ reglas. Esto refleja la explosión de reglas que sufre todo sistema difuso de grandes dimensiones. Luego cada parte 'if' disparada del conjunto A escala sus partes 'then' del conjunto B, y B se reduce a esta escala. El segundo paso agrega todos los conjuntos de las partes 'then' reducidas al conjunto final de salida. El tercer paso es la 'desfusificación'.

El sistema computa la función de salida F(x) como el 'centroide' o 'centro de gravedad' de este conjunto final de salida. A veces el sistema toma el modo o valor máximo de este conjunto final de salida como F(x).

Un chip difuso repite este proceso de inferencia paralela miles o millones de veces/segundo. La velocidad de inferencias del chip se mide en FLIPS (fuzzy logical inference per second). La figura anterior también muestra cómo los 'parches' de reglas difusas 'geometrizan' el conocimiento. Cada regla como: 'si el aire es fresco ponga la velocidad del motor lenta', define un 'parche' de regla difusa o producto cartesiano: fresco x lento. El tamaño del 'parche' puede medir la 'vaguedad' o 'incertidumbre' de la regla. Los 'parches' más pequeños tienden a reflejar conocimiento más preciso, o datos menos 'ruidosos'. Un 'parche' se reduce a un punto en el límite preciso donde ambos: fresco y lento, definen un conjunto 'espiga'.

Los 'parches' de reglas conducen al teorema fundamental de aproximación difusa de la Ingeniería difusa: "Un sistema difuso F se aproxima a una función ⨍ cubriendo el gráfico de ⨍ con 'parches' de reglas que se superponen". La aproximación es uniforme y esto, en teoría, habilita al usuario a encontrar el nivel de aproximación del error hacia adelante. La búsqueda de tales reglas puede no ser fácil en la práctica, y constituye uno de los principales temas de investigación en el área de Ingeniería difusa.

El teorema de aproximación tiene una prueba constructiva que sugiere que los conjuntos de datos pueden definir 'parches' de reglas si hay suficientes datos, y si lo datos reflejan el sistema desconocido, o el proceso ⨍.

La cobertura de los sistemas difusos con 'parches' tiene un gran punto débil: la explosión exponencial de reglas. El número de reglas que un sistema difuso F necesita para cubrir el gráfico de una función ⨍ crece exponencialmente con el número de entradas y salidas, o sea, con las dimensiones n y p. Más variables de entrada puede conducir a un mejor modelo causal de un proceso, pero, con un alto costo en la adquisición de conocimiento y en su computación. Supongamos que cada n variables de entrada se tiene m conjuntos difusos en sus ejes. Luego, se tiene mⁿ solo para cubrir el espacio de entrada.

Reglas óptimas pueden generar el mejor, o un 'presupuesto' fijo de reglas, pero pueden ser muy difíciles de hallar. Parches de reglas solitarios pueden cubrir los puntos de inflexión o los extremos de ⨍, sin embargo, el conocimiento puede no ser de ayuda si el usuario no conoce, por lo menos groseramente, la forma del aproximando ⨍. El objetivo de la teoría de aprendizaje difuso es armar y mover los 'parches' de reglas a las localizaciones óptimas.

Sistemas difusos adaptativos y la búsqueda de las mejores reglas: el 'tendón de Aquiles' de los sistemas difusos son sus reglas. Reglas inteligentes dan sistemas inteligentes; otras reglas dan sistemas menos inteligentes, e inclusive estúpidos. Algunas reglas pueden entrar en conflicto con otras reglas, y aún contradecirlas absolutamente. Los expertos dan y ayudan a ajustar muchas reglas en los sistemas difusos comerciales. Los sistemas difusos adaptativos (SDA) pueden ayudar a automatizar este proceso, usando los algoritmos de aprendizaje de las redes neuronales o similares, para ajustar reglas y luego mover los 'parches' de reglas difusas en el espacio de estado.

Las redes neuronales (RN) son conjuntos de neuronas y sinapsis que mapean entradas en salidas. Un nodo o neurona integra señales de otros nodos y luego emite su propia señal. Estas señales son solo números. Una neurona simple emite una señal, activando (1) o desactivando (0), y actúan como interruptores. Las neuronas 'suaves' emiten una señal que crece suavemente, desde 0 o 1. Las señales viajan sobre los 'bordes' o sinopsis que conectan los nodos. Cada borde tiene un valor sináptico numérico. Una RN con n neuronas, necesita 2ⁿ sinapsis para interconectarse completamente.

Los nodos neurales y los bordes, cambian con el tiempo y esto define un sistema dinámico. En cualquier tiempo el estado de la red es o un estado transitorio, o un estado de equilibrio. Una vez que una RN está entrenada, rápidamente resuelve o converge hacia un estado de equilibrio cuando una nueva entrada de datos la perturba. Los datos de entrada actúan como un interrogante o estímulo. El estado de equilibrio actúa como una 'respuesta' o reacción del sistema.

Sistemas neurales más complejos consisten en redes de redes, como por ejemplo, el cerebro de los mamíferos. El objetivo de la Ingeniería neural es alcanzar los estados de equilibrio o respuestas a problemas pesados o soluciones a tareas difíciles, como el reconocimiento de patrones, filtro de señales, minimización de costos. Un SDA alcanza los estados de equilibrio para elegir a afinar las reglas difusas.

La mayoría de SDA corren en software. Luego, las neuronas y las sinapsis se reducen a ecuaciones que actualizan sus estados. Los chips neurales digitales corren las ecuaciones a una gran velocidad y pueden actualizar las sinapsis, millones de veces por segundo. En los chips neurales analógicos, los resistores actúan de sinapsis y los amplificadores como neuronas. Una RN a prende cambiando sus sinapsis. Los valores numéricos sinópticos cambian cuando los datos de entrada hacen que las neuronas se activen. La red puede aprender a reconocer patrones, como así también, caras en una imagen, o un código postal garabateado en un sobre, o el candidato para un préstamo de alto riesgo, o detectar maletín bomba en una scaner de Rx en un aeropuerto. En general, una RN mapa entradas en salidas, entonces es como un sistema difuso, aprende o aproxima una función o relación causa-efecto y puede actuar como un 'aproximador universal'.

[continuará...]

¡Nos vemos mañana!