Indice
Introducción.
¿Qué es un conjunto borroso?.
Operaciones con conjuntos borrosos.
El control borroso.
Aplicaciones de la lógica borrosa.
Definiciones.
Introducción
La lógica borrosa (Fuzzy Logic) ha surgido como
una herramienta lucrativa para el control de subsistemas y procesos industriales
complejos, así como también para la electrónica de entretenimiento y hogar,
sistemas de diagnóstico y otros sistemas expertos. Aunque la lógica borrosa se
inventó en Estados Unidos el crecimiento rápido de esta tecnología ha
comenzado desde Japón y ahora nuevamente ha alcanzado USA y también Europa. La
lógica borrosa es todavía un boom en Japón, el número de cartas patentando
aplicaciones aumenta exponencialmente. Principalmente se trata de aplicaciones más
bien simples de lógica borrosa.
Lo borroso ha llegado a ser una palabra clave
para vender. Los artículos electrónicos sin componetes borrosos se están
quedando gradualmente desfasados. Como una mordaza, que muestra la popularidad
de la lógica borrosa, cada vez es más frecuente un sello con "fuzzy
logic" impreso sobre el producto.
En Japón la investigación sobre lógica borrosa es apoyada ampliamente con un
presupuesto enorme. En Europa y USA se están realizando esfuerzos para alcanzar
al tremendo éxito japonés. Por ejemplo, la NASA emplea lógica borrosa para el
complejo proceso de maniobras de acoplamiento.
La lógica borrosa es básicamente una lógica
multievaluada que permite valores intermedios para poder definir evaluaciones
convencionales como sí/no, verdadero/falso, negro/blanco, etc. Las nociones
como "más bien caliente" o "poco frío" pueden formularse
matemáticamente y ser procesados por computadoras. De esta forma se ha
realizado un intento de aplicar una forma más humana de pensar en la programación
de computadoras. La lógica borrosa se inició en 1965 por Lotfi A. Zadeh,
profesor de ciencia de computadoras en la Universidad de California en Berkeley.
¿Qué
es un conjunto borroso?
La noción más básica de sistemas borrosos es
un (sub)conjunto borroso.
Veamos un ejemplo:
En primer lugar consideramos un conjunto X con
todos los números reales entre 0 y 10 que nosotros llamado el universo de
discurso. Ahora, definimos un subconjunto A de X con todos números reales en el
rango entre 5 y 8.
A = [5,8]
Ahora mostramos el conjunto A por su función
característica, es decir esta función asigna un número 1 o 0 al elemento en
X, dependiendo de si el elemento está en el subconjunto A o no. Esto conlleva a
la figura siguiente:

Nosotros podemos interpretar los elementos que han asignado el número 1 como
los elementos que están en el conjunto A y los elementos que han asignado el número
0 como los elementos que no están en el conjunto A.
Este concepto es suficiente para muchas áreas de
aplicación. Pero nosotros podemos encontrar fácilmente situaciones donde
carece de flexibilidad. Para comprender este concepto veamos un ejemplo:
Queremos describir el conjunto de gente joven. Más
formalmente nosotros podemos denotar
B = {conjunto de gente joven}
Como - en general - la edad comienza en 0, el
rango más inferior de este conjunto está claro. El rango superior, por otra
parte, es más bien complicado de definir. Como un primer intento colocamos el
rango superiora en, digamos, 20 años. Por lo tanto nosotros definimos B como un
intervalo denominado:
B = [0,20]
Ahora la pregunta es: ¿ por qué alguien es en
su 20 cumpleaños joven y al día siguiente no? Obviamente, este es un problema
estructural, porque si movemos el límite superior del rango desde 20 a un punto
arbitrario podemos plantear la misma pregunta.
Una manera más natural de construir el conjunto
B estaría en suavizar la separación estricta entre el joven y el no joven.
Nosotros haremos esto para permitir no solamente la (crispada) decisión "él/ella
SI está en el conjunto de gente joven" o "él/ella NO está en el
conjunto de gente joven", sino también las frases más flexibles como
"él/ella SI pertenece un poquito más al conjunto de gente joven" o
"él/ella NO pertenece aproximadamente al conjunto de gente joven".
Pasamos a continuación a mostrar como un
conjunto borroso nos permite definir una noción como "él/ella es un poco
joven".
Tal y como constatamos en la introducción
podemos usar conjuntos borrosos para hacer computadoras más sabias, y ahora
tenemos que codificar la idea más formalmente. En nuestro ejemplo primero
codificamos todos los elementos del Universo de Discurso con 0 o 1. Una manera
de generalizar este concepto está en permitir más valores entre 0 y 1. De
hecho, nosotros permitimos infinitas alternativas entre 0 y 1, denominando el
intervalo de unidad Yo = [0, 1].
La interpretación de los números ahora
asignados a todos los elementos del Universo de Discurso es algo más difícil.
Por supuesto, el número 1 asignado a un elemento significa que el elemento está
en el conjunto B y 0 significa que el elemento no está definitivamente en el
conjunto el B. El resto de valores significan una pertenencia gradual al
conjunto B.
Para ser más concretos mostramos ahora gráficamente
el conjunto de gente joven de forma similar a nuestro primer ejemplo por su
función característica.

