• No se han encontrado resultados

Operadores Genéticos en la Evolución de Circuitos Analógicos

N/A
N/A
Protected

Academic year: 2021

Share "Operadores Genéticos en la Evolución de Circuitos Analógicos"

Copied!
6
0
0

Texto completo

(1)

Operadores Genéticos en la Evolución de Circuitos Analógicos

Aurora TORRES

Departamento de Ciencias de la Computación

Universidad Autónoma de Aguascalientes

Aguascalientes Ags. México

Eunice E. PONCE DE LEÓN

Departamento de Ciencias de la Computación

Universidad Autónoma de Aguascalientes

Aguascalientes Ags. México

Arturo HERNÁNDEZ

Departamento de Ciencias de la Computación.

Centro de Investigación en Matemáticas. Cimat

Guanajuato. México

Dolores TORRES

Departamento de Sistemas de Información

Universidad Autónoma de Aguascalientes

Aguascalientes Ags. México

Felipe PADILLA

Departamento de Ciencias de la Computación

Universidad Autónoma de Aguascalientes

Aguascalientes Ags. México

y

Elva DÍAZ

Departamento de Ciencias de la Computación

Universidad Autónoma de Aguascalientes

Aguascalientes Ags. México

RESUMEN

Este artículo presenta un grupo de operadores genéticos que en combinación con un mecanismo de representación y uno de generación de circuitos analógicos, desempeñan la evolución artificial de un filtro pasivo.

Teniendo presente que el principal cuello de botella en el proceso de diseño se relaciona con la evaluación de los circuitos y que la herramienta más comúnmente utilizada para este propósito es el Spice (Simulation Program with Integrated Circuits Emphasis); el objetivo de este trabajo, es mantener la producción de circuitos simulables por este software encima del 95%; mientras se generen exclusivamente circuitos topológicamente adecuados.

Tanto los operadores genéticos como el mecanismo de generación y representación de circuitos analógicos fueron puestos en operación dentro de un Algoritmo Genético (AG) simple que envía los requerimientos del diseño a Spice para la evaluación de los circuitos generados y recibe de éste indicadores para evaluar su desempeño.

El sistema presentado en este trabajo ha mostrado que realiza convenientemente no solamente la determinación de la topología del circuito, sino también el valor de sus elementos. Los resultados obtenidos muestran que el número de circuitos no simulables por Spice siempre se mantuvo por debajo del 4%, reduciendo considerablemente los recursos computacionales y tiempo invertidos.

(2)

Palabras Clave- Algoritmo genético, Circuitos

analógicos, Diseño evolutivo, Filtro pasa-bajas,

Operadores genéticos, Representación lineal.

1. INTRODUCCIÓN

El desarrollo actual de los circuitos digitales ha sido tan acelerado, que es frecuente pensar que los circuitos analógicos ya quedaron atrás; sin embargo, la necesidad de interfaces analógicas que permitan la interacción entre nuestro mundo inminentemente analógico y los dispositivos digitales, ha asegurado su supervivencia. El diseño de circuitos analógicos es un problema cuya dificultad es ampliamente conocida; una prueba de ello es el conocido “Dilema Analógico” de Aaserud y Nielsen [1], en el que este problema es descrito como multifase, iterativo, muy consumidor de tiempo y que implica bastos conocimientos y habilidades de los diseñadores; lo que lo vuelve un reto y una necesidad para el diseño automático.

La síntesis de circuitos, que es el proceso de creación de un dispositivo eléctrico que cumple un grupo de

especificaciones previamente establecidas; es

considerada como un problema dual, debido a que no basta la determinación de una topología adecuada del circuito, sino también es necesario realizar la selección de los valores de los componentes [2].

A pesar del éxito que las técnicas de búsqueda no convencionales han mostrado en el diseño analógico

automático, tales como Recocido simulado[3,4],

Algoritmos genéticos [2,5-8], Programación

genética[9,10] y Algoritmos de estimación de la distribución[11-13]; aún existen algunas debilidades comentadas en [2, 5,6] que deben ser atendidas; entre las que se encuentran el esfuerzo computacional, la confiabilidad de los circuitos y el uso de operadores genéticos que producen circuitos estructuralmente incorrectos.

El análisis que debe hacerse sobre cada individuo para determinar si exhibe el comportamiento deseado o no, vuelve al diseño un problema especialmente costoso en términos de recursos computacionales y tiempo [6, 7, 9] y si a esto agregamos operadores que producirán redes estructuralmente inadecuadas o circuitos que no podrán ser evaluados, el desempeño del proceso se torna inaceptable.

