ES2278516A1 - Circuito digital que implementa un algoritmo genetico para la configuracion de circuitos de proposito general. - Google Patents

Circuito digital que implementa un algoritmo genetico para la configuracion de circuitos de proposito general. Download PDF

Info

Publication number
ES2278516A1
ES2278516A1 ES200502088A ES200502088A ES2278516A1 ES 2278516 A1 ES2278516 A1 ES 2278516A1 ES 200502088 A ES200502088 A ES 200502088A ES 200502088 A ES200502088 A ES 200502088A ES 2278516 A1 ES2278516 A1 ES 2278516A1
Authority
ES
Spain
Prior art keywords
circuit
genetic
random number
number generator
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
ES200502088A
Other languages
English (en)
Other versions
ES2278516B1 (es
Inventor
Josep Lluis Rossello Sanz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universitat de les Illes Balears
Original Assignee
Universitat de les Illes Balears
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universitat de les Illes Balears filed Critical Universitat de les Illes Balears
Priority to ES200502088A priority Critical patent/ES2278516B1/es
Publication of ES2278516A1 publication Critical patent/ES2278516A1/es
Application granted granted Critical
Publication of ES2278516B1 publication Critical patent/ES2278516B1/es
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Physiology (AREA)
  • Feedback Control In General (AREA)

Abstract

Circuito digital que implementa un algoritmo genético para la configuración de circuitos de propósito general. Circuito digital que implementa un algoritmo genético para configurar circuitos de propósito general, que proporciona una nueva configuración en cada unidad de tiempo y estima el grado de adaptación de dicho circuito, y que comprende un circuito de generación de algoritmos genéticos y un circuito de evaluación, caracterizado por el hecho de que dicho circuito de generación de algoritmos genéticos comprende al menos un generador de números aleatorios, una función lógica XOR, un primer multiplexor, un registro y un segundo multiplexor, y dicho circuito de evaluación comprende al menos un circuito de estimación de adaptación, un multiplexor, un registro y un comparador.

Description

Circuito digital que implementa un algoritmo genético para la configuración de circuitos de propósito general.
La presente invención se refiere a un circuito digital que implementa un algoritmo genético para la configuración de circuitos de propósito general. Dicha invención está optimizada para aplicaciones en tiempo real.
Antecedentes de la invención
John Holland describió la idea de usar la genética como modelo para resolver problemas informáticos, en su monografía de 1975 titulada "Adaptation in natural and Artificial Systems", en castellano "Adaptación en sistemas naturales y artificiales".
Holland sugería que partiendo de varios conjuntos de genes (cromosomas) elegidos aleatoriamente y a partir de una metodología para determinar si un cromosoma es mejor que otro, se puede obtener una solución óptima a partir de mecanismos de cruce, mutación y selección de los genes de esos cromosomas.
La programación utilizando algoritmos genéticos está pues basada en los procesos de selección natural en donde el código genético de cada nueva generación de individuos posee ciertos genes mutados que hacen que el nuevo individuo no sea idéntico al anterior. Solamente aquellos que más se adapten al medio serán los que se seleccionen para la siguiente generación.
Los algoritmos genéticos proporcionan un método eficaz para converger hacia soluciones en un gran universo de posibles valores. La ventaja que proporcionan sobre cualquier otro mecanismo de optimización es que se pueden aplicar a cualquier tipo de sistema o de métrica de valoración sin necesidad de cambiar los procedimientos del
algoritmo.
Los algoritmos genéticos son ampliamente aplicados en la computación evolutiva, que es un campo de rápido crecimiento dentro de la inteligencia artificial. Se caracterizan por ser superiores a los algoritmos secuenciales de prueba y error en lo que respecta a tiempo de computación, de ahí el interés en utilizar algoritmos genéticos en la programación de sistemas que operan en tiempo real.
La mayoría de arquitecturas genéticas que se conocen utilizan el software para la programación genética de redes neuronales u otro tipo de sistemas (como en el artículo de Schemmel J, y col. "A VLSI Implementation of an Analog Neural Network suited for Genetic Algorithms", 4^{th} International Conference on Evolvable Systems ICES'01). Estos sistemas de aplicación de los algoritmos basados en software presentan la gran desventaja de su lentitud, así como la falta de fiabilidad por el hecho de ser un proceso secuencial. Así pues, un programa compilado en un procesador que ejecuta secuencialmente las instrucciones presentes en una memoria es susceptible de fallar radicalmente si algún bit de su memoria cambia de valor de forma no deseada (procesos conocidos como SEU o Single Event Upset). Estos SEU puede ser debidos a la exposición del circuito a la radiación del entorno y son un problema creciente en aplicaciones espaciales, dispositivos electrónicos a bordo de vuelos comerciales o incluso en los dispositivos fabricados usando las tecnologías actuales (con longitudes típicas inferiores a los cien nanómetros) aún cuando éstas estén funcionando a nivel del mar. Otro inconveniente de los sistemas que utilizan software para la programación genética de redes neuronales es que se pierden parte de las características de redundancia y tolerancia a fallos del cómputo en paralelo de la red que tienen que configurar al depender de un proceso de aprendizaje secuencial.
También existen varias propuestas de implementación de algoritmos genéticos en hardware con la intención de acelerar la velocidad de procesado de dichos dispositivos. En la patente US5970487 de J. Barry Shackleford y col. "Genetic Algorithm Machine and its Production Method, and Method for Executing a Genetic Algorithm" se presenta una implementación hardware a nivel de puertas lógicas con todas las funciones propias de un algoritmo genético (creación, memorización, selección, cruce, mutación, evaluación de los genes). En la patente WO02071209 de Peter Martin "Evolutionary Programming of Configurable Logic Devices" se presenta la implementación de un algoritmo genético en un lenguaje de descripción hardware (Handel-C) que luego es compilado en una FPGA (Field Programable Gate Array). Pese a todo, las arriba mencionadas implementaciones hardware no están optimizadas para aplicaciones en tiempo real.
Descripción de la invención
Con el circuito digital de la invención se consiguen resolver los inconvenientes citados.
El circuito digital de la invención, es del tipo que implementa un algoritmo genético para configurar circuitos de propósito general (CPG), que proporciona una nueva configuración en cada unidad de tiempo y estima el grado de adaptación de dicho circuito, y comprende un circuito de generación de algoritmos genéticos (CGAG) y un circuito de evaluación (CE). Está caracterizado porque dicho CGAG comprende al menos un generador de números aleatorios (GNA), una función lógica XOR, un primer multiplexor, un registro y un segundo multiplexor y porque dicho CE comprende por lo menos un circuito de estimación de adaptación (CEA), un multiplexor, un registro y un
comparador.
La ventaja de esta invención (respecto a las implementaciones hardware mencionadas anteriormente) es la mayor rapidez de ejecución al implementar un algoritmo genético simplificado. Dicho circuito digital está optimizado para una sola configuración (o cromosoma) el cual se muta, se evalúa el ajuste (o adaptación) y se compara con la mejor configuración conseguida hasta el momento.
Al utilizar un solo individuo no se realizan los procesos de cruce, selección o utilización de una memoria para el almacenamiento de todos los individuos (una población típica puede rondar los cien individuos) como en la patente US5970487 ya mencionada. De esta manera se minimiza el hardware utilizado, se evita la necesidad de utilizar memorias RAM con lo que la ejecución del algoritmo es más veloz y mucho menos sensible a entornos de radiación como los ya mencionados (minimizando así el impacto de los SEU). Se presenta una solución pensada para aprovechar al máximo las propiedades de alta velocidad y fiabilidad derivadas del paralelismo presente en las redes neuronales o los autómatas celulares, las cuales son posibles ejemplos de aplicaciones para dicha invención. Se trata por tanto de una solución optimizada para aplicaciones que necesitan funcionar en tiempo real.
La operación global del circuito digital es el siguiente: La configuración del CPG es cambiada por una igual a la mejor obtenida hasta el momento excepto en algunos valores seleccionados aleatoriamente por un GNA.
El comportamiento de la nueva generación es evaluado en el circuito de evaluación CE que compara el nuevo comportamiento con el esperado. Cuando el CE encuentra que la nueva configuración es mejor, entonces el valor de ajuste es almacenado en un registro y el circuito de generación de algoritmos genéticos CGAG almacena la nueva configuración en substitución de la anterior.
La arquitectura puede ser programada para trabajar en el modo de operación (con una configuración fija) o en el modo de aprendizaje (utilizando mutaciones de la mejor configuración seleccionadas cada cierta unidad de tiempo).
La arquitectura propuesta puede ser usada para la programación de redes neuronales, autómatas celulares, FPGAs o incluso de microprocesadores. Las redes neuronales y los autómatas celulares consisten en un conjunto de elementos interconexionados en donde cada elemento realiza una operación sencilla, pero que puestos a trabajar en cooperación realizan funciones complejas como el reconocimiento de patrones, tratamiento de imágenes en tiempo real, identificación de series temporales, etc. En principio no existe una metodología establecida para la programación de dichas redes (no ocurre lo mismo con los procesadores que sí tienen una metodología bien establecida). Una opción factible es la aplicación de algoritmos genéticos a la configuración de la red. La arquitectura propuesta también puede ser aplicada para cambiar el programa almacenado en la memoria de un microprocesador.
Preferiblemente el circuito digital de la presente invención se caracteriza porque el comparador del CE implique cualquier tipo de desigualdad del tipo f(A)>g(B), donde A es el valor de ajuste de la nueva configuración, B es el valor de ajuste de la configuración mejor, mientras que f y g son dos funciones cualesquiera.
Escogiendo funciones adecuadas al comparar los valores de ajuste de las configuraciones se consigue reducir la probabilidad de caer en mínimos locales, es decir se consigue reducir la probabilidad de acabar en soluciones alejadas de la solución óptima (o mínimo global).
Breve descripción de los dibujos
Para mayor comprensión de cuanto se ha expuesto se acompañan unos dibujos en los que, esquemáticamente y sólo a título de ejemplo no limitativo, se representa un caso práctico de realización.
En dichos dibujos:
la figura 1 es un diagrama de estados del circuito digital propuesto;
la figura 2 es un esquema del circuito digital propuesto;
la figura 3 es un diagrama de bloques del circuito digital propuesto;
las figuras 4 y 5 corresponden a una función ejemplo, donde se representa todo el conjunto de configuraciones que pueden ser utilizadas en el CPG y sus correspondientes valores de ajuste.
Descripción de una realización preferida
Como se muestra en la figura 2, el circuito digital 6 que implementa el algoritmo genético consiste en dos bloques básicos, el circuito de generación de algoritmos genéticos (CGAG) 9 y el circuito de evaluación (CE) 10.
Como se muestra en la figura 3, el CGAG 9 genera una nueva configuración (o cromosoma) partiendo de la mejor encontrada hasta el momento (número binario almacenado en la salida del registro 14). Usando un generador de números aleatorios 11 que puede ser un "Linear Feedback Shift Register" (LFSR) o un circuito caótico, realiza una función lógica 12 (que puede ser la función XOR) con la mejor configuración obtenida hasta el momento. El resultado es una nueva configuración (salida binaria del bloque XOR 12) que es igual a la anterior excepto en esos casos en los que el GNA 11 proporciona un valor alto de tensión (en el caso de que 12 sea un bloque XOR). La nueva configuración (cromosoma mutado) es aplicada al CPG 7 cuando la señal de control 20 del multiplexor 15 tiene un valor alto de tensión (selección del modo aprendizaje).
En la figura 1 se muestra un diagrama de estados del modo aprendizaje para clarificar la secuencia de funciones ejecutadas. El último mejor cromosoma guardado en la memoria 1 es mutado aleatoriamente 2 y su ajuste evaluado 3, se compara el valor de ajuste del cromosoma mutado con el valor de ajuste del último mejor cromosoma 4 y finalmente se selecciona el cromosoma con mayor valor de ajuste 5.
Cuando la señal 20 es una tensión baja (modo operación) la mejor configuración que haya sido encontrada hasta el momento (y que se almacena en la salida del registro 14) es cargada al CPG 7. En el momento en el que el circuito de evaluación 10 encuentra que la nueva configuración es mejor que la anterior, el cromosoma mutado sobrescribe el valor previo de mejor configuración. Esto es realizado mediante un multiplexor 13 que es controlado por el CE 10. El reloj global 31 controla el tiempo durante el cual cada nueva configuración es evaluada.
El CE 10 evalúa el nivel de adaptación experimentado por el CPG 7. Un circuito de estimación de la adaptación (CEA) 16 compara el comportamiento del CPG 7 con el esperado (a elegir por el diseñador). El resultado de esta evaluación es comparado con el valor de ajuste obtenido de la mejor configuración conseguida hasta el momento y que está almacenada en el registro 18. Cuando la nueva configuración es mejor, la salida del comparador 19 indica a los multiplexores 13 y 17 que tienen que cambiar los antiguos valores de mejor configuración y mejor ajuste por los nuevos valores. Al final del tiempo de configuración (controlado por el reloj 31) los valores proporcionados a la salida de los multiplexores se almacenan en los registros 14 y 18.
En los algoritmos genéticos se utiliza una reproducción sexual (cruce de dos cromosomas escogidos de una población) para intentar evitar caer en mínimos locales, es decir, soluciones no óptimas al problema en cuestión. La invención presentada no utiliza cruce de cromosomas con la idea de simplificar la implementación del algoritmo, por lo que la probabilidad de caer en mínimos locales debería ser mayor que en los algoritmos donde se utiliza el cruce (ya que no se utiliza una población de cromosomas diversa y localizada en distintos puntos del espacio de búsqueda). Para solventar este inconveniente se debe utilizar un tipo de comparación en (19) bastante flexible del tipo f(A)>g(B), donde A es el valor de ajuste de la nueva configuración, B es el valor de ajuste de la configuración mejor, mientras que f y g son dos funciones cualesquiera.
En las figuras 4 y 5 se describe una propuesta concreta de función de comparación donde 22 representa todo el conjunto de configuraciones que pueden ser utilizadas en el CPG y 21 representa sus correspondientes valores de ajuste. Si se está en un mínimo local 23 y la configuración actual B no cambia hasta que el valor de ajuste de la configuración nueva A es mejor que el valor de ajuste de B, entonces la probabilidad de salto 28 (gracias a la mutación) del mínimo local al mínimo global 24 es pequeña (ya que las mutaciones se producen siempre a partir de una única configuración). Por otro lado, si se tolera un cierto empeoramiento en el valor de ajuste B, es decir, una desigualdad del tipo A>B-X (donde X 27 designa el grado de tolerancia), entonces la probabilidad de salto 29 desde el mínimo local al global aumentan (ya que las mutaciones se producen a partir de varias configuraciones y el cono de atracción del mínimo global es mayor).

Claims (5)

1. Circuito digital (6) que implementa un algoritmo genético para configurar circuitos de propósito general (7), que proporciona una nueva configuración en cada unidad de tiempo y estima el grado de adaptación de dicho circuito (7), y que comprende un circuito de generación de algoritmos genéticos (9) y un circuito de evaluación (10);
caracterizado por el hecho de que dicho circuito de generación de algoritmos genéticos (9) comprende al menos un generador de números aleatorios (11), una función lógica XOR (12), un primer multiplexor (13), un registro (14) y un segundo multiplexor (15);
y dicho circuito de evaluación (10) comprende al menos un circuito de estimación de adaptación (16), un multiplexor (17), un registro (18) y un comparador (19).
2. Circuito digital (6) según la reivindicación 1, caracterizado por el hecho de que el generador de números aleatorios (11) es un "Linear Feedback Shift Register".
3. Circuito digital (6) según la reivindicación 1, caracterizado por el hecho de que el generador de números aleatorios (11) es un circuito caótico.
4. Circuito digital (6) según las reivindicaciones 1, 2 ó 3, caracterizado por el hecho de que la salida del generador de números aleatorios (11) y la mejor configuración son combinados con cualquier tipo de circuito lógico con el objetivo de obtener una mutación de la configuración inicial.
5. Circuito digital (6) según las reivindicaciones 1, 2, 3 ó 4, caracterizado por el hecho de que el comparador (19) del circuito de evaluación (10) implique cualquier tipo de desigualdad del tipo f(A)>g(B), donde A es el valor de ajuste de la nueva configuración, B es el valor de ajuste de la configuración mejor, mientras que f y g son dos funciones cualesquiera.
ES200502088A 2005-08-24 2005-08-24 Circuito digital que implementa un algoritmo genetico para la configuracion de circuitos de proposito general. Expired - Fee Related ES2278516B1 (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES200502088A ES2278516B1 (es) 2005-08-24 2005-08-24 Circuito digital que implementa un algoritmo genetico para la configuracion de circuitos de proposito general.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES200502088A ES2278516B1 (es) 2005-08-24 2005-08-24 Circuito digital que implementa un algoritmo genetico para la configuracion de circuitos de proposito general.

Publications (2)

Publication Number Publication Date
ES2278516A1 true ES2278516A1 (es) 2007-08-01
ES2278516B1 ES2278516B1 (es) 2008-06-16

Family

ID=38330998

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200502088A Expired - Fee Related ES2278516B1 (es) 2005-08-24 2005-08-24 Circuito digital que implementa un algoritmo genetico para la configuracion de circuitos de proposito general.

Country Status (1)

Country Link
ES (1) ES2278516B1 (es)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970487A (en) * 1996-11-19 1999-10-19 Mitsubishi Denki Kabushiki Kaisha Genetic algorithm machine and its production method, and method for executing a genetic algorithm
JP2000181895A (ja) * 1998-12-18 2000-06-30 Nagoya Industrial Science Research Inst 遺伝的アルゴリズムの処理装置
US6578176B1 (en) * 2000-05-12 2003-06-10 Synopsys, Inc. Method and system for genetic algorithm based power optimization for integrated circuit designs
US20040059955A1 (en) * 1999-03-29 2004-03-25 Agency Of Industrial Science & Technology Timing adjustment of clock signals in a digital circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970487A (en) * 1996-11-19 1999-10-19 Mitsubishi Denki Kabushiki Kaisha Genetic algorithm machine and its production method, and method for executing a genetic algorithm
JP2000181895A (ja) * 1998-12-18 2000-06-30 Nagoya Industrial Science Research Inst 遺伝的アルゴリズムの処理装置
US20040059955A1 (en) * 1999-03-29 2004-03-25 Agency Of Industrial Science & Technology Timing adjustment of clock signals in a digital circuit
US6578176B1 (en) * 2000-05-12 2003-06-10 Synopsys, Inc. Method and system for genetic algorithm based power optimization for integrated circuit designs

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Extraída de la base de datos PAJ en EPODOC & JP 2000181895 A (INST NAGOYA IND SCIENCE RES; RINNAI KK) 30.06.2000, resumen; figuras *

Also Published As

Publication number Publication date
ES2278516B1 (es) 2008-06-16

Similar Documents

Publication Publication Date Title
US10248675B2 (en) Method and apparatus for providing real-time monitoring of an artifical neural network
Dembo On the capacity of associative memories with linear threshold functions
Cai et al. Harnessing intrinsic noise in memristor hopfield neural networks for combinatorial optimization
CN104240753A (zh) 突触阵列、脉冲整形电路和神经形态系统
Kornijcuk et al. Recent Progress in Real‐Time Adaptable Digital Neuromorphic Hardware
Zyarah et al. Neuromorphic system for spatial and temporal information processing
US10147045B2 (en) Self-organized critical CMOS circuits and methods for computation and information processing
Tsipas et al. Unconventional computing with memristive nanocircuits
ES2278516B1 (es) Circuito digital que implementa un algoritmo genetico para la configuracion de circuitos de proposito general.
US20070005521A1 (en) Method and system for conditioning of numerical algorithms for solving optimization problems within a genetic framework
Cahill Catastrophic forgetting in reinforcement-learning environments
Nehaniv Self-replication, evolvability and asynchronicity in stochastic worlds
Thoma et al. Self-replication mechanism by means of self-reconfiguration
Ediger et al. Effectively evolving finite state machines compared to enumeration
ES3037407T3 (en) Control sequence for quantum computer
Edwards Circuit morphologies and ontogenies
Higuchi et al. Applying evolvable hardware to autonomous agents
Upegui et al. Dynamic routing on the ubichip: Toward synaptogenetic neural networks
Paulin et al. Bayesian head state prediction: computing the dynamic prior with spiking neurons
Ortega-Sanchez Embryonics: a bio-inspired fault-tolerant multicellular system.
Upegui et al. Neural development on the ubichip by means of dynamic routing mechanisms
Zhou Memristive Spiking Neural Network for Neuromorphic Computing
Sakhuja Incorporating prior knowledge to efficiently design deep learning accelerators
Pena et al. Evolutionary graph models with dynamic topologies on the ubichip
Hoffmann et al. Evolving multi-creature systems for all-to-all communication

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20070801

Kind code of ref document: A1

FG2A Definitive protection

Ref document number: 2278516B1

Country of ref document: ES

FD2A Announcement of lapse in spain

Effective date: 20250829