De esta forma unos 25 años de edad todavía sería joven al grado de 50 por
ciento.
Ahora sabemos qué es un conjunto borroso. ¿Pero
qué se puede hacer con él?
Operaciones
con conjuntos borrosos
Ahora que tenemos una idea de lo que son
conjuntos borrosos, podemos introducir las operaciones básicas sobre conjuntos
borrosos. Parecido a las operaciones sobre conjuntos booleanos nosotros también
podemos
interseccionar,
unificar y negar conjuntos borrosos. En su
primerísimo artículo sobre conjuntos borrosos, L. A. Zadeh sugirió el
operador mínimo para la intersección y el operador máximo para la unión de
dos conjuntos borrosos. Es fácil ver que estos operadores coinciden con la
unificación booleana, e intersección si nosotros únicamente consideramos los
grados miembros 0 y 1.
A fin de aclarar esto, mostraremos varios
ejemplos. Sea A un intervalo borroso entre 5 y 8, y B un número borroso entorno
a 4. Las figuras correspondientes se muestran a continuación:

La figura siguiente muestra la operación AND (Y) del conjunto borroso A y el número
borroso B (el resultado es la línea azul).

La operación OR (O) del conjunto borroso A con el número borroso B se muestra
en la próxima figura (nuevamente, es la línea azul).

Esta figura da un ejemplo para una negación. La línea azul es la NEGACION del
conjunto borroso A.
El
control borroso
Los controladores borrosos son las aplicaciones más
importantes de la teoría borrosa. Ellos trabajan de una forma bastante
diferente a los controladores convencionales; el conocimiento experto se usa en
vez de ecuaciones diferenciales para describir un sistema. Este conocimiento
puede expresarse de una manera muy natural, empleando las
variables
lingüísticas que son descritas mediante conjuntos borrosos.
Ejemplo: El péndulo invertido
El problema está en equilibrar una pértiga
sobre una plataforma móvil que puede moverse en dos únicas direcciones, a la
izquierda o a la derecha. Ante todo, nosotros tenemos que definir
(subjetivamente) cual es la velocidad del anden: alta, baja, etc. Esto se hace
para especificar las funciones pertenecientes al conjunto borroso:
- negativo alto (celeste)
- negativo bajo (verde)
- cero (rojo)
- positivo bajo (azul)
- positivo alto (morado)

Lo mismo se hace para el ángulo entre la plataforma y la pértiga, además de
para la velocidad angular de este ángulo:

Apréciese que, para hacerlo más fácil, suponemos que al principio la pértiga
está en una posición cercana a la central para que un ángulo mayor de,
digamos, 45 grados en cualquier dirección no pueda - por definición - ocurrir.
Ahora daremos varias reglas que dicen qué hacer
en situaciones concretas:
Considere por ejemplo que la pértiga está en la
posición central (el ángulo es cero) y no se mueve (la velocidad angular es
cero). Obviamente esta es la situación deseada, y por lo tanto no tenemos que
hacer nada (la velocidad es cero).
Consideremos otro caso: el polo está en la
posición central como antes, pero está en movimiento a baja velocidad en la
dirección positiva. Naturalmente nosotros tendríamos que compensar el
movimiento de la pértiga moviendo la plataforma en la misma dirección a baja
velocidad.
De esta forma hemos constituido dos reglas que
pueden ponerse en una forma más formalizada como esta:
Si el ángulo es cero y la
velocidad angular es cero entonces la velocidad será cero.
Si el ángulo es cero y la velocidad angular es positiva baja entonces
la velocidad será positiva baja.
Podemos resumir todas las reglas aplicables en
una tabla:
| angulo
|
veloc | NA NB C PB PA
----------+------------------------------
v NA | NA
. NB | NB C
a C | NA NB C PB PA
n PB | C PB
g PA | PA
donde NA es una (usual) abreviatura para negativa
alta, NB para negativa baja, etc.
A continuación mostraremos como estas reglas
pueden aplicarse con valores concretos para el ángulo y velocidad angular. Para
ello vamos a definir dos valores explícitos para el ángulo y la velocidad
angular para operar con ellos.
Consideremos la situación siguiente:
Un valor actual para el ángulo:

Un valor actual para la velocidad angular:

Ahora mostraremos como aplicar nuestras reglas a esta situación real. Veamos
como aplicar la regla
Si el ángulo es cero y la
velocidad angular es cero entonces la velocidad será cero.
a los valores que hemos definido.
Esta es la variable lingüística "ángulo" donde nos centramos en el
conjunto "cero" y el ángulo actual:

Nos damos cuenta que nuestro valor real pertenece al conjunto borroso
"cero" en un grado de 0.75:

Ahora mostramos la variable lingüística "velocidad angular" donde
nos centramos en el conjunto borroso "cero" y el valor actual de
velocidad angular:

Nos damos cuenta que nuestro valor real pertenece al conjunto borroso
"cero" en un grado de 0.4:

Como las dos partes de la condición de nuestra regla están unidas por una Y
(operación lógica AND) calculamos el mín(0.75,0.4)=0.4 y cortamos el conjunto
borroso "cero" de la variable "velocidad" a este nivel (según
nuestra regla):

Por su parte, el resultado de la regla
Si el ángulo es cero
y la velocidad angular es negativa baja
entonces
la velocidad será negativa baja
es:

El resultado de la regla
Si el ángulo es cero
y la velocidad angular es positiva baja
entonces
la velocidad será positiva baja
es:

El resultado de la regla
Si el ángulo es positivo bajo
y la velocidad angular es negativa
baja
entonces la velocidad será cero
es:

Estas cuatro reglas solapadas desembocan en un resultado único:

El resultado del controlador borroso es un conjunto borroso (de velocidad), así
que tenemos que escoger un valor representativo como salida final. Hay varios métodos
heurísticos (métodos de claridad o defuzzification), uno de ellos es tomar el
centro de gravedad del conjunto borroso:

El procedimiento completo se denomina controlador de Mamdani.
Aplicaciones
de la lógica borrosa
Principalmente, miraremos la aptitud del control
borroso en términos generales.
El empleo del control borroso es recomendable:
- Para procesos muy complejos, cuando no hay un
modelo matemático simple.
- Para procesos altamente no lineales.
- Si el procesamiento del (lingüísticamente
formulado) conocimiento experto puede ser desempeñado.
El empleo del control borroso no es una buena idea
si:
- El control convencional teóricamente rinde un
resultado satisfactorio.
- Existe un modelo matemático fácilmente
soluble y adecuado.
- El problema no es soluble.
Definiciones
Intersección de Conjuntos
Nosotros llamamos un nuevo conjunto generado
desde dos conjuntos determinados A y B, intersección de A y B, si el nuevo
conjunto contiene exactamente esos elementos que están contenidos en A y en B.
Unificación de Conjuntos
Nosotros llamamos un nuevo conjunto generado
desde dos conjuntos determinados A y B, unificación de A y B, si el nuevo
conjunto contiene todos los elementos que se contienen en A o en B o en ambos.
Negación de Conjuntos
Nosotros denominamos al nuevo conjunto que
conteniendo todos los elementos que están en el universo de discurso pero no en
el conjunto A la negación de A.
Variables lingüísticas
Un variable lingüística es un quíntuple
(X,T(X),U,G,M,), donde X es el nombre de la variable, T(X) es el término
conjunto (es decir, el conjunto de nombres de valores lingüísticos de X), U es
el universo de discurso, G es la gramática para generar los nombres y M es un
conjunto de reglas semánticas para asociar cada X con su significado.