Debido a que la mayor parte de los trabajos reportados sobre este tema, toman como software de simulación para la determinación de la adaptabilidad a Spice [2, 3, 6-9]; el objetivo de este trabajo es reducir la cantidad de circuitos topológicamente inadecuados y los no simulables por Spice, tanto como sea posible.

El resto de este documento ha sido organizado de la siguiente manera; la sección 2 describe tanto el algoritmo, como los operadores genéticos cerrados. En la sección 3 se presentan los experimentos realizados y

resultados obtenidos; mientras que las conclusiones son comentadas en la sección 4. Finalmente, la sección 5 describe a grandes rasgos el trabajo futuro.

2. ALGORITMO Y OPERADORES

Como se mencionó anteriormente, los operadores genéticos descritos en este trabajo se encuentran inmersos en un AG que se comunica con Spice a fin de evaluar el desempeño de cada circuito generado. La figura 1 muestra el marco de trabajo general.

Netlis Respuesta Algoritmo Genético Spice Generación de circuitos Petición de simulación Análisis Cómputo de la adaptabilidad

Fig. 1. Marco de trabajo del algoritmo

El algoritmo genético, sigue la secuencia normal del algoritmo genético simple de Goldberg [14] con pequeñas modificaciones, tal como se muestra en la figura 2. El algoritmo tiene implementado elitismo. Generación de un individuo de Población Cálculo de su adaptabilidad F Ordenación de la Población por F Selección de Padres Selección de Operadores ¿Tiene Población N individuos? Envío de la descendencia a NuevaPoblación Ejecución de operadores y cálculo de F ¿Se cumple el criterio de parada? ¿Tiene NuevaPoblación N individuos? Fin Población = NuevaPoblación No Si No Si No Si

Fig. 2. Diagrama de flujo del algoritmo implementado

La generación de cada individuo se realiza mediante el uso de la técnica de representación reportada en [15], que de acuerdo a Mattiusi y Floreano [16] es una técnica clasificada como “de desarrollo”, pues el propio genoma conduce la construcción de los circuitos. Esta técnica de representación permite la construcción de circuitos con elementos cuyos valores son comerciales, tal como se propuso en [17] y por consiguiente, reduce las

(3)

diferencias entre un circuito simulado y uno implementado.

Todos los circuitos son trabajados dentro del patrón que se muestra en la figura 3. VS RS +

-+

-Circuito en evolución Nodo Inicial (1) Nodo Final (F) Tierra (0) C a rg a

Fig. 3. Plantilla de construcción de circuitos

La figura 4 muestra un circuito y su representación correspondiente. En esta figura se aprecia que cada elemento de circuito es representado por un gen que se constituye de 6 partes; las cuales corresponden a: Nodo1, Nodo2, Nodo Actual, Tipo, Década y Valor. Los primeros tres parámetros corresponden a la topología del circuito, mientras los segundos tres, corresponden a los valores de los elementos. Para simplificar la codificación, se emplearon las series E6 para capacitares y E12 para inductores y resistencias.

Debido a que el tamaño de los circuitos es también un parámetro a evolucionar, los cromosomas (circuitos) están constituidos de una cantidad variable de genes (elementos). VS RS

+

-+

-RL 27mH 33mH 10mH 27MΩ 330nF 1 2 3 1002(F) 0 1,0,1,0,2,3 1,2,2,2,0,5 2,3,3,2,0,6 3,0,3,1,3,5 3,F,F,2,0,0

Fig. 4. Circuito eléctrico y su representación.

Los operadores que fueron puestos en funcionamiento para la presente implementación son los siguientes: Cruzamiento simple (en un punto), Cruzamiento en dos puntos, Mutación, Cruzamiento simple y Mutación. Todos los operadores fueron diseñados de manera que

mantuvieran cerrada la clase de circuitos

estructuralmente correctos.

El objetivo de los operadores de cruzamiento simple y cruzamiento en dos puntos es el de modificar la topología de los circuitos, partiendo de dos padres seleccionados por el método de la ruleta. Las figuras 5 y 6 muestran el

mecanismo de funcionamiento de estos operadores, sin embargo, con el fin de simplificar los esquemas, únicamente se consideran los nodos de conexión y el tipo de elemento. 120 202 211 2F2 Padre 1 121 230 301 340 451 Padre 2 5F2 Punto de cruce =2 Descendencia Hijo 1 Hijo 2 120 202 201 230 341 4F2 121 230 321 3F2 Fig. 5. Cruzamiento simple.

