Académique Documents
Professionnel Documents
Culture Documents
DIFUSOS
1
Becario CONICET de Argentina.
2
Investigador Asistente CONICET de Argentina.
fm-1 de n variables x0, x1, ..., xn1. El valor de xi utilizando operadores binarios, realizando la
pertenece al conjunto Si, y el valor de fk al conjunto minimización de las operaciones reticulares y
de los números reales R. A cada variable xi aritméticas (Deschamps & Acosta, 1996), y
corresponden pi funciones de pertenencia: Aij: Si → asignando los registros a posiciones reales de
[0,1], 0 ≤ j ≤ pi-1; a cada función fk corresponden memoria). La traducción de ese programa en el
qk funciones de decodificación: Bkl: [0,1] → R, 0 ≤ (micro)programa sólo incluye la materialización de
l ≤ qk-1; el cálculo de fk se basa en sentencias (reglas operaciones de múltiples anchos de palabra en la
de inferencia) tales como: “IF x0 is A0 j0 AND x1 is A1 secuencia que permita su cálculo utilizando
instrucciones de ancho simple en múltiples ciclos.
j1 AND ... AND xn-1 is An-1 jn-1 THEN fk is Bkl”. Se
define un conjunto de coeficientes r, tal que: r(j0, j1,
El lenguaje de entrada permite la definición hardware
..., jn-1, k, l) =1 si la regla previamente mencionada se
de la plataforma (tamaño de palabra, cantidad de
aplica; de lo contrario r(j0, j1, ..., jn-1, k, l) = 0. El
señales de entrada y salida), la definición de señales
algoritmo de cálculo de la función fk es (ver Acosta et y conjuntos difusos de entrada y salida, y por
al., 1997b): supuesto el conjunto de reglas. Pero aún resta obtener
esta definición, lo cual se resuelve mediante el uso
∀i:0 ≤ i ≤ n-1, ∀j:0 ≤ j ≤ pi-1, del AE.
calcule, yij = Aij (xi);
∀k:0 ≤ k ≤ m-1, ∀l:0 ≤ l ≤ qk-1,
calcule3, wkl = ∨r (j0, j1, ..., jn-1, k, l) . y0 j0 . y1 j1 . 3. ALGORITMO GENÉTICO JERÁRQUICO
... . . .... yn-1 jn--1, ∀ j0, j1, ..., jn-1
vkl = Bkl (wkl); ∀k:0 ≤ k ≤ m-1, calcule, La primer propuesta encontrada en la literatura para
Nk = vk 0 + vk 1 + ... + vk qk-1, obtener los conjunto de reglas y funciones de
Dk = wk 0 + wk 1 + ... + wk qk-1, pertenencia, es el procedimiento heurístico,
fk = Nk / Dk reiterativo y subóptimo que altera el número de
funciones de pertenencia hasta mejorar
Para materializar controladores difusos por medio de suficientemente el rendimiento (Procyk & Mamdani,
un procesador estándar o de un circuito específico, es 1979). Recientemente se han aplicado varias técnicas
conveniente que todas las operaciones sean unarias o basadas en redes neuronales (Jang & Sun, 1995) y
binarias. Las unarias corresponden a las funciones de algoritmos genéticos (AG) en el diseño automático
pertenencia (fusificación) y decodificación (Homaifar & McCormick, 1995; Karr & Gentry,
(defusificación); que pueden ser materializadas por 1993; Yoshikawa et al., 1996). Tang et al. (1998) usa
bloques de memoria. Las binarias corresponden a un AGJ. En este algoritmo, se mantiene el cómputo
funciones reticulares (máximo y mínimo) y del AG convencional pero la estructura genética del
aritméticas (suma, producto, división); que son cromosoma se organiza jerárquicamente. El
materializadas por la(s) unidad(es) aritmético- cromosoma consiste ahora de genes paramétricos y
lógica(s). Un CLD se compone de 3 bloques genes de control. La activación de los genes
principales: a) Fusificador, que traduce los valores paramétricos es gobernada por el valor de los genes
(crisp) de las variables de entrada a valores difusos del control, si el gen de control está en '1' entonces el
(materializados por bloques ROM). b) Motor de gen paramétrico que éste gobierna estará activo; un
Inferencias, es el encargado de realizar la evaluación '0' desactiva el gen paramétrico (anula esa
de las reglas. c) Defusificador, que traduce los característica en el fenotipo). Esta estructura
valores difusos, que son salida del motor de jerárquica implica que el cromosoma tiene más
inferencia, en el valor de la variable de salida (crisp).
Archivo de especificación
El sistema desarrollado (Fig. 1) cubre la brecha entre
la especificación del problema y su materialización
por un circuito específico. Se utiliza un lenguaje de Esquema de cálculo
especificación que por medio de reglas y conjuntos
difusos, permite describir el problema. A partir de la
definición del problema descrito se genera un primer Optimización reticular y aritmética
esquema de cálculo, que permite ejecutar el
algoritmo; mientras que las funciones de pertenencia
son generadas en un formato tal que puedan ser Asignación de registros
almacenadas en memorias. Los pasos siguientes
permiten la transformación del esquema inicial en un
(Micro)programa + código VHDL
programa (transformando el esquema para el cálculo
Fig. 1 - Diagrama de operaciones para obtener un
3
El símbolo (.) representa el operador mínimo, y ∨ controlador difuso
el máximo.
Control Parámetros representación de los cromosomas. No obstante, la
idea del control de parámetros se aplica para otros de
110101 351847 → Xa = (3, 5, 8, 7)
los parámetros del AE en este trabajo.
100101 351847 → Xb = (3, 8, 7) Para entender la manera en que pueden generarse
automáticamente controladores difusos con AE es
Fig. 2: Representación de los cromosomas fundamental conocer la manera en que los
controladores son codificados. Pero además, el uso
información que en las codificaciones de un AG de un AE requiere la definición de varios elementos:
convencional, técnica que permite obtener una la representación del cromosoma, la función de
solución con el número mínimo de funciones de selección, los operadores genéticos que constituyen
pertenencia y reglas. No obstante todavía resta el la función de la reproducción, la creación de la
problema de sintonizar los parámetros. En este población inicial, el criterio de terminación y la
artículo se utiliza una estrategia de control de función de evaluación. Cada uno de estos puntos
parámetros para resolver este problema (véase Eiben tiene parámetros que deben ser tratados. Pero no
et al., 1999). todos ellos pueden implementarse de forma
adaptable debido al compromiso que debe observarse
entre tiempo de ejecución y flexibilidad.
Los AG son un tipo particular de AE. Los AG usan
el código binario para representar los genes en el El cromosoma consiste de dos partes: la de control, y
cromosoma mientras que en los AE se permiten otras la de parámetros. La parte de parámetros del
codificaciones. Los AE son algoritmos estocásticos cromosoma se subdivide en una parte para las
donde se optimiza una función (fitness) que tiene funciones de pertenencia y una parte para las reglas.
como entrada las representaciones de las soluciones Cuando el caso particular de aplicación es un CLD,
del problema (cromosoma). Los AE operan sobre un usualmente se emplean como entradas el error (E) y
conjunto de cromosomas (población) sobre el cual se su derivada (∆E), y como salida la variable
aplican iterativamente (generaciones) operadores de
manipulada (∆U). La parte del cromosoma
recombinación a las representaciones para obtener
correspondiente a las funciones de pertenencia tiene
nuevos individuos (cruzamiento, mutación), hasta
la forma dada en la Ec. 1 (Ver Fig. 3):
que se cumpla algún criterio de terminación, como
encontrar una solución lo
α1a ( E ), α1b ( E ), α1c ( E ), L , α ma ( E ), α mb ( E ), α mc ( E ),
suficientemente buena. Los AGJ operan
con una estructura adaptable que permite Z M = β1a (∆E ), β1b ( ∆E ), β1c ( ∆E ), L , β na ( ∆E ), β nb ( ∆E ), β nc ( ∆E ),
al algoritmo explorar en un espacio γ ( ∆U ), γ ( ∆U ), γ (∆U ), L , γ ( ∆U ), γ (∆U ), γ (∆U )
1a 1b 1c pa pb pc
mucho más grande y le permite encontrar
(Ec. 1)
mejores soluciones. En la Fig. 2 hay un
cromosoma formado con 6 genes de
donde:
control binarios y los respectivos 6 enteros para los
• α, β y γ son números reales y limitados por
genes paramétricos. Las longitudes de Xa y Xb son
respectivamente 4 y 3. Esto significa que existen [αmin, αmax], [βmin, βmax] y [γmin, γmax]
fenotipos de longitud diferente disponibles dentro de respectivamente.
la misma formulación del cromosoma. El AGJ no • m, n y p son los máximos números aceptables de
sólo puede explorar en el espacio de los parámetros, subconjuntos difusos E, ∆E y ∆U
sino también dentro de las posibles respectivamente.
longitudes para perfeccionar la función
objetivo; y reducir el número de reglas y
funciones de pertenencia implica reducir
la cantidad de recursos necesarios para
su implementación y por ende el costo
del controlador.
REFERENCIAS