[go: up one dir, main page]

ES2278516A1 - Digital circuit for implementing genetic algorithm, comprises circuit generation algorithm and genetic circuit evaluator, where circuit generation includes random number generator, logic function, two multiplexers and recorder - Google Patents

Digital circuit for implementing genetic algorithm, comprises circuit generation algorithm and genetic circuit evaluator, where circuit generation includes random number generator, logic function, two multiplexers and recorder 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
Spanish (es)
Other versions
ES2278516B1 (en
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/en
Publication of ES2278516A1 publication Critical patent/ES2278516A1/en
Application granted granted Critical
Publication of ES2278516B1 publication Critical patent/ES2278516B1/en
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.Digital circuit that implements a genetic algorithm for the configuration of general purpose circuits. Digital circuit that implements a genetic algorithm for configuring general-purpose circuits, providing a new configuration in each unit of time and estimating the degree of adaptation of said circuit, and comprising a genetic algorithm generation circuit and an evaluation circuit, characterized in that said genetic algorithm generation circuit comprises at least one random number generator, an XOR logic function, a first multiplexer, a register and a second multiplexer, and said evaluation circuit comprises at least one estimation circuit adapter, a multiplexer, a register and a comparator.

Description

Circuito digital que implementa un algoritmo genético para la configuración de circuitos de propósito general.Digital circuit that implements an algorithm Genetic for configuration of purpose circuits 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.The present invention relates to a circuit digital that implements a genetic algorithm for configuration of general purpose circuits. Said invention is optimized. for real time applications.

Antecedentes de la invenciónBackground of the invention

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".John Holland described the idea of using the genetics as a model to solve computer problems, in its 1975 monograph entitled "Adaptation in natural and Artificial Systems ", in Spanish" Adaptation in natural systems and artificial. "

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.Holland suggested that starting from several gene sets (chromosomes) chosen randomly and from of a methodology to determine if a chromosome is better than another, an optimal solution can be obtained from mechanisms of crossing, mutation and selection of the genes of those chromosomes.

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.Programming using genetic algorithms It is therefore based on natural selection processes where the genetic code of each new generation of individuals possesses certain mutated genes that make the new individual not identical to previous. Only those that best adapt to the environment will be the that are selected for the next generation.

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.
Genetic algorithms provide an effective method to converge towards solutions in a large universe of possible values. The advantage they provide over any other optimization mechanism is that they can be applied to any type of system or valuation metric without changing the procedures of the
algorithm.

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.The genetic algorithms are widely applied in evolutionary computing, which is a fast field growth within artificial intelligence. Characterized for being superior to sequential trial and error algorithms when it comes to computing time, hence the interest in use genetic algorithms in system programming that They operate in real time.

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.Most genetic architectures that are know use the software for genetic network programming neuronal or other systems (as in Schemmel's article J, et al. "A VLSI Implementation of an Analog Neural Network suited for Genetic Algorithms ", 4 ^ th International Conference on Evolvable Systems ICES'01). These systems of application of Software-based algorithms present the great disadvantage of their slowness, as well as the lack of reliability due to the fact of being a sequential process So, a program compiled into a processor that sequentially executes the present instructions in a memory it is likely to fail radically if any bit of its memory changes its value in an unwanted way (known processes as SEU or Single Event Upset). These SEUs may be due to the exposure of the circuit to the surrounding radiation and are a problem growing in space applications, electronic devices to commercial flight board or even manufactured devices using current technologies (with typical lengths shorter than the hundred nanometers) even when they are operating at the level of sea. Another drawback of systems that use software to the genetic programming of neural networks is that they lose part of the redundancy and fault tolerance characteristics of the parallel computation of the network that they have to configure when they depend of a sequential learning process.

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.There are also several proposals for implementation of genetic algorithms in hardware with the intention to accelerate the processing speed of said devices. In the US5970487 by J. Barry Shackleford et al. "Genetic Algorithm Machine and its Production Method, and Method for Executing a Genetic Algorithm "an implementation is presented hardware at the logic gate level with all its own functions of a genetic algorithm (creation, memorization, selection, crossing, mutation, gene evaluation). In WO02071209 patent of Peter Martin "Evolutionary Programming of Configurable Logic Devices "presents the implementation of a genetic algorithm in a hardware description language (Handel-C) which is then compiled into an FPGA (Field Programmable Gate Array). Nevertheless, the above-mentioned hardware implementations do not They are optimized for real-time applications.

Descripción de la invenciónDescription of the invention

Con el circuito digital de la invención se consiguen resolver los inconvenientes citados.With the digital circuit of the invention, They manage to solve the aforementioned problems.

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.
The digital circuit of the invention is of the type that implements a genetic algorithm for configuring general purpose circuits (CPG), which provides a new configuration in each unit of time and estimates the degree of adaptation of said circuit, and comprises a circuit of Generation of genetic algorithms (CGAG) and an evaluation circuit (CE). It is characterized in that said CGAG comprises at least one random number generator (GNA), an XOR logic function, a first multiplexer, a register and a second multiplexer and because said CE comprises at least one adaptation estimation circuit (CEA), a multiplexer, a register and a
comparator

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.The advantage of this invention (with respect to hardware implementations mentioned above) is the largest speed of execution when implementing a genetic algorithm simplified. Said digital circuit is optimized for only one configuration (or chromosome) which is mutated, fit (or adaptation) and is compared to the best configuration achieved up to the moment.

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.When using only one individual, the crossover processes, selection or use of a memory for the storage of all individuals (a typical population can around one hundred individuals) as in US5970487 already mentioned. In this way the hardware used is minimized, avoids the need to use RAM with which the execution of the algorithm is faster and much less sensitive to environments of radiation like those already mentioned (thus minimizing the impact of SEU). A solution designed to take full advantage is presented the high speed and reliability properties derived from parallelism present in neural networks or automatons cell phones, which are possible examples of applications for said invention. It is therefore an optimized solution for applications that need to work in real time.

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.The global operation of the digital circuit is the next: The configuration of the CPG is changed by one equal to the best obtained so far except in some values randomly selected by a 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.The behavior of the new generation is evaluated in the EC evaluation circuit comparing the new behavior with the expected. When the EC finds that the new configuration is better, then the setting value is stored in a register and the CGAG genetic algorithm generation circuit stores the new configuration in substitution of the previous one.

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).The architecture can be programmed to work in the operating mode (with a fixed configuration) or in the learning mode (using mutations of the best selected settings every certain unit of time).

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.The proposed architecture can be used to the programming of neural networks, cellular automatons, FPGAs or even of microprocessors. Neural networks and automata cell phones consist of a set of interconnected elements in where each element performs a simple operation, but what positions to work in cooperation perform complex functions such as pattern recognition, real-time image processing, identification of time series, etc. In principle there is no established methodology for programming such networks (no the same goes for processors that do have a methodology well established). A feasible option is the application of Genetic algorithms to network configuration. The architecture proposal can also be applied to change the program stored in the memory of a microprocessor.

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.Preferably the digital circuit of the The present invention is characterized in that the CE comparator imply any type of inequality of the type f (A)> g (B), where A is the adjustment value of the new setting, B is the setting value of the setting better, while f and g are any two functions.

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).Choosing appropriate functions when comparing setting values of the settings can reduce the probability of falling to local lows, that is to say reduce the likelihood of ending up in solutions far from the optimal solution (or global minimum).