De la figura anterior se puede apreciar que aunque este operador es capaz de modificar la topología de los circuitos padre, el tamaño de la descendencia no se modifica con respecto al tamaño de sus progenitores. Partiendo de un padre de 4 elementos y uno de 6, los hijos aunque diferentes a sus padres, heredan el número de componentes de éstos. 120 202 211 2F2 Padre 1 121 230 301 340 451 Padre 2 5F2 Punto de cruce 1 =2 Descendencia Hijo 1 Hijo 2 120 202 230 341 4F2 121 230 301 321 Punto de cruce 2 =3 3F2 Fig. 6. Cruzamiento en dos puntos.

De la figura anterior, se aprecia que el operador de cruzamiento en dos puntos, permite que el tamaño de los circuitos generados sea diferente al de los padres; de manera que mediante él, se introduce mayor diversidad a las poblaciones.

El operador de mutación tiene el propósito de intercambiar el tipo y valor de un elemento, respetando la estructura general del circuito. Este operador puede ser considerado como un mecanismo de búsqueda local, pues una vez que se fija la topología del circuito, las variaciones se hacen en el vecindario del circuito a mutar. La figura 7, muestra el resultado de la mutación del gen 2 en el cromosoma del circuito mostrado en la figura 4. La inductancia de 27mH que se encuentra

(4)

conectada entre los nodos 1 y 2; es convertida en una

resistencia de 22kΩ conectada entre el mismo par de

nodos.

1,0,1,0,2,3 1,2,2,2,0,5 2,3,3,2,0,6 3,0,3,1,3,5 3,F,F,2,0,0 Cromosoma original

Gen a mutar

1,0,1,0,2,3 1,2,2,1,0,4 2,3,3,2,0,6 3,0,3,1,3,5 3,F,F,2,0,0 Cromosoma después de la mutación

Gen mutado

Fig. 7. Mutación

El operador de Cruza simple y Mutación, desarrolla el primero seguido del segundo, con un cierto nivel de probabilidad.

3. EXPERIMENTOS Y RESULTADOS

Para poner a prueba el conjunto de operadores descritos en la sección anterior, se ejecutó el algoritmo genético con la finalidad de diseñar un filtro pasivo pasa-bajas. Este problema de diseño es ampliamente conocido como un benchmark adecuado para los algoritmos en el área de diseño analógico [2, 6, 7, 8, 15]. Un filtro, es un circuito que bloquea las señales de cierto rango de frecuencias, mientras permite el paso de aquellas con frecuencias en distinto rango [19].

El problema específico de diseño fue tomado de [9,10]. La respuesta en frecuencia del filtro diseñado es mostrada en la figura 8. A m p lit u d 1KHz 2KHz

Banda de paso Banda de atenuación

Región no permitida Región permitida

Fig. 8. Respuesta en frecuencia del filtro objetivo.

De la figura anterior, se aprecia que el circuito diseñado deberá permitir el paso de las señales eléctricas cuya frecuencia esté por debajo de 1KHz, mientras atenúa las señales con frecuencias superiores a 2KHz. A fin de evaluar el desempeño de los circuitos, el algoritmo genético manda a Spice instrucciones para que se realice un barrido de frecuencia entre 1 y 100KHz, generando 20 puntos por década. Esto implica que Spice deberá evaluar el comportamiento del circuito bajo 101 condiciones de frecuencia.

La función de evaluación empleada en esta

implementación fue tomada de [15]. Básicamente consiste en una función de la sumatoria de los errores en

cada punto de frecuencia “εi” entre el filtro “objetivo”

(mostrado en la figura 8) y el filtro “evolucionado” (producido por el algoritmo). La función incluye también

un factor de penalización “λ” para los circuitos cuya

respuesta en frecuencia se sale de la “región permitida”. La Ec. 1, muestra la función que mide la discrepancia entre el filtro objetivo y el filtro evaluado; y la Ec. 2 representa la función de evaluación normalizada.

ξ

=

i N i i

ε

ε

λ

=1

*

)

