RU2294561C2 - Device for hardware realization of probability genetic algorithms - Google Patents

Device for hardware realization of probability genetic algorithms Download PDF

Info

Publication number
RU2294561C2
RU2294561C2 RU2005108760/09A RU2005108760A RU2294561C2 RU 2294561 C2 RU2294561 C2 RU 2294561C2 RU 2005108760/09 A RU2005108760/09 A RU 2005108760/09A RU 2005108760 A RU2005108760 A RU 2005108760A RU 2294561 C2 RU2294561 C2 RU 2294561C2
Authority
RU
Russia
Prior art keywords
block
unit
elite
input
population
Prior art date
Application number
RU2005108760/09A
Other languages
Russian (ru)
Other versions
RU2005108760A (en
Inventor
Виталий Витальевич Гудилов (RU)
Виталий Витальевич Гудилов
Людмила Анатольевна Зинченко (RU)
Людмила Анатольевна Зинченко
Владимир Викторович Курейчик (RU)
Владимир Викторович Курейчик
Виктор Михайлович Курейчик (RU)
Виктор Михайлович Курейчик
Original Assignee
Государственное образовательное учреждение высшего профессионального образования "Таганрогский государственный радиотехнический университет" (ТРТУ)
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 Государственное образовательное учреждение высшего профессионального образования "Таганрогский государственный радиотехнический университет" (ТРТУ) filed Critical Государственное образовательное учреждение высшего профессионального образования "Таганрогский государственный радиотехнический университет" (ТРТУ)
Priority to RU2005108760/09A priority Critical patent/RU2294561C2/en
Publication of RU2005108760A publication Critical patent/RU2005108760A/en
Application granted granted Critical
Publication of RU2294561C2 publication Critical patent/RU2294561C2/en

Links

Images

Landscapes

  • Electronic Switches (AREA)
  • Complex Calculations (AREA)

Abstract

FIELD: engineering of hardware systems, realizing probability genetic algorithms.
SUBSTANCE: device contains initialization block, block for computing value of elite area, interrupt generation block, micro-program control block, address pointer block, population generation block, block for generating capacity of chromosome, block of multiplexers, memory block, criterion calculation block, selection block, block for generation of elite area, block for computing probability.
EFFECT: decreased computational costs for evolution searching and provision of autonomous functioning of object when taking decisions in changing environment.
12 dwg, 2 tbl

Description

Предлагаемое устройство относится к аппаратным системам, реализующим вероятностные генетические алгоритмы, используемые в эволюционных инструментальных комплексах, исследованиях при проектировании виртуальных аппаратных средств (Virtual Hardware), искусственной жизни (Artificial Life) и в области самоадаптирующихся и реконфигурируемых аппаратных средств (Self-Adapting and Reconfigurable Hardware), и предназначено для снижения вычислительных затрат на проведение эволюционного поиска и обеспечения автономности функционирования объекта при принятии решений в изменяющейся среде при использовании в автономных интеллектуальных системах, обеспечения возможности использования в качестве аппаратного устройства в эволюционных инструментальных комплексах, в робототехнике, исследованиях в области саморазвивающихся и самоадаптирующихся аппаратных средств, исследованиях в области построения адаптивных систем управления и принятия решений, в области автоматизации управления, повышения эффективности оптимизационных задач и т.п.The proposed device relates to hardware systems that implement probabilistic genetic algorithms used in evolutionary tool complexes, research in the design of virtual hardware (Virtual Hardware), artificial life (Artificial Life) and in the field of self-adaptive and reconfigurable hardware (Self-Adapting and Reconfigurable Hardware ), and is intended to reduce the computational cost of conducting an evolutionary search and ensure the autonomy of the functioning of the object when making decisions in changing environment when used in autonomous intelligent systems, providing the possibility of being used as a hardware device in evolutionary instrumental complexes, in robotics, research in the field of self-developing and self-adaptive hardware, research in the field of constructing adaptive control systems and decision making, in the field of control automation, increasing efficiency of optimization tasks, etc.

Известно устройствоDevice known

"Fitness function circuit" Patent number: US 6185547, Application number: US 19970909830 19970812."Fitness function circuit" Patent number: US 6185547, Application number: US 19970909830 19970812.

Представленная схема функции фитнеса реализует функцию фитнесса (критерия пригодности) для вычисления значения фитнесса для тестового решения задачи о покрытии, ускоряет скорость выполнения генетического алгоритма (ГА), посредством матричной схемы для вывода единичного сигнала столбца, охваченного единичным сигналом строки, соответствующим биту в хромосоме, счетчика единичного сигнала столбца для подсчета единичных сигналов строк, вычитателя для вычисления разницы между подсчитанным количеством единичных сигналов строк и количеством всех элементов и вывода разницы как количества неохваченных элементов, сумматора с сохранением переноса для вывода количества достоверных сигналов строки как оценки хромосомы, составного регистра оценки, содержащего номер неохваченных элементов как более существенной части от общей оценки и оценки хромосомы как менее существенной части от общей оценки, и вывод общей оценки, инвертора для инвертирования значения полной оценки и вывода инвертированного значения как значения фитнесса.The presented diagram of the fitness function implements the fitness function (suitability criterion) for calculating the fitness value for the test solution of the coverage problem, accelerates the speed of the genetic algorithm (GA), by means of the matrix circuit for outputting a single column signal covered by a single row signal corresponding to a bit in the chromosome, a single column signal counter for counting single row signals, a subtracter to calculate the difference between the counted number of single row signals and the number of ohm of all elements and the derivation of the difference as the number of unreached elements, the adder with the transfer to display the number of reliable line signals as an evaluation of the chromosome, a composite assessment register containing the number of unreached elements as the most significant part of the overall assessment and the evaluation of the chromosome as the less significant part of the overall assessment , and the conclusion of the overall score, an inverter for inverting the value of the full score and the output of the inverted value as a fitness value.

Признаками аналога, совпадающими с существующими признаками заявляемого изобретения, являются:Signs of an analogue that coincide with the existing features of the claimed invention are:

схема функции фитнесса, обеспечивающая ввод хромосомы и вывод значения фитнесса хромосомы, содержащая аппаратную схему для вычисления количества элементов, покрывающих вышеуказанную входящую хромосому, выбранную из памяти популяции, содержащую множество хромосом и вычисляющую значение фитнесса хромосомы, основанное на вычислении количества покрывающих элементов, при условии чтобы хромосомы в указанной памяти популяции эволюционировали в область допустимых решений, аппаратная схема включает совокупность оценочных вычислителей для подсчета полной стоимости хромосомы, указанная совокупность оценочных вычислителей включает совокупность оценочных регистров для объединения и затем сохранения количества непокрытых элементов как более значительной части и вывода объединенного значения как полной оценки.fitness function diagram providing chromosome input and chromosome fitness value output, containing a hardware circuit for calculating the number of elements covering the above incoming chromosome, selected from the population memory containing many chromosomes and calculating the chromosome fitness value based on calculating the number of covering elements, provided that the chromosomes in the indicated memory of the population have evolved into the region of feasible solutions; the hardware circuit includes a set of evaluators for calculate the total cost of the chromosome set of said plurality of evaluation includes evaluation calculators registers and then to combine the conservation of unsecured items as a more significant portion and output the combined values as a total evaluation.

Причиной, препятствующей получению технического результата, является наличие совокупности оценочных регистров для объединения и сохранения количества непокрытых элементов, что приводит к усложнению алгоритма управления и вызывает дополнительные временные затраты, связанные с задержкой при записи и считывании на регистрах.The reason that impedes obtaining a technical result is the presence of a set of evaluation registers for combining and preserving the number of uncovered elements, which complicates the control algorithm and causes additional time costs associated with the delay in writing and reading on registers.

Известно устройствоDevice known

"Genetic algorithm machine and its production method, and method for executing a genetic algorithm" Patent number: US 5970487, Application number: US 19970910103 19970813, универсальная не проблемно-ориентированная аппаратная структура для выполнения генетического алгоритма (ГА), увеличивающая скорость выполнения ГА посредством памяти популяции, первого и второго регистра хромосомы, модуля кроссинговера (crossover), оператора мутации (mutation) и компаратора отбора. Не проблемно-ориентированный аспект аппаратной структуры становится проблемно-ориентированным без изменений состава структуры при включении в структуру схемы проблемно-ориентированной функции фитнесса (функции пригодности) для оценки хромосом, представляющих потенциальное решение задачи. Аппаратная структура таким образом становится пригодной для различных проблемно-ориентированных аспектов схем проблемно-ориентированных функций."Genetic algorithm machine and its production method, and method for executing a genetic algorithm" Patent number: US 5970487, Application number: US 19970910103 19970813, a universal, non-problem-oriented hardware structure for executing a genetic algorithm (GA), increasing the speed of GA execution by memory of the population, the first and second register of the chromosome, crossover module, mutation operator and selection comparator. The non-problem-oriented aspect of the hardware structure becomes problem-oriented without changing the composition of the structure when a problem-oriented fitness function (fitness function) is included in the circuit structure to evaluate chromosomes that represent a potential solution to the problem. The hardware structure thus becomes suitable for various problem-oriented aspects of problem-oriented function circuits.

Признаками аналога, совпадающими с признаками заявляемого изобретения, являются:Signs of an analogue that match the features of the claimed invention are:

память популяции, которая хранит родительскую и дочернюю хромосомы в области одного пространства памяти;population memory, which stores the parent and daughter chromosomes in the area of one memory space;

селектор для выбора хромосом из числа хромосом в популяции и выполнения операции скрещивания на множестве родительских хромосом для создания новых хромосом и выход новых хромосом как дочерних хромосом;a selector for selecting chromosomes from the number of chromosomes in a population and performing a cross operation on a plurality of parent chromosomes to create new chromosomes and output new chromosomes as daughter chromosomes;

компаратор отбора для регулирования критерия выживания мутированных хромосом, основанного на вычисленном значении фитнесса;a selection comparator for adjusting the survival criterion of mutated chromosomes based on the calculated fitness value;

схема инициализации для инициализации памяти популяции;an initialization circuit for initializing a population memory;

регистр адресного указателя для хранения адреса хромосомы с меньшим значением фитнесса среди родительских хромосом, выбранных из числа хромосом в памяти популяции после замены одной из хромосом популяции;register of the address pointer for storing the address of the chromosome with a lower fitness value among the parent chromosomes selected from the number of chromosomes in the population’s memory after replacing one of the chromosomes of the population;

селектор, содержащий множество регистров хромосом, собранных в последовательность для пропускания выбранных родительских хромосом от одного регистра хромосом к другому, где каждый из указанных регистров хромосом имеет запоминающую емкость для одной хромосомы, где каждый указанный регистр хромосом выводит получаемую родительскую хромосому в параллель с другим регистром хромосом одновременно;a selector containing a plurality of chromosome registers assembled in a sequence for passing selected parent chromosomes from one chromosome register to another, where each of the indicated chromosome registers has storage capacity for one chromosome, where each specified chromosome register outputs the resulting parent chromosome in parallel with another chromosome register at the same time;

компаратор отбора, сравнивающий оцененное значение фитнесса в регистре хромосом и регистре наименьшего значения фитнесса и передающий оцененное значение фитнесса и соответствующей оцененной хромосомы к указанной памяти популяции для замены хромосомы с меньшим значением фитнесса в популяции, основываясь на результате сравнения;a selection comparator comparing the estimated fitness value in the chromosome register and the register of the smallest fitness value and transmitting the estimated fitness value and the corresponding estimated chromosome to the indicated population memory to replace the chromosome with a lower fitness value in the population based on the comparison result;

метод для формирования машины ГА для выполнения ГА, используя представление решения задачи как хромосомы, указанный метод заключает в себе этапы:a method for forming a GA machine for performing GA, using the representation of the solution of the problem as a chromosome, this method comprises the steps of:

создание по меньшей мере одной памяти популяции, селектора, модуля кроссинговера, оператора мутации и компаратора отбора сформированных как универсальной не проблемно-ориентированной структуры, иcreating at least one memory of a population, a selector, a crossing-over module, a mutation operator, and a selection comparator formed as a universal, non-problem-oriented structure, and

создание схемы функции фитнесса оценки проблемно-ориентированного значения фитнесса хромосомы и подключения схемы функции фитнесса универсальной проблемно-ориентированной структуры так, что машина ГА становится проблемно-ориентированной.creating a fitness function diagram for evaluating the problem-oriented value of the chromosome fitness and connecting a fitness function diagram of a universal problem-oriented structure so that the GA machine becomes problem-oriented.

Причинами, препятствующими получению технического результата, являются использование оператора мутации и кроссинговера, что препятствует использованию устройства в задачах, для решения которых применяются вероятностные генетические алгоритмы.The reasons that impede the achievement of a technical result are the use of the mutation operator and crossing-over, which hinders the use of the device in tasks for which probabilistic genetic algorithms are used.

Из известных технических решений наиболее близким по технической сущности к заявляемому объекту является "Hardware Compact GA", представленное в A Hardware Implementation of the Compact Genetic Algorithm A.Chatchawit and C.Prabhas, Proceedings of the 2001 IEEE Congress on Evolutionary Computation // Seoul, KoreaMay 27-30, 2001, pp.624-629.Of the known technical solutions, the closest in technical essence to the claimed object is "Hardware Compact GA", presented in A. Hardware Implementation of the Compact Genetic Algorithm A. Chatchawit and C. Prabhas, Proceedings of the 2001 IEEE Congress on Evolutionary Computation // Seoul, Korea May 27-30, 2001, pp. 624-629.

Параметры компактного генетического алгоритма Compact GA - размер популяции (n) и длина хромосомы (l). Популяция представлена l-разрядным вектором вероятности (р). Значение p[i] - вероятность того, что i-тая позиция бита индивидуума, отобранного случайным образом из популяции, будет единичной. Сначала р инициализируется как (0.5, 0.5..., 0.5). Затем индивиды а и b генерируются согласно значению вероятности р. Значение функции фитнесса далее назначается индивидуумам а и b соответственно. Если fa>fb, тогда вектор вероятности будет модифицирован к индивидууму а. Если fa=1, и fb=0, тогда p[i] будет увеличен на 1/n. Если fa=0, fb=1, тогда p[i] будет уменьшен на 1/n. Если fa=fb, тогда p[i] не будет модифицирован. Цикл повторяется до тех пор, пока каждое значение p[i] станет нулевым или единичным. В конечном счете р представляет заключительное решение.The parameters of the Compact GA compact genetic algorithm are population size (n) and chromosome length (l). The population is represented by an l-bit probability vector (p). The value p [i] is the probability that the ith position of the bit of an individual randomly selected from a population will be single. First p is initialized as (0.5, 0.5 ..., 0.5). Then, individuals a and b are generated according to the value of probability p. The value of the fitness function is then assigned to individuals a and b, respectively. If fa> fb, then the probability vector will be modified to individual a. If fa = 1, and fb = 0, then p [i] will be increased by 1 / n. If fa = 0, fb = 1, then p [i] will be reduced by 1 / n. If fa = fb, then p [i] will not be modified. The cycle is repeated until each p [i] becomes zero or one. Ultimately p represents the final decision.

Каждое значение вероятности p[i] может быть модифицировано параллельно. Кроме того, функционирование Compact GA может частично совмещаться. Это позволят использовать конвейерную обработку, которая улучшает аппаратные характеристики.Each probability value p [i] can be modified in parallel. In addition, the operation of Compact GA can be partially combined. This will allow the use of pipelining, which improves hardware performance.

Аппаратный генетический алгоритм Compact GA включает следующие блоки: генератор случайного числа (RNG), регистр вероятности (PRB), компаратор (СМР), буферы (BUF) и вычислитель значения функции фитнесса (функции пригодности) (FEV).The Compact GA hardware genetic algorithm includes the following blocks: a random number generator (RNG), a probability register (PRB), a comparator (CMP), buffers (BUF), and a fitness function (fitness function) value calculator (FEV).

Аппаратный генетический алгоритм Compact GA выполняет операции на векторе вероятности р. Каждое измерение p[i] модифицируется параллельно. RNG, PRB и СМР модули используются, чтобы генерировать две хромосомы и хранить их в буфере BUF. FEV модули оценивают значение фитнесса двух хромосом. СМР модуль определяет победителя/проигравшего и модифицирует значение вектора вероятности PRB.The hardware genetic algorithm Compact GA performs operations on the probability vector p. Each dimension p [i] is modified in parallel. RNG, PRB and CMP modules are used to generate two chromosomes and store them in the BUF buffer. FEV modules evaluate the fitness value of two chromosomes. The CMP module determines the winner / loser and modifies the value of the probability vector PRB.

Аппаратный генетический алгоритм Compact GA работает следующим образом. Когда сигнал сброса получен, в генераторы случайного числа устанавливаются в инициализирующие значения, регистры вероятности устанавливаются в 0.5, и буфера сбрасываются в начальное состояние. Затем, повторяются следующие шаги, пока все регистраторы вероятности не будут нулевыми или единичными (решение задачи onemax):The hardware genetic algorithm of Compact GA works as follows. When a reset signal is received, the random number generators are set to initializing values, the probability registers are set to 0.5, and the buffers are reset to the initial state. Then, the following steps are repeated until all probability loggers are zero or single (solving the onemax problem):

1. Результат вычисления значения функции фитнесса зависит от выполняемой операции увеличения или уменьшения выполняемой на регистре вероятности. Затем случайные числа и регистры вероятности сравниваются.1. The result of calculating the value of the fitness function depends on the performed operation of increasing or decreasing the probability performed on the register. Then random numbers and probability registers are compared.

2. Буферы сохраняют результат сравнения. Если случайное число больше, чем p[i], i-тая позиция бита индивидуума а будет установлена в ноль. Иначе она будет установлена в единицу. Т.к. буфера синхронизированы, новые случайные числа генерируется одновременно.2. Buffers save the comparison result. If the random number is greater than p [i], the ith bit position of individual a will be set to zero. Otherwise, it will be set to one. Because buffers are synchronized, new random numbers are generated simultaneously.

3. Буферы выполняют ту же самую операцию, как в шаге 2 для индивидуума b. В этом шаге индивидуумы передаются вычислителям значений функции фитнесса, которые являются комбинационными схемами. Сравнение значений функции фитнесса используется, чтобы модифицировать регистры вероятности в шаге 1.3. Buffers perform the same operation as in step 2 for individual b. In this step, individuals are transferred to fitness function value calculators, which are combinational circuits. A comparison of the values of the fitness function is used to modify the probability registers in step 1.

Каждый шаг выполняется за один такт.Each step is performed in one step.

В результате, Compact GA выполняет одну генерацию за три тактовых цикла для задачи one-max. Количество тактов на генерацию зависит от задачи оптимизации. Более сложным задачам требуется 3+е циклов, где е - количество циклов, используемое при оценке значения функции фитнесса индивидуума. Проект реализован с использованием языка описания аппаратуры Verylog. Размер популяции n и длина хромосомы l установлены как 256 и 32 соответственно. На заключительном этапе проект изготовлен на FPGA фирмы Xilinx. По результатам синтеза для задачи one-max проект использует 15210 эквивалентных вентилей, максимальная частота функционирования 23,57 МГц, было достигнуто повышение быстродействия по сравнению с программной версией в 1000 раз.As a result, Compact GA performs one generation in three clock cycles for the one-max task. The number of clock cycles per generation depends on the optimization task. More complex tasks require 3 + e cycles, where e is the number of cycles used in evaluating the fitness function of an individual. The project was implemented using the Verylog hardware description language. Population size n and chromosome length l are set to 256 and 32, respectively. At the final stage, the project was made on an Xilinx FPGA. According to the results of the synthesis for the one-max task, the project uses 15,210 equivalent valves, the maximum functioning frequency is 23.57 MHz, an increase in speed has been achieved compared to the software version by 1000 times.

Признаками прототипа, совпадающими с признаками заявляемого изобретения, являются:Signs of the prototype, coinciding with the features of the claimed invention are:

генератор случайного числа - одномерный автомат регулярной структуры с двумя состояниями, используется для генерации случайных чисел, для генерации каждого бита индивидуума параллельно, количество генераторов случайных чисел идентично длине хромосомы;random number generator - a one-dimensional regular structure machine with two states, used to generate random numbers, to generate each individual bit in parallel, the number of random number generators is identical to the length of the chromosome;

регистр вероятности содержит значение вероятности, являющиеся числом p[i], представленным в формате с плавающей запятой;the probability register contains the probability value, which is the number p [i], presented in floating point format;

компаратор - комбинационная схема, сравнивающая два целых числа m и n. Если m≥n то на выходе будет "1". Иначе на выходе будет "0";a comparator is a combinational circuit comparing two integers m and n. If m≥n then the output will be "1". Otherwise, the output will be "0";

буфер - последовательная схема, содержащая i-ю битовую позицию индивидуумов а и b. Буферы содержат значения индивидуумов, в то время как они оцениваются;a buffer is a sequential circuit containing the ith bit position of individuals a and b. Buffers contain the values of individuals, while they are evaluated;

вычислитель значения функции фитнесса. Используется два вычислителя чтобы вычислять значение фитнесса индивидуумов а и b параллельно. Для задачи one-max вычислитель значения функции фитнесса просто считает количество единиц в двоичной строке.fitness function value calculator. Two calculators are used to calculate the fitness value of individuals a and b in parallel. For the one-max task, the fitness function value calculator simply counts the number of units in the binary string.

Причинами, препятствующими получению технического результата, являются то, что устройство не предоставляет возможности конечному пользователю вносить изменения в процесс функционирования посредством установки количества итерационных циклов, необходимого размера популяции, необходимой длины хромосомы. В устройстве отсутствует стратегия элитизма, о чем говорит отсутствие элитной области, что приводит к выводу, что устройство не может предоставить пользователю набора решений, необходимого при решении целого класса задач, решением которых может являться некоторое множество решений, или лучшего решения в случае преждевременного прерывания работы алгоритма в ряде различных причин.The reasons that impede the achievement of a technical result are that the device does not allow the end user to make changes to the functioning process by setting the number of iterative cycles, the required population size, and the required chromosome length. The device does not have an elitism strategy, as evidenced by the lack of an elite region, which leads to the conclusion that the device cannot provide the user with the set of solutions needed to solve a whole class of problems, the solution of which can be some set of solutions, or the best solution in case of premature interruption of work algorithm for a number of different reasons.

Задача, на решение которой направлено заявляемое изобретение, - снижение вычислительных затрат на проведение эволюционного поиска и обеспечение автономности функционирования объекта при принятии решений в изменяющейся среде при использовании в автономных интеллектуальных системах, обеспечение возможности использования в качестве аппаратного устройства в эволюционных инструментальных комплексах, в робототехнике, исследованиях в области саморазвивающихся и самоадаптирующихся аппаратных средств, исследованиях в области построения адаптивных систем управления и принятия решений, в области автоматизации управления, повышения эффективности оптимизационных задач и т.п.The problem to which the claimed invention is directed is to reduce the computational cost of carrying out evolutionary search and ensuring the autonomy of the operation of an object when making decisions in a changing environment when used in autonomous intelligent systems, ensuring the possibility of being used as a hardware device in evolutionary instrumental complexes, in robotics, research in the field of self-developing and self-adaptive hardware, research in the field of construction adaptive control systems and decision-making in the field of automation control, improve the efficiency of optimization problems, etc.

Технический результат достигается тем, что в устройство аппаратной реализации вероятностных генетических алгоритмов (в дальнейшем изложении именуемое также "устройство АВГА"), содержащее блок генерации популяции для генерации популяции посредством параллельной генерации бит хромосомы, первый вход которого связан со вторым выходом блока инициализации, второй вход которого связан с первым выходом блока формирования разрядности хромосомы, третий вход которого связан с первым выходом блока вычисления вероятности, выход которого связан со вторыми входами блоков вычисления критерия и мультиплексоров, состоящий из генераторов случайного числа, входы которых связаны с первым входом блока генерации популяции, выходы которых связаны с первыми входами компараторов, регистров вероятности, входы которых связаны с третьим входом блока генерации популяции, выходы которых связаны со вторыми входами компараторов, компараторы, выходы которых связаны со вторым выходом блока генерации популяции, блок вычисления критерия для вычисления значений критерия (функции пригодности) поступающих на вход блока хромосом, выход которого связан с выходным портом устройства (сигнал завершения функционирования), блок отбора для отбора адресов хромосом из популяции, поступающих от блока мультиплексоров, с лучшим значением критерия, выход которого связан с входом блока формирования элитной области, введены блок микропрограммного управления для формирования управляющих сигналов для перевода в активный и пассивный режим блоков: инициализации, вычисления величины элитной области, формирования разрядности хромосомы, генерации прерываний, генерации популяции, формирования элитной области, адресного указателя, вычисления критерия, отбора, формирования элитной области, вычисления вероятности, паями и управлением режимами блока мультиплексоров, выходы которого связаны с первыми управляющими входами блока инициализации, блока вычисления элитной области, блока генерации прерываний, блока адресного указателя, блока генерации популяции, блока формирования разрядности хромосомы, блока мультиплексоров, блока памяти, блока вычисления критерия, блока отбора, блока формирования элитной области и блока вычисления вероятности, входы которого связаны с входными портами устройства (сигнал синхронизации, сигнала выбора устройства, сигнал разрешения чтения значений элитных хромосом) и блоком генерации прерываний, блок инициализации для инициализации вероятностного генетического алгоритма на этапе инициализации и регулирования параметрами в процессе функционирования для блоков генерации прерываний и вычисления элитной области, установки блоков адресного указателя и генерации популяции в исходное состояние, выходы которого соединены с первыми входами блоков генерации прерываний, вычисления величины элитной области и адресного указателя, все входы которого связаны с входными портами устройства (сигнал выбора режима начальной установки для блока генерации популяции, сигнал установки количества итерационных циклов, вход размера популяции и параметра величины элитной области), блок вычисления величины элитной области для вычисления величины элитной области на этапе инициализации и в процессе функционирования, выход которого связан со вторым входом блока генерации прерываний, второй и третий входы которого связан входными портами устройства (сигналами размера популяции и параметра величины элитной области), блок генерации прерываний для генерации аппаратных прерываний во время функционирования устройства, выход которого связан с блоком микропрограммного управления, третий вход которого связан с входным портом устройства (сигнал разрешения чтения значений элитных хромосом, четвертый вход которого связан со вторым выходом блока адресного указателя, пятый вход которого связан с первым выходом блока вычисления критерия, блок адресного указателя для формирования адресов считывания или записи из блока памяти хромосом и критериев, первый выход которого связан с первым входом блока мультиплексоров, блок формирования разрядности хромосомы для установки количества используемых бит в хромосоме для предоставления возможности настраивать размер хромосомы на этапе инициализации и в процессе функционирования, вход которого связан с входным портом устройства (сигнал выбора разрядности хромосомы), второй выход которого связан с первым входом блока вычисления вероятности и третьим входом блока вычисления критерия, блок мультиплексоров для организации взаимодействия и передачи данных между блоками, третий вход которого связан со вторым выходом блока вычисления критерия, четвертый вход которого связан с третьим выходом блока памяти, пятый вход которого связан с выходом блока формирования элитной области, первый выход которого связан входом блока отбора, второй выход которого связан с входом блока памяти, третий выход которого связан со вторым входом блока вычисления вероятности, блок памяти для хранения хромосом популяции и значений критериев для хромосом, первый выход которого связан с четвертым входом блока вычисления критерия, второй выход которого связан с выходным портом устройства (сигнал для последовательного вывода значений элитных хромосом), блок формирования элитной области для формирования элитной области хромосом, на основе отобранных хромосом из популяции с лучшим значением критерия, посредством перемещения отобранных хромосом в начальную область адресного пространства памяти популяции, блок вычисления вероятности для вычисления вероятности нахождения единичных бит для каждой позиции бита в хромосоме на основе всех хромосом элитной области.The technical result is achieved by the fact that the device for the implementation of probabilistic genetic algorithms (hereinafter also referred to as the “AVGA device”) contains a population generation unit for generating a population by parallel generation of chromosome bits, the first input of which is connected to the second output of the initialization block, the second input which is connected with the first output of the unit for forming the length of the chromosome, the third input of which is connected with the first output of the probability calculation unit, the output of which is connected with the second inputs of the criterion calculation blocks and multiplexers, consisting of random number generators whose inputs are connected to the first input of the population generation block, the outputs of which are connected to the first inputs of the comparators, probability registers, the inputs of which are connected to the third input of the population generation block, the outputs of which are connected with second inputs of comparators, comparators, the outputs of which are connected to the second output of the population generation unit, the criterion calculation unit for calculating the values of the criterion (fitness function) input to the block of chromosomes, the output of which is connected to the output port of the device (signal of termination of operation), the selection block for selecting the addresses of chromosomes from the population coming from the block of multiplexers, with the best value of the criterion, the output of which is connected to the input of the block forming the elite region, the block is entered microprogram control for generating control signals for switching to active and passive mode of blocks: initialization, calculation of the elite region value, formation of the length of the chromosome, generation of jerking, generating a population, forming an elite area, address pointer, calculating a criterion, selecting, forming an elite area, calculating the probability, units and controlling the modes of the multiplexer unit, the outputs of which are connected to the first control inputs of the initialization unit, the elite area calculation unit, the interrupt generation unit, address pointer block, population generation block, chromosome bit formation block, multiplexer block, memory block, criterion calculation block, selection block, form block elite region and probability calculation unit, the inputs of which are connected to the device input ports (synchronization signal, device selection signal, elite chromosome read permission signal) and interrupt generation unit, initialization unit for initializing the probabilistic genetic algorithm at the stage of initialization and parameter control during functioning for interrupt generation blocks and calculating the elite region, setting the address pointer blocks and generating the population in the initial state a light whose outputs are connected to the first inputs of the interrupt generation blocks, calculating the elite region value and the address pointer, all of whose inputs are connected to the device input ports (initial setting mode selection signal for the population generation block, signal for setting the number of iterative cycles, population size and parameter input values of the elite region), a unit for calculating the magnitude of the elite region for calculating the magnitude of the elite region at the initialization stage and during operation, the output of which is associated with about the second input of the interrupt generation unit, the second and third inputs of which are connected by the device input ports (signals of population size and elite region value parameter), the interrupt generation unit for generating hardware interrupts during device operation, the output of which is connected to the microprogram control unit, the third input of which connected to the input port of the device (read permission signal for elite chromosomes, the fourth input of which is connected to the second output of the address pointer block, the fifth input is a cat It is associated with the first output of the criterion calculation unit, the address pointer block for generating read or write addresses from the chromosome memory block and the criteria, the first output of which is connected with the first input of the multiplexer block, the chromosome bit generation unit for setting the number of bits used in the chromosome to enable tuning the size of the chromosome at the initialization stage and during operation, the input of which is connected to the input port of the device (signal for selecting the bit depth of the chromosome), the second the output of which is connected with the first input of the probability calculation unit and the third input of the criterion calculation unit, a multiplexer unit for organizing interaction and data transfer between the blocks, the third input of which is connected with the second output of the criterion calculation unit, the fourth input of which is connected with the third output of the memory unit, the fifth input which is connected to the output of the elite region formation unit, the first output of which is connected to the input of the selection unit, the second output of which is connected to the input of the memory unit, the third output of which is connected to the second input of the probability calculation block, a memory block for storing the chromosomes of the population and criteria values for chromosomes, the first output of which is connected to the fourth input of the criterion calculation block, the second output of which is connected to the output port of the device (a signal for sequential output of the values of elite chromosomes), the elite formation block areas for the formation of an elite region of chromosomes, based on selected chromosomes from the population with the best criterion value, by moving the selected chromosomes to the initial region of the address Nogo space memory population probability calculation unit for calculating the probability of finding individual bits for each bit position in the chromosome on the basis of all chromosomes elite area.

Устройство аппаратной реализации вероятностных генетических алгоритмов поясняется чертежами, гдеThe device hardware implementation of probabilistic genetic algorithms is illustrated by drawings, where

на фигуре 1 приведен алгоритм генерации популяции,the figure 1 shows the algorithm for generating a population,

на фигуре 2 приведена схема генератора псевдослучайной двоичной последовательности,figure 2 shows a diagram of a pseudo-random binary sequence generator,

на фигуре 3 приведен пример параллельного формирования хромосомы, где блоки 3.1_1..3.1_32 представляют блоки генераторов случайной двойной последовательности RNG, 3.2_1..3.2_32 - регистры вероятности PRG, 3.3_1..3.3_32 - схему сравнения СМР,the figure 3 shows an example of parallel formation of the chromosome, where the blocks 3.1_1..3.1_32 represent the blocks of the random double sequence generators RNG, 3.2_1..3.2_32 - probability registers PRG, 3.3_1..3.3_32 - the comparison scheme CMP,

на фигуре 4 приведен алгоритм вычисления критерия,figure 4 shows the algorithm for calculating the criterion,

на фигуре 5 приведен пример параллельного вычисления критерия, где блоки 5.1..5.30 являются сумматорами соответствующей разрядности,figure 5 shows an example of parallel calculation of the criterion, where the blocks 5.1..5.30 are adders of the corresponding capacity,

на фигуре 6 приведен пример параллельного функционирования блока отбора, где блок 6.1 представляет входной регистр блока отбора, 6.2..6.9 - блоки модулей сравнения,the figure 6 shows an example of parallel operation of the selection block, where block 6.1 represents the input register of the selection block, 6.2..6.9 - blocks of comparison modules,

на фигуре 7 приведен пример функционирования модуля отбора, где блок 7.1 - входной регистр модуля отбора, 7.2 - регистр хранения лучшего критерия, 7.3 - регистр адреса лучшей хромосомы, 7.4 - схема сравнения (компаратор отбора) модуля отбора,the figure 7 shows an example of the operation of the selection module, where block 7.1 is the input register of the selection module, 7.2 is the storage register of the best criterion, 7.3 is the register of the address of the best chromosome, 7.4 is a comparison diagram (selection comparator) of the selection module,

на фигуре 8 приведен пример формирования элитной области, где 8.1 и 8.2 регистры,the figure 8 shows an example of the formation of an elite region, where 8.1 and 8.2 registers,

на фигуре 9 приведен алгоритм вычисления вероятности,figure 9 shows the probability calculation algorithm,

на фигуре 10 приведен пример вычисления вероятности для бита 4,figure 10 shows an example of calculating the probability for bit 4,

на фигуре 11 приведен пример параллельного формирования вероятности, где блок 11.1 блок памяти, 11.2..11.33 - блоки сумматоров с накоплением,the figure 11 shows an example of parallel probability formation, where block 11.1 is a memory block, 11.2..11.33 are accumulator adder blocks,

на фигуре 12 приведена структурная схема устройства аппаратной реализации вероятностного генетического алгоритма UMDA, где блок 12.1 - блок инициализации, 12.2 - блок вычисления величины элитной области, 12.3 - блок генерации прерываний, 12.4 - блок микропрограммного управления, 12.5 - блок адресного указателя, 12.6 - блок генерации популяции, 12.7 - блок формирования разрядности хромосомы, 12.8 - блок мультиплексоров, 12.9 - блок памяти, 12.10 - блок вычисления критерия, 12.11 - блок отбора, 12.12 - блок формирования элитной области, 12.13 - блок вычисления вероятности; и содержит:the figure 12 shows a structural diagram of a device for implementing a probabilistic genetic algorithm UMDA, where block 12.1 is an initialization block, 12.2 is a block for calculating the elite region value, 12.3 is an interrupt generation block, 12.4 is a microprogram control block, 12.5 is an address pointer block, 12.6 is a block population generation, 12.7 - chromosome bit formation block, 12.8 - multiplexer block, 12.9 - memory block, 12.10 - criterion calculation block, 12.11 - selection block, 12.12 - elite region formation block, 12.13 - probability calculation block; and contains:

блок инициализации 12.1 вероятностного генетического алгоритма для инициализации вероятностного генетического алгоритма на этапе инициализации и регулирования параметрами в процессе функционирования;initialization block 12.1 of the probabilistic genetic algorithm for initializing the probabilistic genetic algorithm at the stage of initialization and regulation of parameters during operation;

блок формирования разрядности хромосомы 12.7 для установки количества используемых бит в хромосоме для предоставления возможности настраивать размер хромосомы на этапе инициализации и в процессе функционирования;chromosome bit formation unit 12.7 for setting the number of bits used in the chromosome to provide the ability to adjust the size of the chromosome at the initialization stage and during operation;

блок вычисления величины элитной области 12.2 для вычисления величины элитной области на этапе инициализации и в процессе функционирования;an elite region value calculating unit 12.2 for calculating an elite region value at the initialization stage and during operation;

блок генерации популяции 12.6 для генерации популяции посредством параллельной генерации бит хромосомы;population generation unit 12.6 for generating a population by parallel generation of bits of a chromosome;

блок памяти 12.9 для хранения хромосом популяции и значений критериев для хромосом;a memory block 12.9 for storing the chromosomes of the population and the values of the criteria for the chromosomes;

блок адресного указателя 12.5 для формирования адресов считывания или записи хромосом и критериев;block address pointer 12.5 for the formation of addresses for reading or writing chromosomes and criteria;

блок вычисления критерия 12.10 для вычисления значений критерия (функции пригодности) поступающих на вход блока хромосом;criterion calculation block 12.10 for calculating the criterion values (suitability function) received at the input of the chromosome block;

блок отбора 12.11 для отбора адресов хромосом из популяции с лучшим значением критерия;selection block 12.11 for selecting chromosome addresses from a population with the best criterion value;

блок формирования элитной области 12.12 для формирования элитной области хромосом, на основе отобранных хромосом из популяции с лучшим значением критерия, посредством перемещения отобранных хромосом в начальную область адресного пространства памяти популяции;an elite region formation unit 12.12 for forming an elite region of chromosomes, based on selected chromosomes from the population with the best criterion value, by moving the selected chromosomes to the initial region of the address memory space of the population;

блок вычисления вероятности 12.13 вычисления вероятности нахождения единичных бит для каждой позиции бита в хромосоме на основе всех хромосом элитной области;probability calculation unit 12.13 calculating the probability of finding single bits for each bit position in the chromosome based on all the chromosomes of the elite region;

блок мультиплексоров 12.8 для организации взаимодействия и передачи данных между блоками;a multiplexer block 12.8 for organizing interaction and data transfer between the blocks;

блок микропрограммного управления 12.4 для организации управления устройством основанного на обработке приоритетных аппаратных внутренних и внешних прерываний и генерации микрокоманды управления, позволяющей организовать параллельное управление работой блоков;microprogram control unit 12.4 for organizing device control based on the processing of priority hardware internal and external interrupts and generating a microcontrol command that allows organizing parallel control of the operation of the blocks;

блок генерации прерываний 12.3 для генерации аппаратных прерываний во время функционирования устройства.interrupt generation unit 12.3 for generating hardware interrupts during operation of the device.

1. Устройство АВГА, заявленное выше, где вышеупомянутый блок инициализации вероятностного генетического алгоритма в дальнейшем содержит модуль настройки и инициализации генераторов случайной двоичной последовательности блока генерации популяции, модуль настройки и инициализации блока вычисления вероятности, модуль количества используемых бит в хромосоме, модуль количества итерационных циклов, модуль размера популяции и модуль значения коэффициента размера элитной области;1. The AVGA device stated above, where the aforementioned block for initializing the probabilistic genetic algorithm further comprises a module for setting up and initializing random binary sequence generators for a population generating block, a module for setting and initializing a block for calculating probability, a module for the number of bits used in the chromosome, a module for the number of iterative cycles, a population size modulus and an elite region size coefficient value modulus;

2. Устройство АВГА, заявленное выше, где вышеупомянутый блок установки количества используемых бит в хромосоме предоставляет возможность устанавливать размер хромосомы (количество используемых бит хромосомы) согласно значению, содержащемуся в вышеупомянутом модуле количества используемых бит в хромосоме.2. The AVGA device stated above, where the aforementioned unit for setting the number of bits used in the chromosome provides the ability to set the size of the chromosome (the number of bits of the chromosome used) according to the value contained in the above-mentioned module of the number of bits used in the chromosome.

3. Устройство АВГА, заявленное выше, где вышеупомянутый блок вычисления величины элитной области производит вычисление величины элитной области как произведение значений размера популяции и коэффициента размера элитной области, содержащихся в модуле размера популяции и модуле значения коэффициента размера элитной области.3. The AVGA device stated above, where the aforementioned elite region value calculating unit calculates an elite region value as a product of the population size values and the elite region size coefficient contained in the population size module and the elite region size coefficient value module.

4. Устройство АВГА, заявленное выше, где вышеупомянутый блок генерации популяции выполняет параллельную генерацию бит хромосомы на основе сравнения значения, генерируемого на генераторе случайной двоичной последовательности и значения вероятности для данного бита хромосомы, результат сравнения сохраняется как значение бита хромосомы;4. The AVGA device stated above, where the aforementioned population generation unit performs parallel generation of chromosome bits based on a comparison of a value generated on a random binary sequence generator and a probability value for a given chromosome bit, the comparison result is stored as the value of the chromosome bit;

параллельная генерация бит хромосомы выполняется посредством применения генераторов случайной двоичной последовательности и схем сравнения, количество которых идентично количеству бит в хромосоме.parallel generation of chromosome bits is performed by using random binary sequence generators and comparison schemes, the number of which is identical to the number of bits in the chromosome.

5. Устройство АВГА, заявленное выше, где вышеупомянутый блок памяти предназначен для:5. The AVGA device as claimed above, wherein the aforementioned memory unit is intended for:

формирования независимого пространства памяти для хранения популяции и критериев в одном адресном пространстве, где в дальнейшем включает память популяции и память критериев;the formation of an independent memory space for storing the population and criteria in one address space, where it further includes the population memory and the criteria memory;

независимой записи и хранения хромосом и/или их критериев в соответствующее пространство памяти, с уникальным адресом для каждой хромосомы и соответствующему ей критерию;independent recording and storage of chromosomes and / or their criteria in the corresponding memory space, with a unique address for each chromosome and the corresponding criterion;

независимой выдачи хромосомы и/или критерия по запросу с указанием адреса хромосомы и/или критерия;independent issue of a chromosome and / or criterion upon request with an indication of the address of the chromosome and / or criterion;

формирования и одновременного хранения популяции и элитной области в рамках единого адресного пространства памяти популяции.the formation and simultaneous storage of the population and the elite region within the framework of a single address memory space of the population.

6. Устройство АВГА, заявленное выше, где вышеупомянутый блок адресного указателя выполняет независимое формирование адреса считывания или записи для хромосом и критериев в соответствующих режимах работы адресного указателя.6. The AVGA device stated above, where the aforementioned block of the address pointer independently generates a read or write address for the chromosomes and criteria in the corresponding operating modes of the address pointer.

7. Устройство АВГА, заявленное выше, где вышеупомянутый блок вычисления критерия производит вычисление значения критерия (функции пригодности) для входных значений хромосом, на основе решения задачи one-max и устанавливает на выходе вычисленные значения и признак нахождения решения.7. The AVGA device, as stated above, where the aforementioned criterion calculation unit calculates the criterion value (suitability function) for the input chromosome values based on the solution of the one-max problem and sets the calculated values and the sign of finding a solution at the output.

8. Устройство АВГА, заявленное выше, где вышеупомянутый блок отбора выполняет отбор хромосом с лучшим (большим) значением критерия, на основе значений критериев и их адресов, поступающих на вход блока, при этом на выход устанавливаются адреса хромосом и значения их критериев в порядке убывания величины критерия.8. The AVGA device stated above, where the aforementioned selection unit performs selection of chromosomes with the best (large) value of the criterion, based on the values of the criteria and their addresses received at the input of the unit, while the addresses of the chromosomes and the values of their criteria are set in descending order values of the criterion.

9. Устройство АВГА, заявленное выше, где вышеупомянутый блок формирования элитной области выполняет формирование элитной области, на основе отобранных хромосом из популяции с лучшим значением критерия, посредством перемещения отобранных хромосом в начальную область адресного пространства памяти популяции, в порядке убывания значения критерия;9. The AVGA device stated above, where the aforementioned elite region formation unit performs elite region formation based on selected chromosomes from the population with the best criterion value by moving the selected chromosomes to the initial region of the population memory address space in descending order of the criterion value;

10. Устройство АВГА, заявленное выше, где вышеупомянутый блок вычисления вероятности производит вычисление значения вероятности для каждого бита хромосомы на основе всех хромосом из вышеуказанной элитной области и модифицирует значения вероятностей, используемые в вышеуказанном блоке генерации популяции;10. The AVGA device stated above, where the aforementioned probability calculation unit calculates a probability value for each bit of the chromosome based on all chromosomes from the above elite region and modifies the probability values used in the above population generation unit;

значение вероятности вычисляется как отношение количества элитных хромосом с единичным битом в данной позиции к количеству всех элитных особей.the probability value is calculated as the ratio of the number of elite chromosomes with a single bit in a given position to the number of all elite individuals.

11. Устройство АВГА, заявленное выше, где вышеупомянутый блок мультиплексоров выполняет взаимодействие между вышеуказанными блоками: блоком генерации популяции, блоком вычисления критерия, блоком отбора, блоком формирования элитной области, блоком памяти, блоком адресного указателя и блоком генерации прерывания.11. The AVGA device stated above, where the aforementioned block of multiplexers performs the interaction between the above blocks: a population generation block, a criterion calculation block, a selection block, an elite region forming block, a memory block, an address pointer block and an interrupt generation block.

12. Устройство АВГА, заявленное выше, где вышеупомянутый блок микропрограммного управления в дальнейшем содержит модуль памяти микрокоманд управления для управления устройством АВГА и модуль памяти микрокоманд управления для управления блоком управления, производит управление работой устройства АВГА посредством генерации 32-битной команды управления, где каждый бит отвечает за управление работой соответствующего блока или модуля в зависимости от режима функционирования алгоритма;12. The AVGA device as claimed above, wherein the aforementioned microprogram control unit further comprises a control micro-memory memory module for controlling the AVGA device and a micro-control memory module for controlling the control unit, controls the operation of the AVGA device by generating a 32-bit control command, where each bit responsible for controlling the operation of the corresponding block or module depending on the mode of operation of the algorithm;

производит приоритетную обработку внутренних, генерируемых самим блоком микропрограммного управления, и внешних, поступающих на вход блока, прерываний и переход к соответствующему режиму функционирования алгоритма.performs priority processing of internal interruptions generated by the microprogram control unit itself, and external interruptions received at the input of the unit, and transition to the corresponding mode of operation of the algorithm.

13. Устройство АВГА, заявленное выше, где вышеупомянутый блок генерации прерываний в дальнейшем содержит модуль генерации прерывания завершения формирования популяции, модуль генерации прерывания завершения формирования элитной области, модуль генерации прерывания выполнения заданного количества итерационных циклов и модуль признака завершения функционирования алгоритма.13. The AVGA device, as claimed above, where the aforementioned interrupt generation unit further comprises a population generation completion interrupt generation module, an elite region completion completion generation module, an interrupt generation generation module for executing a given number of iterative cycles, and an algorithm completion indicator module.

14. Устройство АВГА, заявленное выше, где вышеупомянутый модуль настройки и инициализации блока вычисления вероятности выполняет инициализацию блока вычисления вероятности посредством установки значений вероятности для всех бит хромосомы в начальное значение;14. The AVGA device as claimed above, wherein the aforementioned module for setting and initializing a probability calculating unit initializes a probability calculating unit by setting the probability values for all bits of the chromosome to an initial value;

модуль настройки и инициализации блока вычисления вероятности выполняет настройку значений вероятностей при увеличении количества используемых бит хромосомы в процессе функционирования устройства АВГА посредством установки значений вероятностей добавленных бит в начальное значение.the module for setting and initializing the probability calculation unit adjusts the probability values when the number of chromosome bits used increases during the operation of the AVGA device by setting the probability values of the added bits to the initial value.

15. Устройство АВГА, заявленное в 8, где вышеупомянутый блок отбора содержит восемь модулей отбора, каждый из которых содержит компаратор, мультиплексор и регистры критерия и адреса, собранных в последовательность для сравнения, сохранения и пропускания входных значений критериев и соответствующих им адресов от одного модуля к другому.15. The AVGA device, claimed in 8, where the aforementioned selection unit contains eight selection modules, each of which contains a comparator, multiplexer and criteria and address registers, assembled in a sequence for comparing, saving and passing input criteria values and their corresponding addresses from one module to another.

16. Устройство АВГА, заявленное в 15, где вышеупомянутый модуль отбора сравнивает значение критерия, приходящее на вход модуля со значением критерия, содержащегося в регистре критерия данного модуля;16. The AVGA device, claimed in 15, where the aforementioned selection module compares the value of the criterion coming to the input of the module with the value of the criterion contained in the criterion register of this module;

согласно результату сравнения выполняется передача последующему модулю входного значения критерия и соответствующего ему адреса или значений критерия и адреса из регистров модуля, при этом после передачи в данных регистрах сохраняются входные значения;according to the comparison result, the input module of the criterion and the corresponding address or values of the criterion and the address from the registers of the module are transferred to the subsequent module, after which the input values are stored in these registers;

для всех модулей отбора значения регистров критерия и адреса передаются параллельно вышеуказанному блоку формирования элитной области.for all selection modules, the values of the criteria and address registers are transferred in parallel to the above-mentioned elite domain formation unit.

17. Устройство АВГА, заявленное в 10, где вышеупомянутое формирование элитной области выполняется посредством перемещения хромосом с лучшим значением критерия в начало адресного пространства памяти при параллельном сохранении размещенных по заменяемому адресу хромосом и критериев, в пространстве памяти, соответствующем адресу перемещаемых значений.17. The AVGA device, claimed in 10, where the aforementioned elite region formation is performed by moving chromosomes with the best criterion value to the beginning of the memory address space while simultaneously storing the chromosomes and criteria placed at the replaced address in the memory space corresponding to the address of the moved values.

18. Устройство АВГА, заявленное в 14, где вышеупомянутый модуль генерации прерывания завершения формирования популяции генерирует прерывание при совпадении сгенерированного количества хромосом популяции со значением, установленном в вышеупомянутом модуле размера популяции.18. The AVGA device, claimed in 14, where the aforementioned module for generating an interruption to complete population formation generates an interrupt when the generated number of chromosomes of a population matches the value set in the aforementioned module for population size.

19. Устройство АВГА, заявленное в 14, где вышеупомянутый модуль генерации прерывания завершения формирования элитной области генерирует прерывание при совпадении количества хромосом, перемещенных в элитную область со значением, хранящимся в вышеупомянутом блоке вычисления величины элитной области.19. The AVGA device, as claimed in 14, wherein the aforementioned elite region completion termination generating unit generates an interrupt when the number of chromosomes moved to the elite region matches the value stored in the above elite region magnitude calculating unit.

20. Устройство АВГА, заявленное в 14, где вышеупомянутый модуль генерации прерывания выполнения заданного количества итерационных циклов генерирует прерывание при совпадении количества выполненных итерационных циклов со значением, хранящимся в вышеупомянутом модуле количества итерационных циклов.20. The AVGA device, as claimed in 14, wherein the aforementioned module for generating an interruption for execution of a given number of iterative cycles generates an interruption when the number of completed iterative cycles coincides with the value stored in the aforementioned module for the number of iterative cycles.

21. Устройство АВГА, заявленное в 14, где вышеупомянутый модуль признака завершения функционирования алгоритма генерирует прерывание завершения функционирования алгоритма при получении признака нахождения решения из вышеупомянутого блока вычисления критерия.21. The AVGA device, claimed in 14, where the aforementioned module of the sign of the termination of the functioning of the algorithm generates an interruption of the termination of the functioning of the algorithm upon receipt of the sign of finding a solution from the aforementioned block for calculating the criteria.

22. Устройство АВГА, заявленное в 13, где вышеупомянутые режимы функционирования алгоритма соответствуют специфике функционирования устройства АВГА и включают режим инициализации устройства АВГА, режим инициализации итерационного цикла, режим генерации популяции, режим отбора, режим формирования элитной области и режим завершения функционирования.22. The AVGA device, claimed in 13, where the aforementioned operation modes of the algorithm correspond to the specifics of the operation of the AVGA device and include the initialization mode of the AVGA device, the iteration cycle initialization mode, the population generation mode, the selection mode, the elite region formation mode, and the operation completion mode.

23. Устройство АВГА, заявленное в 13, где вышеупомянутый модуль памяти микрокоманд управления содержит микрокоманды обработчика режима инициализации устройства АВГА, обработчика режима инициализации итерационного цикла, обработчика режима генерации популяции, обработчика режима инициализации обработчика отбора и формирования элитной области, обработчика прерывания завершения формирования популяции, обработчика прерывания завершения формирования элитной области, обработчика прерывания выполнения заданного количества итерационных циклов, обработчика прерывания завершения функционирования алгоритма.23. The AVGA device, claimed in 13, where the aforementioned microcontroller memory module contains microcommands of the initialization mode handler of the AVGA device, the iterative cycle initialization mode handler, the population generation mode handler, the initialization mode handler of the selection and elite domain generation processor, the interrupt handler for completing the population formation, an interrupt handler for completing the formation of an elite region, an interrupt handler for executing a given number of iterative loops, interrupt handler termination of the algorithm.

24. Устройство АВГА, заявленное в 23, где вышеупомянутая специфика функционирования устройства соответствует принципу функционирования вероятностного генетического алгоритма UMDA (Н.Mühlenbein. The Equation for Response to Selection and its Use for Prediction. Evolutionary Computation, May 1998, pp.303-346) с внесенными изменениями в принцип функционирования алгоритма UMDA.24. The AVGA device, claimed in 23, where the aforementioned specifics of the operation of the device corresponds to the principle of operation of the probabilistic genetic algorithm of the UMDA (N. Mühlenbein. The Equation for Response to Selection and its Use for Prediction. Evolutionary Computation, May 1998, pp.303-346) with amendments to the principle of operation of the UMDA algorithm.

25. Устройство АВГА, заявленное в 25, где вышеупомянутый вероятностный генетический алгоритм UMDA выполняется посредством побитного формирования хромосомы, сохранения сформированных хромосом в памяти популяции, вычисления значений критериев для всех хромосом из памяти популяции, отборе из популяции хромосом с лучшим значением критериев, формирования элитной области, основанного на перемещении хромосом из памяти популяции с лучшим значением критерия в память элитной области, вычислении значений вероятностей для каждого бита хромосомы на основе хромосом элитной области для генерации следующего поколения.25. AVGA device, claimed in 25, where the aforementioned probabilistic genetic UMDA algorithm is performed by bitwise chromosome formation, storing the formed chromosomes in the population’s memory, calculating criteria values for all chromosomes from the population’s memory, selecting chromosomes from the population with the best criteria, forming an elite region based on the movement of chromosomes from the memory of the population with the best criterion value to the memory of the elite region, the calculation of the probability values for each bit of the chromosome on chromosome-based elite region to generate the next generation.

26. Устройство АВГА, заявленное в 25, где вышеупомянутые изменения в принципе функционирования алгоритма UMDA содержат принципы организации параллельной и многоуровневой конвейерной обработки информации и поддержку динамических изменений параметров функционирования устройства АВГА.26. The AVGA device, claimed in 25, where the above changes in the principle of operation of the UMDA algorithm contain the principles of organizing parallel and multi-level pipeline processing of information and support for dynamic changes in the functioning parameters of the AVGA device.

27. Устройство АВГА, заявленное в 27, где вышеупомянутые принципы организации параллельной обработки информации включают параллельную организацию блока генерации популяции, где генерация всех бит хромосомы выполняется параллельно за один машинный такт, параллельную организацию блока вычисления критерия, где выполняется вычисление значения критерия на основе всех бит хромосомы, параллельную организацию блока отбора, позволяющего выполнять отбор лучших значений одновременно для восьми различных значений, параллельную организацию блока вычисления вероятности, где значения вероятности вычисляются одновременно для всех бит хромосомы, посредством выполнения операции суммирования с накоплением.27. The AVGA device, claimed in 27, where the aforementioned principles of organizing parallel processing of information include the parallel organization of a population generation unit, where the generation of all bits of the chromosome is performed in parallel in one machine cycle, the parallel organization of the criterion calculation unit, where the criterion value is calculated based on all bits chromosomes, parallel organization of the selection block, allowing selection of the best values simultaneously for eight different values, parallel organization of the block and probability calculations, where probability values are calculated simultaneously for all bits of the chromosome, by performing an accumulation summation operation.

28. Устройство АВГА, заявленное в 27, где вышеупомянутые принципы организации многоуровневой конвейерной обработки информации включают организацию внутриблочной и межблочной конвейерной обработки, где внутриблочная конвейерная обработка выполняется в вышеупомянутом блоке вычисления критерия и блоке отбора, межблочная конвейерная обработка обуславливает основные характеристики функционирования устройства АВГА.28. The AVGA device, claimed in 27, where the aforementioned principles of organizing multi-level pipeline processing of information include the organization of intra-block and inter-block conveyor processing, where the intra-block conveyor processing is performed in the aforementioned criterion calculation unit and the selection block, inter-block conveyor processing determines the main characteristics of the operation of the AVGA device.

29. Устройство АВГА, заявленное в 29, где вышеупомянутые основные характеристики функционирования устройства АВГА определяются тем, что генерация популяции, сохранение популяции в памяти популяции, вычисление значений критериев, сохранение значений критериев в памяти критериев и отбор 8 элитных хромосом в порядке убывания значения критерия, выполняется параллельно, т.е. на этапе генерации популяции выполняются все этапы функционирования вероятностного генетического алгоритма UMDA вплоть до выделения из памяти популяции 8 элитных хромосом в порядке убывания, этап вычисления вероятности совмещен с этапом формирования элитной области, при этом отобранные элитные хромосомы исключаются из пространства последующего поиска.29. The AVGA device, claimed in 29, where the aforementioned main characteristics of the operation of the AVGA device are determined by the fact that the generation of the population, saving the population in the memory of the population, calculating the values of the criteria, storing the values of the criteria in the memory of the criteria and selecting 8 elite chromosomes in descending order of the value of the criterion, performed in parallel, i.e. At the stage of population generation, all stages of the functioning of the probabilistic genetic UMDA algorithm are performed up to the selection of 8 elite chromosomes from the population's memory in descending order, the stage of calculating the probability is combined with the stage of formation of the elite region, while the selected elite chromosomes are excluded from the space of the subsequent search.

30. Устройство АВГА, заявленное в 27, где вышеупомянутая поддержка динамических изменений параметров функционирования устройства АВГА обеспечивает возможность устанавливать параметры функционирования устройства АВГА, включающие количество итерационных циклов, величину популяции, величину элитной области и размер хромосомы, не только на этапе инициализации, но и в процессе функционирования устройства, посредством применения вышеупомянутого микропрограммного принципа управления с обработкой приоритетных аппаратных прерываний.30. The AVGA device, claimed in 27, where the aforementioned support for dynamic changes in the operation parameters of the AVGA device provides the ability to set the operation parameters of the AVGA device, including the number of iterative cycles, population size, elite size and chromosome size, not only at the initialization stage, but also in the process of functioning of the device, by applying the aforementioned firmware principle of control with the processing of priority hardware interrupts.

31. Устройство АВГА, заявленное в 1, где заявленный блок инициализации вероятностного генетического алгоритма, блок установки количества используемых бит в хромосоме, блок вычисления величины элитной области, блок генерации популяции, блок памяти, блок адресного указателя, блок вычисления критерия, блок отбора, блок формирования элитной области, блок вычисления вероятности, блок мультиплексоров, блок генерации прерываний функционируют синхронно, с общим машинным циклом.31. The AVGA device, claimed in 1, where the claimed unit for initializing the probabilistic genetic algorithm, the unit for setting the number of bits used in the chromosome, the unit for calculating the value of the elite region, the unit for generating the population, the memory unit, the address pointer unit, the criterion calculation unit, the selection unit, the unit the formation of the elite region, the probability calculation unit, the multiplexer unit, the interrupt generation unit operate synchronously, with a common machine cycle.

32. Метод для изготовления устройства АВГА, заключает в себе этап выполнения аппаратной памяти популяции, памяти критериев, блока инициализации вероятностного генетического алгоритма, блока формирования разрядности хромосомы, блока вычисления величины элитной области, блока генерации популяции, блока адресного указателя, блока вычисления критерия, блока отбора, блока формирования элитной области, блока вычисления вероятности, блока мультиплексоров, блока генерации прерываний и блока микропрограммного управления, которые спроектированы, чтобы выполнить вероятностный генетический алгоритм UMDA.32. The method for manufacturing the AVGA device includes the stage of executing the hardware memory of a population, memory of criteria, an initialization block for a probabilistic genetic algorithm, a block for generating a bit of a chromosome, a block for calculating the value of an elite region, a block for generating a population, an address pointer block, a criterion calculation block, and a block selection, an elite domain formation unit, a probability calculation unit, a multiplexer unit, an interrupt generation unit, and a firmware control unit that are designed us to perform a probabilistic genetic algorithm UMDA.

33. Метод для формирования устройства АВГА заключает в себе этапы создания по меньшей мере одной памяти популяции посредством генерации популяции, вычисления критерия, отбора, формирования элитной области и вычисления вероятности, сформированных как устройство АВГА.33. The method for forming an AVGA device comprises the steps of creating at least one population memory by generating a population, calculating a criterion, selecting, forming an elite region, and calculating probability generated as an AVGA device.

УСТРОЙСТВО АВГА реализует алгоритм генерации популяции, приведенный на фигуре 1, посредством блока генерации популяции 12.6, генерирующего популяцию посредством последовательной генерации хромосом генераторами псевдослучайной двоичной последовательности реализованным, согласно фигуре 2, объединенных в параллельную структуру, показанную на фигуре 3, передающего сгенерированную хромосому блоку вычисления критерия 12.10, алгоритм функционирования которого приведен на фигуре 4, вычисляющего значение критерия отбора (решение задачи one-max) для каждой хромосомы популяции посредством реализации схемы, приведенной на фигуре 5, содержащей первый (5.1-5.23) и второй (5.24-5.30) уровни, передающую вычисленное значение критерия блоку отбора 12.11, приведенного на фигуре 6, реализующего оператор отбора, производящего отбор хромосом с лучшим значением критерия посредством модулей отбора, приведенных на фигуре 7, и передающим данные хромосомы блоку формирования элитной области 12.12, реализующим стратегию элитизма, при формировании элитной области в памяти популяции согласно фигуре 8 и передающему отобранные хромосомы блоку вычисления вероятности 12.13, алгоритм работы которого приведен на фигуре 9, поясняется фигурой 10 и реализуется структурой, приведенной на фигуре 11, передающей вычисленные значения вероятностей блоку генерации популяции 12.6, что в совокупности объединяется в приведенную на фигуре 12 структурную схему устройства аппаратной реализации вероятностного генетического алгоритма UMDA.AVGA DEVICE implements the population generation algorithm shown in FIG. 1 by means of a population generation block 12.6 generating a population by sequentially generating chromosomes by pseudorandom binary sequence generators implemented, according to FIG. 2, combined in the parallel structure shown in FIG. 3, transmitting the generated chromosome criterion calculation unit 12.10, the functioning algorithm of which is shown in figure 4, which calculates the value of the selection criterion (solution of the one-max problem) for each chromosome of the population by implementing the scheme shown in figure 5, containing the first (5.1-5.23) and second (5.24-5.30) levels, transmitting the calculated value of the criterion to the selection block 12.11, shown in figure 6, which implements the selection operator that selects the chromosomes with the best the value of the criterion by means of the selection modules shown in figure 7, and transmitting the chromosome data to the elite region formation unit 12.12, which implements the elitism strategy, when forming the elite region in the population memory according to figure 8 and transmitting about the selected chromosomes to the probability calculation block 12.13, the operation algorithm of which is shown in figure 9, is illustrated by figure 10 and implemented by the structure shown in figure 11, which transfers the calculated probability values to the population generation block 12.6, which together is combined into the block diagram of the hardware implementation device shown in figure 12 probabilistic genetic algorithm UMDA.

Работает устройство следующим образом: при установке высокого уровня сигнала выбора устройства CsEn, производится переход устройства АВГА в активный режим ожидания. В данном режиме устройство АВГА находится до поступления сигнала синхронизации CLK. При поступлении сигнала синхронизации в блоке микропрограммного управления 12.4 производится считывание микрокоманд управления, настраивающих блок микропрограммного управления на отработку режима инициализации, и микрокоманд управления устройством АВГА, производящих инициализацию всех остальных блоков. Результатом режима инициализации является формирование разрядности хромосомы блоком 12.7 в соответствии со значением сигнал выбора разрядности хромосомы WidhtCh; настройка блока генерации популяции 12.6 на генерацию хромосом с заданной разрядностью и установка генераторов случайной последовательности в начальное состояние, в соответствии со значением режима начальной установки для блока генерации популяции (определяется входные сигналом EnRnd); настройка соответствующих мультиплексоров блока мультиплексоров 12.8 на режим адресации блока памяти с блока адресного указателя 12.5 и установки входного значения для блока памяти 12.9 и блока вычисления критерия 12.10 непосредственно с блока генерации популяции 12.6, установки входного значения для памяти критериев непосредственно с блока вычисления критерия 12.10 и параллельной установки данного значения и адреса записи критерия на вход внутренних входных регистров блока отбора 12.11; блок памяти 12.9 переводится в режим записи; блок вычисления вероятности 12.13 устанавливает все значения вероятностей для используемых бит хромосомы в начальное значение, равное 0,5; блок вычисления критерия 12.10 настраивается на вычисление значения критерия для заданного количества бит в хромосоме; в блоке отбора 12.11 выполняется сброс всех внутренних регистров; блок вычисления величины элитной области вычисляет значение величины элитной области посредством перемножения размера популяции popsize и параметра tau; блок инициализации 12.1 подготавливает значения величины популяции и элитной области для блоков генерации прерываний 12.3, непосредственно для модулей величины популяции и элитной области путем декремента значений величины популяции и элитной области, а также выполняет установку адресного указателя 12.5 в нулевое состояние.The device operates as follows: when the CsEn device selection signal is set to high, the AVGA device switches to the active standby mode. In this mode, the AVGA device is located before the CLK synchronization signal arrives. When a synchronization signal arrives in the microprogram control unit 12.4, the control micro-commands are read that configure the microprogram control block to work out the initialization mode, and the micro-commands of the AVGA device control, which initialize all the other blocks. The result of the initialization mode is the formation of the capacity of the chromosome block 12.7 in accordance with the value of the signal for selecting the capacity of the chromosome WidhtCh; setting the population generation block 12.6 to generate chromosomes with a given bit depth and setting the random sequence generators to the initial state, in accordance with the value of the initial setting mode for the population generation block (determined by the input signal EnRnd); setting the corresponding multiplexers of the multiplexer block 12.8 to the addressing mode of the memory block from the address pointer block 12.5 and setting the input value for the memory block 12.9 and the criterion calculation block 12.10 directly from the population generation block 12.6, setting the input value for the criteria memory directly from the criterion 12.10 calculation block and parallel setting this value and the address of the criterion entry to the input of the internal input registers of the selection block 12.11; the memory block 12.9 is put into recording mode; probability calculation block 12.13 sets all probability values for the used bits of the chromosome to the initial value equal to 0.5; criterion calculation block 12.10 is configured to calculate the criterion value for a given number of bits in the chromosome; in selection block 12.11, all internal registers are reset; an elite region value calculating unit calculates an elite region value by multiplying a population size popsize and a parameter tau; the initialization block 12.1 prepares the values of the population and the elite region for interrupt generation blocks 12.3, directly for the modules of the population and the elite region by decrementing the values of the population and the elite region, and also sets the address pointer 12.5 to zero.

После завершения вычисления значения величины элитной области в блоке 12.2 выполняется переход к этапу генерации популяции. Алгоритм генерации популяции приведен на фигуре 1. Переход к этапу генерации популяции производится посредством отработки блоком микропрограммного управления 12.4 обработчика этапа инициализации и перехода к обработчику этапа генерации популяции.After the calculation of the value of the magnitude of the elite region in block 12.2, the transition to the stage of population generation is performed. The population generation algorithm is shown in Figure 1. The transition to the population generation step is performed by processing the microprogram control unit 12.4 of the handler of the initialization step and switching to the handler of the population generation step.

Этап генерации популяции включает параллельное функционирование блоков микропрограммного управления 12.4, генерации популяции 12.6, адресного указателя 12.5, памяти 12.9, вычисления критерия 12.10 и отбора 12.11. Этап генерации популяции разбивается на два подэтапа, где на первом выполняется наполнение конвейера (инициализация этапа), на втором - работа в режиме полного конвейера. Наполнение конвейера включает в себя 4 машинных такта.The stage of population generation includes the parallel operation of microprogram control units 12.4, population generation 12.6, address pointer 12.5, memory 12.9, calculation of criterion 12.10 and selection 12.11. The population generation stage is divided into two sub-stages, where the first is filling the pipeline (initializing the stage), the second is working in the full pipeline mode. Filling the conveyor includes 4 machine cycles.

На первом такте, по переднему фронту, в блоке генерации популяции 12.6 выполняется генерация случайной двоичной последовательности на генераторах случайного числа 3.1_1..3.1_32 (на фигуре 2 приведена схема генератора псевдослучайной двоичной последовательности), по заднему фронту выполняется сравнение сгенерированных значений на схемах сравнения 3.3_1..3.3_32 и формирование хромосомы Chromosome. Т.е. на первом такте блок генерации популяции генерирует хромосому, которая через блок мультиплексоров 12.8 поступает на вход данных памяти популяции и блока вычисления критерия 12.10. Алгоритм функционирования блока вычисления приведен на фигуре 4. По переднему фронту первого такта блок адресного указателя 12.5 устанавливает нулевой адрес хромосомы и критерия, которые через блок мультиплексоров поступают на соответствующие адресные входы памяти популяции и памяти критериев, образующих блок памяти 12.9. Значение адреса хромосомы подается также на вход блока генерации прерывания 12.3 на блок генерации прерывания величины популяции.At the first step, on the leading edge, in the population generation block 12.6, random binary sequence is generated on random number generators 3.1_1..3.1_32 (the diagram of the pseudo-random binary sequence generator is shown in figure 2), and the generated values are compared on the falling edge in comparison schemes 3.3_1..3.3_32 and the formation of the Chromosome chromosome. Those. at the first clock, the population generation unit generates a chromosome, which, through the multiplexer block 12.8, enters the data input of the population memory and the calculation unit of criterion 12.10. The algorithm of the functioning of the calculation unit is shown in Figure 4. On the leading edge of the first clock cycle, the address pointer block 12.5 sets the zero address of the chromosome and the criterion, which, through the block of multiplexers, go to the corresponding address inputs of the population memory and the memory of the criteria forming the memory block 12.9. The value of the chromosome address is also fed to the input of the interrupt generation block 12.3 to the interrupt generation block of the population value.

Значения адреса записи и хромосомы должны оставаться неизменны в момент записи хромосомы в память популяции, поэтому на втором такте блок адресного указателя 12.5 и генерации популяции 12.6 находятся в режиме ожидания, удерживая на выходах адрес записи хромосомы и значение хромосомы. По переднему фронту второго синхроимпульса производится запись значения хромосомы в память популяции согласно установленному адресу записи хромосомы и запись хромосомы в блок вычисления критерия 12.10. (Вычисление значения критерия производится согласно алгоритму, приведенному на фигуре 4, функционально блок вычисления критерия является комбинационной схемой и позволяет выполнять вычисления одновременно для двух значений). По заднему фронту второго такта в блоке генерации прерывания величины популяции выполняется сравнение значений величины популяции и адреса хромосомы, поступившего на вход блока генерации прерываний 12.3 с блока адресного указателя. Если установленный в блоке инициализации 12.1 размер популяции и адрес хромосомы совпадают, то формируется прерывание формирования популяции и блок микропрограммного управления переходит на этап формирования элитной области. Иначе продолжается функционирование этапа генерации популяции.The values of the recording address and chromosome must remain unchanged at the time of recording the chromosome in the memory of the population, therefore, at the second clock, the block of the address pointer 12.5 and generation of the population 12.6 are in standby mode, holding the chromosome recording address and value at the outputs. On the leading edge of the second clock pulse, the chromosome value is recorded in the population memory according to the set chromosome recording address and the chromosome is recorded in the criterion 12.10 calculation unit. (The calculation of the criterion value is carried out according to the algorithm shown in figure 4, functionally, the criterion calculation unit is a combinational circuit and allows you to perform calculations simultaneously for two values). On the trailing edge of the second clock in the population value interrupt generation unit, the population value and the chromosome address are compared and received at the input of the interrupt generation unit 12.3 from the address pointer block. If the size of the population and the address of the chromosome set in the initialization block 12.1 are the same, an interruption in the formation of the population is formed and the microprogram control unit proceeds to the stage of formation of the elite region. Otherwise, the functioning of the population generation stage continues.

На третьем такте этапа генерации популяции выполняется генерация новой хромосомы в блоке генерации популяции 12.6 и инкремент адреса хромосомы в блоке адресного указателя 12.5. По заднему фронту, на адресном входе памяти популяции устанавливается новое значение адреса записи очередной хромосомы и на входе данных памяти популяции и блока вычисления критерия 12.10 устанавливается значение очередной хромосомы.At the third step of the population generation stage, a new chromosome is generated in the population generation block 12.6 and the chromosome address increment in the address pointer block 12.5. On the trailing edge, a new value of the recording address of the next chromosome is set at the address input of the population memory, and the value of the next chromosome is set at the input of the data of the population memory and the calculation unit of criterion 12.10.

По переднему фронту четвертого такта выполняется запись второй хромосомы в память популяции и в блок вычисления критерия, который входит в режим наполнения конвейера и выполняет вычисление значения критерия одновременно для двух хромосом: для первой хромосомы на втором уровне, образованного элементами 5.24.. 5.30, и второй хромосомы на первом уровне, образованного элементами 5.1..5.23. По окончании четвертого такта в блоке популяции находятся две хромосомы, и на выходе блока вычисления критерия устанавливается значение критерия для первой хромосомы, сохраненной в памяти популяции по нулевому адресу. На данном такте аналогично такту два выполняется сравнение вычисленного в блоке инициализации 12.1 значения размера популяции и значения адреса хромосомы, полученного с блока адресного указателя 12.5.On the leading edge of the fourth step, the second chromosome is written to the population memory and to the criterion calculation unit, which enters the conveyor filling mode and calculates the criterion value for two chromosomes simultaneously: for the first chromosome at the second level formed by elements 5.24 .. 5.30, and the second chromosomes at the first level formed by elements 5.1..5.23. At the end of the fourth measure, two chromosomes are in the population block, and at the output of the criterion calculation block, the criterion value for the first chromosome is stored in the population memory at the zero address. At this measure, similarly to measure two, the population size calculated in the initialization block 12.1 and the value of the chromosome address obtained from the address pointer block 12.5 are compared.

В режиме полного конвейера выполняется та же последовательность действий, что и в режиме наполнения конвейера для тактов 3 и 4 с некоторыми дополнениями.In the full conveyor mode, the same sequence of operations is performed as in the conveyor filling mode for measures 3 and 4 with some additions.

На первом такте, кроме генерации новой хромосомы и инкремента адреса хромосомы, по переднему фронту первого такта выполняется сохранение значения критерия, сформированного блоком вычисления критерия 12.10, посредством передачи значения критерия через блок мультиплексоров 12.8, во входном регистре 6.1 блока отбора 12.11 и в буферном регистре, устанавливающем значение на вход памяти критериев.At the first clock cycle, in addition to generating a new chromosome and an increment of the chromosome address, the criterion value generated by the criterion calculation block 12.10 is stored along the leading edge of the first clock cycle by transmitting the criterion value through the multiplexer block 12.8, in the input register 6.1 of the selection block 12.11 and in the buffer register, setting the value to the input of the criteria memory.

По заднему фронту первого такта в блоке отбора 12.11 выполняется сравнение значения входного регистра 7.1 со значением внутреннего регистра лучшего критерия 7.2. Сравнение выполняется одновременно во всех модулях сравнения 6.2-6.9, образующих блок отбора.On the falling edge of the first clock in the selection block 12.11, the value of the input register 7.1 is compared with the value of the internal register of the best criterion 7.2. Comparison is performed simultaneously in all comparison modules 6.2-6.9, forming a selection block.

По переднему фронту второго такта выполняются действия, описанные для этапа наполнения конвейера для четвертого такта, а также запись в память критериев значения критерия из буферного регистра для хромосомы, записанной в памяти популяции по нулевому адресу. Выбор в модулях сравнения 6.2-6.9 значений адреса и критерия, соответственно сигналу выбора, полученного со схемы сравнения 7.4, для передачи последующему модулю сравнения.On the leading edge of the second measure, the actions described for the stage of filling the conveyor for the fourth measure are performed, as well as recording the criteria values from the buffer register for the chromosome recorded in the population memory at the zero address in the criteria memory. The selection in the comparison modules 6.2-6.9 of the address and criterion values, respectively, of the selection signal obtained from the comparison scheme 7.4, for transmission to the subsequent comparison module.

По заднему фронту второго такта выполняется сохранение значений, поступающих на вход внутренних регистров адреса 7.3 и регистров лучшего критерия 7.2 в модулях сравнения блока отбора. Т.о. в случае наличия единичного уровня на сигнале выбора будет выполнена передача значений внутренних регистров последующему модулю и перезапись данных регистров, значениями, установленными на входе данного модуля, иначе следующему модулю передаются значения, установленные на входе. Выполняется инкремент значения указателя адреса критерия в блоке адресного указателя.On the trailing edge of the second clock cycle, the values received at the input of the internal registers of address 7.3 and the registers of the best criterion 7.2 are stored in the comparison modules of the selection block. T.O. if there is a unit level on the selection signal, the values of the internal registers will be transferred to the next module and the data of the registers will be overwritten with the values set at the input of this module, otherwise the values set at the input will be transmitted to the next module. The increment of the value of the criterion address pointer in the address pointer block is performed.

Представленные два такта конвейерного режима представляют собой один цикл функционирования режима полного конвейера. Функционирование устройства в данном режиме осуществляется до момента генерации прерывания величины популяции блоком генерации прерывания 12.3, когда количество хромосом, записанных в память популяции, будет равно размеру популяции, вычисленном в блоке инициализации. При получении прерывания блок микропрограммного управления выходит из текущего режима функционирования и переходит на обработчик полученного прерывания. В данном случае осуществляется переход к обработчику формирования элитной области.The presented two cycles of the conveyor mode represent one cycle of the operation of the full conveyor mode. The functioning of the device in this mode is carried out until the generation of the interruption of the population value by the interruption generation unit 12.3, when the number of chromosomes recorded in the population memory will be equal to the population size calculated in the initialization block. Upon receipt of an interrupt, the microprogram control unit leaves the current operating mode and switches to the handler for the received interrupt. In this case, the transition to the processor of the formation of the elite region.

При переходе от этапа генерации популяции к этапу формирования элитной области приостанавливаются все операции, находящиеся в процессе выполнения, т.е. значения конвейеров не сбрасываются. Т.о. при завершении генерации популяции требуется выполнить два машинных цикла, аналогичных циклу полного конвейера, необходимых для завершения вычисления критериев для последних двух хромосом популяции, находящихся в процессе обработки в блоке вычисления критерия и еще восемь циклов для сравнения значения критерия последней хромосомы со всеми значениями, находящимися во внутренних регистрах блока отбора.During the transition from the stage of population generation to the stage of formation of an elite region, all operations that are in progress are suspended pipeline values are not reset. T.O. upon completion of population generation, two machine cycles are required that are similar to the full conveyor cycle necessary to complete the calculation of the criteria for the last two chromosomes of the population that are being processed in the criterion calculation unit and eight more cycles to compare the criterion value of the last chromosome with all the values in internal registers of the selection block.

Два дополнительных машинных цикла выполняются на этапе инициализации обработчика формирования элитной области. При этом блок микропрограммного управления переводит блок генерации хромосомы 12.6, память популяции и модуль генерации прерывания величины популяции в пассивный режим. Функционирование этапа инициализации обработчика формирования элитной области выполняется аналогично приведенного выше описания процесса функционирования этапа генерации популяции.Two additional machine cycles are performed at the initialization stage of the elite domain formation handler. At the same time, the microprogram control unit transfers the chromosome 12.6 generation unit, the population memory, and the population value interruption generation module to the passive mode. The functioning of the initialization stage of the elite region formation processor is performed similarly to the above description of the functioning of the population generation stage.

Как только значение критерия последней хромосомы проходит через первый модуль сравнения 6.2 блока отбора 12.11, можно утверждать, что первый модуль блока отбора 6.2 содержит значение лучшего критерия в регистре 7.2 и в регистре 7.3 адрес S, под которым сохранена хромосома в блоке памяти 12.9, соответствующая данному критерию. Т.е. на данном этапе функционирования возможен переход к формированию первого элемента элитной области.As soon as the criterion value of the last chromosome passes through the first comparison module 6.2 of selection block 12.11, it can be argued that the first module of selection block 6.2 contains the value of the best criterion in register 7.2 and in register 7.3, address S, under which the chromosome is stored in memory block 12.9, corresponding to this criteria. Those. at this stage of functioning, a transition to the formation of the first element of the elite region is possible.

Формирование элитной области включает в себя последовательную замену хромосом, находящихся в памяти в начальном адресном пространстве на хромосомы с лучшим значением критерия. Заменяемые хромосомы перемещаются в освобождаемые ячейки памяти.The formation of an elite region involves the successive replacement of chromosomes located in memory in the initial address space with chromosomes with the best criterion value. Replaced chromosomes move to freed memory cells.

При переходе к этапу формирования элитной области выполняется передача адреса хромосомы, сохраненного в регистре адреса 7.3 первого модуля блока отбора, блоку формирования элитной области. Выполняется сброс блока адресного указателя 12.5 и блока вычисления критерия 12.10 в нулевые состояния. В блоке микропрограммного управления 12.4 во внутренний счетчик генерации внутреннего прерывания количества циклов устанавливается значение 8. Память популяции и память критериев переводится в режим чтения.Upon transition to the stage of formation of the elite region, the chromosome address stored in the address register 7.3 of the first module of the selection block is transmitted to the elite region formation block. The address pointer block 12.5 and the criterion 12.10 block for calculating the criterion are reset to zero. In the microprogram control block 12.4, the value 8. is set to the internal counter for generating the internal interruption of the number of cycles. The population memory and the criteria memory are put into read mode.

По переднему фронту первого такта этапа формирования элитной области формируется сигнал чтения, одинаковый для памяти популяции и памяти критериев, т.е. выполняется чтение значения хромосомы и критерия из памяти популяции и критериев, расположенных по нулевому адресу. Поступает сигнал тактирования блока отбора 12.11, при этом на вход в качестве адреса хромосомы и значения критерия поступают нулевые значения, установленные на блок адресного указателя 12.5 (с счетчика элитных хромосом посредством блока мультиплексоров) и блоке вычисления критерия 12.10 соответственно.On the leading edge of the first measure of the elite region formation stage, a read signal is generated that is the same for the population memory and criteria memory, i.e. the value of the chromosome and the criterion is read from the memory of the population and the criteria located at the zero address. The clock signal of the selection block 12.11 is received, while the input as the chromosome address and the criterion value receives zero values set on the block of the address pointer 12.5 (from the elite chromosome counter via the multiplexer block) and the criterion calculation block 12.10, respectively.

По переднему фронту второго такта выполняется установка адреса хромосомы, полученного от блока формирования элитной области 12.12, на адресный вход блока памяти 12.9 для памяти популяции и критериев.On the leading edge of the second clock, the chromosome address received from the elite region formation unit 12.12 is set to the address input of the memory block 12.9 for the population memory and criteria.

По заднему фронту второго такта выполняется сохранение значений хромосомы и критерия, установленных на выходе памяти популяции и памяти критериев, в регистре 8.2 посредством блока мультиплексоров 12.8.On the trailing edge of the second cycle, the values of the chromosome and criterion set at the output of the population memory and the criteria memory are stored in register 8.2 by means of the multiplexer block 12.8.

По переднему фронту третьего такта выполняется чтение элитного значения хромосомы и критерия из памяти популяции и критериев (ячейка памяти с адресом S1).On the leading edge of the third measure, the elite value of the chromosome and criterion is read from the population memory and criteria (memory cell with address S1).

По переднему фронту четвертого такта память популяции и память критериев переводится в режим записи, значения хромосомы критерия, установленные на выходных портах блоков памяти популяции и критериев сохраняются в регистре 8.1 посредством блока мультиплексоров 12.8. Блок мультиплексоров 12.8 устанавливает на вход памяти популяции и памяти критериев значения хромосомы и критерия, сохраненные в регистр 8.2. Блок мультиплексоров 12.8 устанавливает на вход адреса памяти популяции и памяти критериев адрес с блока адресного указателя. Поступает сигнал тактирования блока отбора 12.11.On the leading edge of the fourth cycle, the population memory and the criteria memory are transferred to the recording mode, the values of the criterion chromosome set on the output ports of the population memory blocks and criteria are stored in register 8.1 by means of the multiplexer block 12.8. The multiplexer block 12.8 sets the chromosome and criterion values stored in register 8.2 to the input of the population memory and criteria memory. The multiplexer block 12.8 sets the address from the address pointer block to the input of the population memory address and criteria memory. A clock signal comes from the selection block 12.11.

По переднему фронту пятого такта выполняется запись хромосомы и критерия из регистра 8.2 в память популяции и память критериев по адресу S1.On the leading edge of the fifth step, the chromosome and criterion are written from register 8.2 to the population memory and the criteria memory at address S1.

Значение хромосомы из регистра 8.1, посредством блока мультиплексоров 12.8, поступает на вход блока вычисления вероятности. Алгоритм функционирования блока вычисления вероятности приведен на фигуре 9. На фигуре 3 приведен пример вычисления вероятности для бита 4.The value of the chromosome from the register 8.1, through the block of multiplexers 12.8, is fed to the input of the probability calculation block. The operation algorithm of the probability calculation unit is shown in figure 9. Figure 3 shows an example of the calculation of probability for bit 4.

По переднему фронту шестого такта блок мультиплексоров 12.8 устанавливает на вход памяти популяции и памяти критериев адрес, установленный на блок адресного указателя 12.5, и значения хромосомы и критерия, сохраненные в регистре 8.1. Выполняется передача адреса хромосомы S2, сохраненного в регистре адреса 7.3 второго модуля 6.3 блока отбора 12.11, блоку формирования элитной области 12.12. Для второго и последующих адресов S блок формирования элитной области 12.12 выполняет проверку поступившего адреса хромосомы. Проверка необходима для устранения ошибки перемещения, связанной с адресацией (указанием) на хромосомы, перемещенные в предшествующих шагах в процессе формирования элитной области, т.е. действительный адрес расположения которых был изменен. Подается сигнал тактирования блока вычисления вероятности, по которому значение элитной хромосомы поступает на вход сумматоров с накоплением 11.2..11.33 блока вычисления вероятности. Величина подсуммирования устанавливается на выходе памяти 11.1. На вход памяти поступает значение величины элитной области, на выходе устанавливается шестнадцатиразрядное значение величины, обратной к размеру элитной области.On the leading edge of the sixth cycle, the multiplexer block 12.8 sets the address set on the address pointer block 12.5 and the chromosome and criterion values stored in register 8.1 to the input of the population memory and criteria memory. The address of chromosome S2 stored in the address register 7.3 of the second module 6.3 of the selection block 12.11 is transferred to the elite region formation unit 12.12. For the second and subsequent S addresses, the elite region formation unit 12.12 checks the incoming chromosome address. The check is necessary to eliminate the movement error associated with addressing (pointing) to chromosomes moved in the previous steps in the process of forming the elite region, i.e. the actual location address of which has been changed. A clock signal is sent from the probability calculation unit, according to which the value of the elite chromosome is fed to the input of the adders with the accumulation of 11.2..11.33 probability calculation unit. The amount of summing is set at the output of the memory 11.1. The memory value receives the value of the elite region, the output sets the sixteen-digit value of the value inverse to the size of the elite region.

По переднему фронту седьмого такта выполняется запись хромосомы и критерия из регистра 8.1 в память популяции и память критериев. Данные значения представляют собой значение первой элитной хромосомы и значение ее критерия.On the leading edge of the seventh measure, the chromosome and criterion are written from register 8.1 to the population memory and the criteria memory. These values represent the value of the first elite chromosome and the value of its criterion.

Подается сигнал тактирования блока вычисления вероятности.A clock signal is sent to the probability calculation unit.

По заднему фронту седьмого такта выполняется перевод памяти критерия и памяти популяции в режим чтения. Выполняется сравнение счетчика элитных хромосом со значением величины элитной области на модуле генерации прерывания завершения формирования элитной области. Если сравниваемые значения совпадают, генерируется прерывание завершения формирования элитной области и выполняется переход к этапу завершения формирования элитной области. Иначе подается сигнал тактирования счетчика элитных хромосом.On the trailing edge of the seventh measure, the criterion memory and population memory are put into read mode. The counter of elite chromosomes is compared with the value of the elite region on the interrupt generation module to complete the formation of the elite region. If the compared values coincide, an interruption is completed to complete the formation of the elite region and the transition to the stage of completion of the formation of the elite region is performed. Otherwise, the clock signal of the counter elite chromosomes.

По заднему фронту восьмого такта в блоке микропрограммного управления декрементируется значение счетчика генерации внутреннего прерывания и если значение счетчика стало равным нулю, выполняется переход к этапу завершения формирования элитной области иначе выполняется переход к первому такту цикла формирования элитной области.On the falling edge of the eighth cycle, the counter value for generating the internal interrupt is decremented in the microprogram control unit, and if the counter value is zero, the transition to the stage of completing the formation of the elite region is completed; otherwise, the transition to the first clock cycle of the formation of the elite region is performed.

На этапе завершения формирования элитной области выполняется завершение функционирования блоков формирования элитной области, отбора и вычисления вероятности, при этом вычисленные значения вероятности поступают на блок генерации популяции. Производится инкремент счетчика итерационных циклов и сравнение значения счетчика итерационных циклов и значения, установленного на модуле количества итерационных циклов, который получает значение с входа nCircle. Если значения совпадают, блок генерации прерывания количества итерационных циклов формирует прерывание завершения функционирования и выполняется переход на этап завершения функционирования алгоритма. Иначе выполняется переход на этап инициализации.At the stage of completion of the formation of the elite region, the completion of the operation of the blocks for the formation of the elite region, selection and calculation of probability is performed, while the calculated probability values are sent to the population generation block. The increment of the iterative loop counter is compared and the value of the iterative loop counter is compared with the value set on the module of the number of iterative loops, which receives the value from the nCircle input. If the values match, the interrupt number generation unit of the iterative cycles generates an interruption in the operation completion and the transition to the stage of completion of the operation of the algorithm is performed. Otherwise, the transition to the initialization phase is performed.

На этапе завершения функционирования алгоритма на выходном порту (End) устройства устанавливается высокий уровень сигнала завершения функционирования и при поступлении на вход устройства сигнала разрешения чтения значений элитных хромосом Read, с каждым четным тактом сигнала синхронизации производится последовательный вывод значений элитных хромосом из элитной области на выходной порт устройства (Output).At the stage of completion of the algorithm at the output port (End) of the device, a high level of the signal of the completion of operation is established and when the signal for reading elite chromosomes Read is received at the device input, with each even clock cycle of the synchronization signal, the values of elite chromosomes are sequentially output from the elite region to the output port devices (Output).

Заявляемое устройство позволяет добиться максимальной оптимизации, с позиции времени функционирования алгоритма; добиться оптимизации с позиции требуемых аппаратных ресурсов; применять алгоритм в автономных системах; использовать алгоритм UMDA в системах реального времени, исследованиях при проектировании "виртуальных аппаратных средств" (Virtual Hardware), "искусственной жизни" (Artificial Life) и "самоадаптирующихся и реконфигурируемых аппаратных средств" (Self-Adapting and Reconfigurable Hardware), исследованиях в области построения адаптивных систем управления и принятия решений, в области автоматизации управления, повышения эффективности оптимизационных задач и т.п.;The inventive device allows to achieve maximum optimization, from the standpoint of the operating time of the algorithm; achieve optimization from the position of the required hardware resources; apply the algorithm in autonomous systems; use the UMDA algorithm in real-time systems, research in the design of "virtual hardware" (Virtual Hardware), "artificial life" (Artificial Life) and "self-adaptive and reconfigurable hardware" (Self-Adapting and Reconfigurable Hardware), research in the field of construction adaptive management and decision-making systems in the field of management automation, improving the efficiency of optimization tasks, etc .;

Заявляемое устройство обладает следующими характеристиками:The inventive device has the following characteristics:

- совокупность существенных признаков объекта (качественные оценки технико-экономических преимуществ): скорость обработки, эффективность, производительность, универсальность.- a set of essential features of the object (qualitative assessment of technical and economic advantages): processing speed, efficiency, productivity, versatility.

- ожидаемый положительный эффект от использования изобретения: повышение скорости нахождения оптимального решения, расширение области применения данного вероятностного генетического алгоритма.- the expected positive effect of using the invention: increasing the speed of finding the optimal solution, expanding the scope of this probabilistic genetic algorithm.

- необходимые конструктивные признаки объекта, определяемые особенностью реализации алгоритма: параллельная 32-блочная система с аппаратной поддержкой интерактивных изменений в параметрах функционирования.- the necessary structural features of the object, determined by the peculiarity of the implementation of the algorithm: a parallel 32-block system with hardware support for interactive changes in the functioning parameters.

Заявляемое устройство выполнено в виде единого кристалла ПЛИС, реализующего параллельную, многоуровневую конвейерную организацию вероятностного генетического алгоритма, микропрограммный принцип управления с возможностью настройки параметров функционирования устройства в соответствии со значениями, необходимыми пользователю, возможностью динамических изменений параметров функционирования и перенастройки принципа функционирования любого блока, не влияя на работу всего устройства в целом.The inventive device is made in the form of a single FPGA chip that implements a parallel, multi-level pipelined organization of a probabilistic genetic algorithm, microprogram control principle with the ability to configure the device’s functioning parameters in accordance with the values required by the user, the ability to dynamically change the functioning parameters and reconfigure the functioning principle of any unit without affecting to the operation of the entire device as a whole.

Основные временные характеристики устройства аппаратной реализации вероятностного генетического алгоритма UMDA.The main time characteristics of the device hardware implementation of the probabilistic genetic algorithm UMDA.

Ниже представлены основные временные характеристики устройства при тактовой частоте 125 МГц:Below are the main time characteristics of the device at a clock frequency of 125 MHz:

- инициализация всех необходимых параметров - 176 нс.- initialization of all necessary parameters - 176 ns.

- генерация популяции на 256 особей при параллельном вычислении критерия и функционировании блока отбора - 6.176 мкс.- population generation for 256 individuals with parallel calculation of the criterion and the functioning of the selection block - 6.176 μs.

- формирование 8 элементов элитной области и параллельного вычисления вероятностей - 540 нс.- the formation of 8 elements of the elite region and the parallel calculation of probabilities - 540 ns.

- чтение из памяти 120 значений критериев с параллельным выполнением отбора адресов элитных хромосом - 2,88 мкс.- reading from the memory of 120 values of the criteria with parallel selection of addresses of elite chromosomes - 2.88 μs.

- чтение из памяти 8 значений критериев с параллельным выполнением отбора адресов элитных хромосом без этапа инициализации - 192 нс.- reading from memory of 8 values of criteria with parallel selection of addresses of elite chromosomes without the initialization stage - 192 ns.

- время одного итерационного цикла вероятностного генетического алгоритма (популяция = 256, элитная область = 128, разрядность хромосомы от 1 до 32 бит) составляет 8,409 микросекунды.- the time of one iterative cycle of the probabilistic genetic algorithm (population = 256, elite region = 128, the length of the chromosome from 1 to 32 bits) is 8.409 microseconds.

Основные параметры проектирования:Key design parameters:

- производитель ПЛИС (FPGA): Altera- manufacturer of FPGAs: Altera

- семейство: АСЕХ1К- family: ASEX1K

- тип кристалла: EP1K100FC256-1- crystal type: EP1K100FC256-1

- максимальная частота функционирования устройства АВГА: 125 МГц- maximum frequency of operation of the AVGA device: 125 MHz

- необходимое количество логических ячеек - 3017- the required number of logical cells - 3017

- необходимый объем внутренней памяти - 26.312 bit.- the required amount of internal memory is 26.312 bit.

В таблице 1 приведены временные характеристики аппаратно- и программно-реализованного алгоритма UMDA. В таблице 2 общее повышение быстродействия в сравнении с прототипом.Table 1 shows the time characteristics of the hardware and software-implemented UMDA algorithm. In table 2, the overall increase in performance in comparison with the prototype.

Таблица 1.
Временные характеристики аппаратно- и программно-реализованного алгоритма UMDA
Table 1.
Temporal characteristics of the hardware and software-implemented UMDA algorithm
Основные параметры функционированияKey Performance Parameters Аппаратная реализация *Hardware implementation * Программная реализацияSoftware implementation Тактовая частотаClock frequency 125 МГц125 MHz 540 МГц (Р3)540 MHz (P3) Инициализация алгоритма:Algorithm Initialization: 176 н.с.176 n.s. Генерация одной хромосомы (32 бита)Generation of a single chromosome (32 bits) 24 н.с.24 n.s. 0,7135·10-3 сек0.7135 · 10 -3 sec Генерация популяции на 256 особей (при параллельном вычислении критерия и выполнении отбора*)Generation of a population of 256 individuals (with parallel calculation of the criterion and selection * ) 6,176·10-6 сек6.176 · 10 -6 sec 1,8267·10-1 сек1.8267 · 10 -1 sec Формирование 8 лучших элементов элитной области в порядке убыванияThe formation of the 8 best elements of the elite region in descending order 3,072·10-6 сек3.07210 -6 sec 2,9392·10-1 сек2,939210 -1 sec Формирование 128 элементов элитной области при параллельном вычислении значений вероятностиThe formation of 128 elements of the elite region with the parallel calculation of probability values 7,78·10-5 сек7.78 · 10 -5 sec 4,7027 сек4.7027 sec Время 1-го итерационного цикла1st iteration cycle time 8,409·10-5 сек8.40910 -5 sec 22,983 сек22.983 sec * - при программной реализации значение измерено только для оператора генерации популяции.* - in software implementation, the value is measured only for the population generation operator. Таблица 2.
Общее повышение быстродействия. Сравнение с прототипом.
Table 2.
Overall performance improvement. Comparison with the prototype.
Univariate Marginal Distributiona Algorithm (UMDA)Univariate Marginal Distributiona Algorithm (UMDA) Compact Genetic AlgorithmCompact Genetic Algorithm Программная реализация 540 МГц, Р3Software implementation 540 MHz, P3 Аппаратная реализация 125 МГц FPGAHardware implementation of 125 MHz FPGA Увеличение быстродействияPerformance increase Программная реализация 200 МГц, Ultra Sparc 2200 MHz software implementation, Ultra Sparc 2 Аппаратная реализация 20 МГц FPGAHardware implementation of 20 MHz FPGA Увеличение быстродействияPerformance increase 23 сек23 sec 84 мксек84 microseconds 27,38027,380 2:30 min2:30 min 0.15 сек0.15 sec 1,0001,000

Claims (1)

Устройство аппаратной реализации вероятностных генетических алгоритмов, содержащее блок микропрограммного управления, блок инициализации, блок вычисления вероятности, блок отбора, блок памяти, блок генерации популяции, предназначенный для генерации популяции посредством параллельной генерации бит хромосомы, блок вычисления критерия для вычисления значений критерий (функции пригодности), выход которого связан с выходным портом устройства (признак нахождения решения), второй выход блока памяти связан с выходным портом устройства (сигнал для последовательного вывода значений), первый вход блока генерации популяции связан со вторым выходом блока инициализации, третий вход блока генерации популяции связан с первым выходом блока вычисления вероятности, а выход блока генерации популяции связан со вторым входом блока вычисления критерия, выходы блока микропрограммного управления связаны с первыми управляющими входами блока инициализации, блока генерации популяции, блока памяти, блока вычисления критерия, блока отбора и блока вычисления вероятности, при этом блок микропрограммного управления предназначен для формирования управляющих сигналов для перевода в активный и пассивный режимы блока инициализации, блока генерации популяции, блока вычисления критерия, блока отбора, блока вычисления вероятности и блока памяти, а также для установки блока генерации популяции в исходное состояние, блок инициализации предназначен для установки блока генерации популяции в исходное состояние, при этом вход блока микропрограммного управления связан с синхронизирующим входным портом устройства, вход блока инициализации связан с входным портом устройства (сигнал выбора режима начальной установки), отличающееся тем, что в него введены блок вычисления величины элитной области, блок генерации прерываний, блок адресного указателя, блок формирования разрядности хромосомы, блок мультиплексоров, блок формирования элитной области, при этом блок отбора предназначен для отбора адресов хромосом из популяции, поступающих от блока мультиплексоров, с лучшим значением критерия; блок микропрограммного управления также предназначен для формирования управляющих сигналов для перевода в активный и пассивный режимы блока вычисления величины элитной области, блока формирования разрядности хромосомы, блока генерации прерываний, блока формирования элитной области и блока адресного указателя, а также для управления режимами блока мультиплексоров; блок инициализации предназначен для инициализации вероятностного генетического алгоритма на этапе инициализации и регулирования параметрами в процессе функционирования блока генерации прерываний и блока вычисления элитной области, а также для установки блока адресного указателя и блока генерации популяции в исходные состояния; блок вычисления величины элитной области предназначен для вычисления величины элитной области; блок генерации прерываний предназначен для генерации аппаратных прерываний; блок адресного указателя предназначен для формирования адресов считывания хромосом и критериев из блока памяти или адресов записи хромосом и критериев в блок памяти; блок формирования разрядности хромосомы предназначен для установки количества используемых бит в хромосоме; блок памяти предназначен для хранения хромосом популяции и значений критериев для хромосом; блок формирования элитной области предназначен для формирования элитной области хромосом на основе отобранных хромосом из популяции с лучшим значением критерия посредством перемещения отобранных хромосом в начальную область адресного пространства блока памяти; блок вычисления вероятности для вычисления вероятности нахождения единичных бит для каждой позиции бит в хромосоме на основе всех хромосом элитной области, при этом второй вход блока генерации популяции связан с первым выходом блока формирования разрядности хромосомы, выход блока генерации популяции связан со вторым входом блока мультиплексоров, выход блока отбора связан с входом блока формирования элитной области, выходы блока микропрограммного управления также связаны с первыми управляющими входами блока вычисления элитной области, блока генерации прерываний, блока адресного указателя, блока формирования разрядности хромосомы, блока мультиплексоров и блока формирования элитной области, входы блока микропрограммного управления и третий вход блока генерации прерываний связаны с соответствующими входными портами устройства (сигнал выбора устройства, сигнала разрешения чтения), выход блока инициализации соединен с первыми входами блока генерации прерываний, блока вычисления величины элитной области и блока адресного указателя, все другие входы блока инициализации связаны с входными портами устройства (сигнал установки количества итерационных циклов, сигналы размера популяции и параметра величины элитной области), выход блока вычисления величины элитной области связан со вторым входом блока генерации прерываний, второй и третий входы блока вычисления величины элитной области связаны с входными портами устройства (сигналами размера популяции и параметра величины элитной области), выход блока генерации прерываний связан с блоком микропрограммного управления, четвертый вход блока генерации прерываний связан со вторым выходом блока адресного указателя, пятый вход блока генерации прерываний связан с первым выходом блока вычисления критерия, первый выход блока адресного указателя связан с первым входом блока мультиплексоров, вход блока формирования разрядности хромосом связан с входным портом устройства (сигнал размера хромосомы), второй выход блока формирования разрядности хромосомы связан с первым входом блока вычисления вероятности и третьим входом блока вычисления критерия, третий вход блока мультиплексоров связан со вторым выходом блока вычисления критерия, четвертый вход блока мультиплексоров связан с третьим выходом блока памяти, пятый вход блока мультиплексоров связан с выходом блока формирования элитной области, первый выход блока мультиплексоров связан с входом блока отбора, второй выход блока мультиплексоров связан с входом блока памяти, третий выход блока мультиплексоров связан со вторым входом блока вычисления вероятности, первый выход блока памяти связан с четвертым входом блока вычисления критерия.A device for the implementation of probabilistic genetic algorithms containing a microprogram control unit, an initialization unit, a probability calculation unit, a selection unit, a memory unit, a population generation unit for generating a population by parallel generation of chromosome bits, a criterion calculation unit for calculating criteria values (suitability functions) the output of which is connected to the output port of the device (a sign of finding a solution), the second output of the memory block is connected to the output port of the device ( cash for serial output of values), the first input of the population generation block is connected to the second output of the initialization block, the third input of the population generation block is connected to the first output of the probability calculation block, and the output of the population generation block is connected to the second input of the criterion calculation block, the outputs of the microprogram control block are connected with the first control inputs of the initialization block, the population generation block, the memory block, the criterion calculation block, the selection block and the probability calculation block, while the micro block software control is designed to generate control signals for transferring the initialization block, the population generation block, the criterion calculation block, the selection block, the probability calculation block and the memory block to active and passive modes, as well as to set the population generation block to its initial state, the initialization block is designed to setting the population generation unit to its initial state, while the input of the firmware control unit is connected to the synchronizing input port of the device, the input of the initial unit connection is connected to the input port of the device (the signal for selecting the initial installation mode), characterized in that it contains a unit for calculating the value of the elite region, an interrupt generation unit, an address pointer block, a chromosome bit generation block, a multiplexer block, an elite region formation block, the selection block is designed to select the addresses of chromosomes from the population coming from the block of multiplexers with the best criterion value; the microprogram control unit is also intended for generating control signals for switching to the active and passive modes of the unit for calculating the value of the elite region, the block for generating the bit size of the chromosome, the block for generating interrupts, the unit for forming the elite region and the block for the address pointer, as well as for controlling the modes of the unit of multiplexers; the initialization unit is designed to initialize the probabilistic genetic algorithm at the initialization and parameter control stage during operation of the interrupt generation unit and the elite domain calculation unit, as well as to set the address pointer unit and the population generation unit to the initial states; the unit for calculating the magnitude of the elite region is designed to calculate the magnitude of the elite region; interrupt generation unit is designed to generate hardware interrupts; the address pointer block is intended for forming chromosome read addresses and criteria from a memory block or chromosome write addresses and criteria to a memory block; the chromosome bit formation unit is designed to set the number of bits used in the chromosome; the memory unit is designed to store the chromosomes of the population and the values of the criteria for chromosomes; an elite region formation unit is designed to form an elite region of chromosomes based on selected chromosomes from a population with the best criterion value by moving the selected chromosomes to the initial region of the address space of the memory block; a probability calculation unit for calculating the probability of finding single bits for each bit position in the chromosome based on all the chromosomes of the elite region, the second input of the population generation block being connected to the first output of the chromosome bit formation block, the output of the population generation block being connected to the second input of the multiplexer block, output the selection unit is connected to the input of the elite region formation unit, the outputs of the microprogram control unit are also connected to the first control inputs of the elite region computing unit and, the interrupt generation block, the address pointer block, the chromosome bit formation block, the multiplexer block and the elite region forming block, the inputs of the microprogram control block and the third input of the interrupt generation block are connected to the corresponding input ports of the device (device selection signal, read permission signal), output the initialization block is connected to the first inputs of the interrupt generation block, the unit for calculating the value of the elite region and the address pointer block, all other inputs of the initialization block the connections are connected to the input ports of the device (a signal for setting the number of iterative cycles, signals of the population size and the elite region value parameter), the output of the elite region calculation unit is connected to the second input of the interrupt generation unit, the second and third inputs of the elite region calculation unit are connected to the input ports devices (by signals of population size and elite region value parameter), the output of the interrupt generation unit is connected to the microprogram control unit, the fourth input of the generation unit interruptions is connected with the second output of the address pointer block, the fifth input of the interrupt generation block is connected with the first output of the criterion calculation block, the first output of the address pointer block is connected with the first input of the multiplexer block, the input of the chromosome bit formation block is connected to the input port of the device (chromosome size signal), the second output of the chromosome bit formation unit is connected to the first input of the probability calculation unit and the third input of the criterion calculation unit, the third input of the multiplexer unit is connected to the second output of the criterion calculation block, the fourth input of the multiplexer block is connected to the third output of the memory block, the fifth input of the multiplexer block is connected to the output of the elite region forming unit, the first output of the multiplexer block is connected to the input of the selection block, the second output of the multiplexer block is connected to the input of the memory block, third the output of the multiplexer block is connected to the second input of the probability calculation block, the first output of the memory block is connected to the fourth input of the criterion calculation block.
RU2005108760/09A 2005-03-28 2005-03-28 Device for hardware realization of probability genetic algorithms RU2294561C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2005108760/09A RU2294561C2 (en) 2005-03-28 2005-03-28 Device for hardware realization of probability genetic algorithms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2005108760/09A RU2294561C2 (en) 2005-03-28 2005-03-28 Device for hardware realization of probability genetic algorithms

Publications (2)

Publication Number Publication Date
RU2005108760A RU2005108760A (en) 2006-09-10
RU2294561C2 true RU2294561C2 (en) 2007-02-27

Family

ID=37112425

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2005108760/09A RU2294561C2 (en) 2005-03-28 2005-03-28 Device for hardware realization of probability genetic algorithms

Country Status (1)

Country Link
RU (1) RU2294561C2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2447503C1 (en) * 2010-12-13 2012-04-10 Государственное образовательное учреждение высшего профессионального образования "Южно-Российский государственный университет экономики и сервиса" (ГОУ ВПО "ЮРГУЭС") Device for hardware implementation of evolutionary algorithm with inexplicit operators
RU2556374C2 (en) * 2009-04-28 2015-07-10 Сентиент Текнолоджиз (Барбадос) Лимитед Network computing system and method of solving computational task
RU2572379C1 (en) * 2014-07-22 2016-01-10 Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Донской Государственный Технический Университет" (Дгту) Reconfigurable device for hardware implementation of genetic algorithm
RU2662920C2 (en) * 2013-02-08 2018-07-31 Мбда Франс Multi-objective optimization method and device
US10430429B2 (en) 2015-09-01 2019-10-01 Cognizant Technology Solutions U.S. Corporation Data mining management server
RU2780799C1 (en) * 2021-07-14 2022-10-04 Денис Михайлович СИЛИН Method and system for optimising the frequency allocation in a set of compactly arranged diverse radioelectronic tools

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ГУДИЛОВ В.В., ЗИНЧЕНКО Л.А., Аппаратная реализация вероятностных генетических алгоритмов с параллельным формированием хромосомы, & laguo; Перспективные информационные технологии и интеллектуальные системы &raquo. № 4(16), 2003, с.34 & #8211; 38. CATCHAWIT APORNTEWAN, PRABHAS CHONGSTITVATANA. A hardware implementation of compact genetic algorithm. Proceedings of the 2001 IEEE-Congress on Evolutionary computation Seoul. Korea, May 27-30, 2001, с.624-629. *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2556374C2 (en) * 2009-04-28 2015-07-10 Сентиент Текнолоджиз (Барбадос) Лимитед Network computing system and method of solving computational task
RU2447503C1 (en) * 2010-12-13 2012-04-10 Государственное образовательное учреждение высшего профессионального образования "Южно-Российский государственный университет экономики и сервиса" (ГОУ ВПО "ЮРГУЭС") Device for hardware implementation of evolutionary algorithm with inexplicit operators
RU2662920C2 (en) * 2013-02-08 2018-07-31 Мбда Франс Multi-objective optimization method and device
RU2572379C1 (en) * 2014-07-22 2016-01-10 Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Донской Государственный Технический Университет" (Дгту) Reconfigurable device for hardware implementation of genetic algorithm
US10430429B2 (en) 2015-09-01 2019-10-01 Cognizant Technology Solutions U.S. Corporation Data mining management server
US11151147B1 (en) 2015-09-01 2021-10-19 Cognizant Technology Solutions U.S. Corporation Data mining management server
RU2780799C1 (en) * 2021-07-14 2022-10-04 Денис Михайлович СИЛИН Method and system for optimising the frequency allocation in a set of compactly arranged diverse radioelectronic tools
RU2780798C1 (en) * 2021-07-14 2022-10-04 Денис Михайлович СИЛИН System for optimising the frequency allocation in a set of compactly arranged diverse radioelectronic tools
RU2780800C1 (en) * 2021-07-14 2022-10-04 Денис Михайлович СИЛИН System for optimising the frequency allocation in a set of compactly arranged diverse radioelectronic tools

Also Published As

Publication number Publication date
RU2005108760A (en) 2006-09-10

Similar Documents

Publication Publication Date Title
US11048996B2 (en) Information processing apparatus, ising device, and information processing apparatus control method
CN100492343C (en) Reconfigurable operation apparatus
CN112487750B (en) Convolution acceleration computing system and method based on in-memory computing
KR20130090147A (en) Neural network computing apparatus and system, and method thereof
CN106227507A (en) Calculating system and controller thereof
US11544548B2 (en) Processing element and neural processing device including same
RU2294561C2 (en) Device for hardware realization of probability genetic algorithms
US20210287075A1 (en) Hardware architecture for processing data in neural network
US20120296857A1 (en) Hardware acceleration of DNA codeword searching and fitness determination employing a code extender
TWI417798B (en) High - speed reverse transfer neural network system with elastic structure and learning function
Geng et al. O3BNN: An out-of-order architecture for high-performance binarized neural network inference with fine-grained pruning
Pan et al. GPU-based parallel collision detection for real-time motion planning
CN109670581B (en) Computing device and board card
EP3968242A1 (en) Arithmetic operation device and arithmetic operation system
US10795404B2 (en) Information processing acceleration control system
CN101236488B (en) Synergic distribution type processing method and device
RU2447503C1 (en) Device for hardware implementation of evolutionary algorithm with inexplicit operators
Al-marakeby FPGA on FPGA: implementation of fine-grained parallel genetic algorithm on field programmable gate array
JP2021043508A (en) Information processing device and information processing method
Heenes et al. FPGA implementations of the massively parallel GCA model
CN116151171B (en) Full-connection I Xin Moxing annealing treatment circuit based on parallel tempering
RU2572379C1 (en) Reconfigurable device for hardware implementation of genetic algorithm
US12026548B2 (en) Task manager, processing device, and method for checking task dependencies thereof
Letras et al. A scalable and customizable processor array for implementing cellular genetic algorithms
Qiu et al. Hybrid architecture for accelerating DNA codeword library searching

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20080329