Breve descripción de los dibujosBrief description of the drawings

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.For greater understanding of how much has been exposed some drawings are accompanied in which, schematically and only to non-limiting example title, a case study of realization.

En dichos dibujos:In these drawings:

la figura 1 es un diagrama de estados del circuito digital propuesto;Figure 1 is a state diagram of the proposed digital circuit;

la figura 2 es un esquema del circuito digital propuesto;Figure 2 is a schematic of the digital circuit proposed;

la figura 3 es un diagrama de bloques del circuito digital propuesto;Figure 3 is a block diagram of the proposed digital circuit;

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.Figures 4 and 5 correspond to a function example, where the whole set of configurations that can be used in the CPG and its corresponding values of adjustment.

Descripción de una realización preferidaDescription of a preferred embodiment

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.As shown in figure 2, the circuit digital 6 that implements the genetic algorithm consists of two basic blocks, the genetic algorithm generation circuit (CGAG) 9 and the evaluation circuit (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).As shown in Figure 3, CGAG 9 generates a new configuration (or chromosome) starting from the best found so far (binary number stored in the output of record 14). Using a random number generator 11 that it can be a "Linear Feedback Shift Register" (LFSR) or a chaotic circuit, performs a logical function 12 (which can be the XOR function) with the best configuration obtained so far. The result is a new configuration (binary block output XOR 12) which is the same as the previous one except in those cases in which GNA 11 provides a high voltage value (in the case that 12 be an XOR block). The new configuration (mutated chromosome) is applied to CPG 7 when control signal 20 of multiplexer 15 It has a high voltage value (selection of learning mode).

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.A diagram of states is shown in Figure 1 learning mode to clarify the sequence of functions executed. The last best chromosome stored in memory 1 is randomly mutated 2 and its setting evaluated 3, the value is compared of adjustment of the mutated chromosome with the last adjustment value better chromosome 4 and finally the chromosome is selected with greater setting value 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.When signal 20 is a low voltage (mode operation) the best configuration found until the moment (and that is stored in the output of register 14) is loaded to CPG 7. At the moment when the evaluation circuit 10 find that the new configuration is better than the previous one, the mutated chromosome overwrites the previous value of better configuration. This is done by a multiplexer 13 that is controlled by CE 10. Global clock 31 controls the time during which each New configuration is evaluated.

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.EC 10 assesses the level of adaptation experienced by the CPG 7. A circuit for estimating the adaptation (CEA) 16 compares the behavior of CPG 7 with the expected (to be chosen by the designer). The result of this evaluation is compared with the adjustment value obtained from the best configuration achieved so far and that is stored in registration 18. When the new configuration is better, the output from comparator 19 indicates to multiplexers 13 and 17 that they have to change the old values for better configuration and better fit For the new values. At the end of the configuration time (controlled by clock 31) the values provided on departure of the multiplexers are stored in registers 14 and 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.In genetic algorithms a sexual reproduction (crossing of two chromosomes chosen from one population) to try to avoid falling into local minimums, that is, non-optimal solutions to the problem in question. The invention presented does not use chromosome crossing with the idea of simplifying algorithm implementation, so the probability of falling in local minima it should be greater than in the algorithms where use the crossover (since a population of chromosomes is not used diverse and located in different points of the search space). To solve this problem, a type of comparison in (19) quite flexible of the type f (A)> g (B), where A is the adjustment value of the new setting, B is the setting value of the setting better, while f and g are any two functions.

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).A proposal is described in Figures 4 and 5 concrete comparison function where 22 represents all the set of configurations that can be used in the CPG and 21 represents their corresponding adjustment values. If you are in a local minimum 23 and the current setting B does not change until the setting value of the new configuration A is better than the value of adjustment of B, then the probability of jump 28 (thanks to the mutation) from the local minimum to the global minimum 24 is small (since mutations always occur from a single setting). On the other hand, if a certain worsening is tolerated in the adjustment value B, that is, an inequality of the type A> B-X (where X 27 designates the degree of tolerance), then the jump probability 29 from the minimum local to global increase (since mutations occur from of several configurations and the cone of attraction of the global minimum is older).

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);1. Digital circuit (6) that implements a genetic algorithm to configure general purpose circuits (7), which provides a new configuration in each unit of time and estimate the degree of adaptation of said circuit (7), and that it comprises a circuit for generating genetic algorithms (9) and a evaluation circuit (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); characterized in that said genetic algorithm generation circuit (9) comprises at least one random number generator (11), an XOR logic function (12), a first multiplexer (13), a register (14) and a second multiplexer (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).and said evaluation circuit (10) comprises the minus an adaptation estimation circuit (16), a multiplexer (17), a record (18) and a comparator (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".2. Digital circuit (6) according to claim 1, characterized in that the random number generator (11) is a "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.3. Digital circuit (6) according to claim 1, characterized in that the random number generator (11) is a chaotic circuit. 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.4. Digital circuit (6) according to claims 1, 2 or 3, characterized in that the output of the random number generator (11) and the best configuration are combined with any type of logic circuit in order to obtain a mutation of the initial configuration. 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.5. Digital circuit (6) according to claims 1, 2, 3 or 4, characterized in that the comparator (19) of the evaluation circuit (10) implies any type of inequality of the type f (A)> g ( B), where A is the adjustment value of the new configuration, B is the adjustment value of the best configuration, while f and g are any two functions.
ES200502088A 2005-08-24 2005-08-24 DIGITAL CIRCUIT THAT IMPLEMENTS A GENETIC ALGORITHM FOR THE CONFIGURATION OF GENERAL PURPOSE CIRCUITS. Expired - Fee Related ES2278516B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES200502088A ES2278516B1 (en) 2005-08-24 2005-08-24 DIGITAL CIRCUIT THAT IMPLEMENTS A GENETIC ALGORITHM FOR THE CONFIGURATION OF GENERAL PURPOSE CIRCUITS.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES200502088A ES2278516B1 (en) 2005-08-24 2005-08-24 DIGITAL CIRCUIT THAT IMPLEMENTS A GENETIC ALGORITHM FOR THE CONFIGURATION OF GENERAL PURPOSE CIRCUITS.

Publications (2)

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

Family

ID=38330998

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200502088A Expired - Fee Related ES2278516B1 (en) 2005-08-24 2005-08-24 DIGITAL CIRCUIT THAT IMPLEMENTS A GENETIC ALGORITHM FOR THE CONFIGURATION OF GENERAL PURPOSE CIRCUITS.

Country Status (1)

Country Link
ES (1) ES2278516B1 (en)

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 (en) * 1998-12-18 2000-06-30 Nagoya Industrial Science Research Inst Processor for genetic algorithm
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 (en) * 1998-12-18 2000-06-30 Nagoya Industrial Science Research Inst Processor for genetic algorithm
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 (en) 2008-06-16

Similar Documents

Publication Publication Date Title
US20150106316A1 (en) Method and apparatus for providing real-time monitoring of an artifical neural network
Cai et al. Harnessing intrinsic noise in memristor hopfield neural networks for combinatorial optimization
CN104240753A (en) Synapse array, pulse shaper circuit and neuromorphic system
Kornijcuk et al. Recent Progress in Real‐Time Adaptable Digital Neuromorphic Hardware
US10147045B2 (en) Self-organized critical CMOS circuits and methods for computation and information processing
Tsipas et al. Unconventional computing with memristive nanocircuits
ES2278516B1 (en) DIGITAL CIRCUIT THAT IMPLEMENTS A GENETIC ALGORITHM FOR THE CONFIGURATION OF GENERAL PURPOSE CIRCUITS.
Cahill Catastrophic forgetting in reinforcement-learning environments
Nehaniv Self-replication, evolvability and asynchronicity in stochastic worlds
Ediger et al. Evolving 6-state automata for optimal behaviors of creatures compared to exhaustive search
Thoma et al. Self-replication mechanism by means of self-reconfiguration
Ediger et al. Effectively evolving finite state machines compared to enumeration
Edwards Circuit morphologies and ontogenies
Higuchi et al. Applying evolvable hardware to autonomous agents
Liu et al. A biological development model for the design of robust multiplier
Ortega-Sanchez Embryonics: a bio-inspired fault-tolerant multicellular system.
Paulin et al. Bayesian head state prediction: computing the dynamic prior with spiking neurons
Voelcker et al. Calibrated Value-Aware Model Learning with Stochastic Environment Models
Upegui et al. Neural development on the ubichip by means of dynamic routing mechanisms
Tufte From evo to evodevo: Mapping and adaptation in artificial development
Zhou Memristive Spiking Neural Network for Neuromorphic Computing
Sakhuja Incorporating prior knowledge to efficiently design deep learning accelerators
Hoffmann et al. Evolving multi-creature systems for all-to-all communication
Liolis Complex electronic circuits design with quantum-dot cellular automata
Pena et al. Evolutionary graph models with dynamic topologies on the ubichip

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