(

(1)

F =

ξ

+

1

1

(2)

La tabla 1 muestra los valores de los parámetros para el cálculo de la función de evaluación.

Tabla 1. “Códigos de operación del mecanismo de

generación de circuitos analógicos”

Parámetro Valor Voltaje en la banda de paso 1V Voltaje en la banda de paso 0V Variación permitida en la banda de paso 30mV Variación permitida en la banda de atenuación 10mV Puntos de frecuencia (N) 101 Factor de penalización (λ) 10

Una vez que se la función de evaluación fue concluida, y el algoritmo genético fue calibrado, este último se ejecutó repetidamente para evaluar la cantidad de circuitos no simulables que generó. La tabla 2, muestra los resultados promedio obtenidos de 10 ejecuciones consecutivas con un tamaño de la población de 50 individuos y un total de 200 generaciones.

Tabla 2. “Resultados promedio de 10 ejecuciones del

algoritmo”

Tiempo Tamaño # Evaluaciones % No evaluaciones 1834.6 seg. 4.4 elementos 10051 evaluaciones 1.59 %

(5)

El máximo porcentaje de circuitos no simulados por Spice haciendo uso del sistema descrito en este documento fue de 3.4%, sin embargo, en la mitad de las evaluaciones este porcentaje estuvo debajo del 1%. Respecto al tiempo de ejecución promedio de cada generación, fue de 9.17segundos, ya que el algoritmo fue ejecutado durante 200 generaciones.

La figura 9 muestra el comportamiento de una ejecución aleatoria del algoritmo en cuanto al número de evaluaciones de la función objetivo. El algoritmo se ejecutó con una población de 50 individuos durante 50 generaciones.

Número de evaluaciones por generación 0 1000 2000 3000 1 5 9 13 17 21 25 29 33 37 41 45 49 Generaciones E v a lu a c io n e s

Fig. 9. Evaluaciones de la función objetivo en una

ejecución aleatoria del algoritmo

La figura 10, muestra la cantidad acumulada de circuitos no simulados por Spice en la misma ejecución del algoritmo mostrada en la figura 8.

Circuitos no simulados por generación 0 1 2 3 4 5 1 5 9 13 17 21 25 29 33 37 41 45 49 Generaciones C ir c u it o s n o s im u la d o s

Fig. 10. Circuitos no simulados acumulados por

generación.

De las figuras anteriores, se aprecia que de 2547 evaluaciones, el algoritmo produjo solamente 4 circuitos no simulables, lo que representa cerca el 0.15%.

Finalmente, la figura 11 muestra el comportamiento de la adaptabilidad del mejor circuito de cada generación en la misma ejecución.

Evaluación de la adaptabilidad por generación 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 Generaciones A d a p ta b il id a d

Fig. 11. Evaluación del desempeño por generación

En ésta última figura se puede apreciar que el algoritmo siempre escala hacia una mejor solución, debido a que fue implementado con elitismo.

4. CONCLUSIONES

Este artículo presenta un grupo de 4 operadores genéticos que en combinación con un algoritmo genético y mecanismos de representación y generación, son capaces de mantener el número de circuitos no simulables por Spice debajo del 4% en todos los casos y en promedio debajo de un 1.59%. La reducción en la generación de circuitos que no producirán frutos en la búsqueda, implica una enorme reducción de tiempo y recursos computacionales; lo que hace de este trabajo una aportación al diseño automático.

El sistema completo de operadores y mecanismos genéticos actuando en conjunto, es capaz de realizar la evolución artificial tanto de la topología, como de los valores de los elementos.

El tiempo promedio de ejecución de cada generación fue de 9.173 segundos, lo que comparado estudios recientes como el de Khalifa et al [5], implica una mejora por encima del 8.27%, pues en promedio el algoritmo mencionado, tarda 10 segundos por generación en la ejecución de una población del mismo tamaño, pero durante 150 generaciones en lugar de 200.

5. TRABAJO FUTURO

El trabajo realizado con el algoritmo genético es muy alentador; sin embargo los autores de este documento están convencidos de que es factible mejorar el desempeño de los mecanismos de evolución si se implementan en el marco de un Algoritmo de Estimación de la Distribución.

El equipo de trabajo comenzará la siguiente etapa de esta investigación implementado el algoritmo UMDA (Univariate Marginal Distribution Algorithm). Para su implementación ya se comenzó el desarrollo de un mecanismo para la estimación de la distribución,

(6)

partiendo del tipo y número de elementos que presenta un circuito.

Posteriormente se realizarán estudios comparativos entre los dos algoritmos (AG y UMDA) para dar sustento a la hipótesis de este equipo de trabajo o confirmar su negación.

6. REFERENCIAS

[1] Aaserud O. and Nielsen I. R.: “Trends in current analog design: A panel debate”, Analog Integrated Circuits and Signal Processing, Vol 7, No. 1, pp. 5-9, 1995.

[2] Das A. and Vemuri R.: “An Automated Passive Analog Circuit Synthesis Framework using Genetic

Algorithms”. IEEE Computer Society Annual

Symposium on VLSI ISVL ’07. (2007) pp. 145-152. [3] Krasnicki, M.J., Phelps, R., Hellums, J.R., McClung, M. Rutenbar, R.A. Carley, L.R. “ASF: a practical simulation based methodology for the synthesis of custom analog circuits”. In Proceedings of ICCAD 2001. (2001), pp. 350–357.

[4] Ochotta, E. S., Rutenbar, R. A., and Carley, L. R. “Synthesis of high-performance analog circuits in ASTRX/OBLX”. IEEE Trans. Computer-Aided Design Integr. Circuits Syst., 15, 3 (1996), pp. 273–294.

[5] Khalifa, Y., Khan, B., Taha, F.: “Multi-objective Optimization Tool for A Free Structure Analog Circuits Design Using Genetic Algorithms and Incorporating Parasitics”. Proceedings of the 2007 GECCO conference companion on Genetic and evolutionary computation, July 7-11, London, England, United Kingdom, (2007), pp. 2527-2534.

[6] Goh C. and Li Y.: “GA Automated Design and Synthesis of Analog Circuits with Practical Constraints”. Proc. IEEE Int. Conf. Evol. Computation. IEEE Pres. (2001), pp. 170-177.

[7] Lohn J., y Colombano S.: “Automated Analog Circuit Synthesis using a Linear Representation”. Proc. of the Second Int’l Conf. on Evolvable Systems: From Biology to Hardware, Springer-Verlag, Berlín, 1998, pp.125-133. [8] Torres A, Ponce de León E, Torres MD, Luna F.: “Algoritmo Genético aplicado al Diseño Evolutivo de Circuitos Analógicos”. 3er Congreso de Computación Evolutiva. Aguascalientes. México. Octubre 2007, pp. 13-19.

[9] Koza, J. R., Bennethh, F., Andre, D., Keane, M. A.: “Automated Synthesis of Analog Electrical Circuits by Means of Genetic Programming”. IEEE Transactions on Evolutionary Computation, Vol 1, No.2, July (1997), pp. 109-128.

[10] Hu, J., Zhong, X., Goodman, E. D.: “Open-ended Robust Design of Analog Filters Using Genetic Programming”. Proceedings of the 2005 conference on Genetic and evolutionary computation, June 25-29, Washington, DC, USA. (2005), pp. 1619-1626.

[11] Mühlenbein, H., Kureichik, V.M., Mahnig, T., Zinchenko L.A. “Application of the Univariate Marginal Distribution Algorithm to Analog Circuit Design”. In Proceedings of the Evolvable Hardware Conference 2002. (2002), pp 93-101.

[12] Mühlenbein, H., Zinchenko, L.A., et al. “Effective Mutation Rate of Probabilistic Models for Evolutionary Analog Circuit Design”. In Proc. IEEE ICAIS 2002. (2002), pp. 401-406.

[13] Zinchenko L.A., Radecker M., Bisogno F. “Multi-objective univariate marginal distribution optimisation of mixed analogue-digital signal circuits”. Proceedings of the 9th annual conference on Genetic and evolutionary. GECCO ’07. (2007), pp. 2242-2249.

[14] Goldberg D. E. “Genetic Algorithms in Search, Optimization, and Machine Learning”. Addison-Wesley. 1989.

[15] Torres A., Ponce de León E., Hernández A., Torres M.D., Torres A.B. “Mecanismo robusto de generación de circuitos analógicos”. Avances en computación evolutiva. Centro de Investigaciones en Matemáticas. ISBN: 968-5733-10-4. 2008. pp. 67-74.

[16] Mattiussi. C, and Floreano. D., “Analog Genetic Encoding for the Evolution of Circuits and Networks”. IEEE Transactions On Evolutionary Computation, Vol. 11, No. 5, October 2007, pp 596-607.

[17] Horrocks, D., and Khalifa, M.: “Genetically Derived Filter Circuits Using Preferred Value Components” 1994. pp. 4/1-4/5.

[18] Goh C. and Li Y.: “Advanced Graph Theory and Genetic Algorithm Based Symbolic Circuit Design Automation,” Proceedings of the Second Asia-Pacific Conference on Genetic Algorithms and Applications pp. 7 – 15. (1999)

[19] Curtis, D. J.: “Process Control Instrumentation Technology”. Prentice Hall. (2003)

Referencias

Documento similar

se desarrolló una codificación especial para representar problemas de agrupamiento dentro de los cromosomas, y también se desarrollaron operadores genéticos

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

En este capítulo se dan los fundamentos necesarios sobre los algoritmos genéticos y de evolución diferencial para el desarrollo del algoritmo propuesto para

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Por otra parte, también se observa que el umbral a partir del cual aparece la probabilidad de bloqueo de ruta es mayor para mayores valores de M, debido a que se dispone de más