JPH06161980A - Fast processing method for genetic algorithm - Google Patents

Fast processing method for genetic algorithm

Info

Publication number
JPH06161980A
JPH06161980A JP4316797A JP31679792A JPH06161980A JP H06161980 A JPH06161980 A JP H06161980A JP 4316797 A JP4316797 A JP 4316797A JP 31679792 A JP31679792 A JP 31679792A JP H06161980 A JPH06161980 A JP H06161980A
Authority
JP
Japan
Prior art keywords
gene
genetic algorithm
processing method
register
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4316797A
Other languages
Japanese (ja)
Inventor
Tomokazu Ebata
智一 江端
Ikuo Yoshihara
郁夫 吉原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4316797A priority Critical patent/JPH06161980A/en
Publication of JPH06161980A publication Critical patent/JPH06161980A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To perform the fast processing of genetic algorithm by generating a gene string used in the genetic algorithm so as to be applied to computer architecture without imparting the property and information of the string. CONSTITUTION:When individual gene which comprises the gene string like an i-th gene GENE[i,k] (k=1, 2,...Lmax, where, Lmax: the number of genes which comprise the gene string) is arranged as shown in figure, no information other than that for the lowest-order bit on memory is required by expressing the gene string in a binary string. Therefore, the gene string is not defined in arrangement, and only the lowest-order bits are collected in one word, and it is used as a variable of integer type. In such a way, the genetic algorithm can be executed at high speed by comprising the gene string used in the genetic algorithm without impairing the property or information of the string, using the computer architecture, and efficiently using the resources of a computer.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、遺伝的アルゴリズムを
計算機で実行する方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for executing a genetic algorithm on a computer.

【0002】[0002]

【従来の技術】特開平2−236660は、拡張された
種類の問題を解くための遺伝的アルゴリズムを提供する
ものであり、対象とする集団の大きさ、形、または複雑
さに制約を加えることなく遺伝的アルゴリズムを行なう
方法に関するものである。また、特開平3−10366
では、修正された記号ストリングで表されるニューラル
ネットワークを学習し評価すると共に、記号ストリング
の修正を繰り返し最適なニューラルネットワークを構成
する方法に関するものである。
2. Description of the Related Art Japanese Unexamined Patent Publication No. 2-236660 provides a genetic algorithm for solving an extended kind of problem, and restricts the size, shape or complexity of a target population. Without a genetic algorithm. In addition, JP-A-3-10366
The present invention relates to a method for learning and evaluating a neural network represented by a modified symbol string and repeating the modification of the symbol string to construct an optimal neural network.

【0003】[0003]

【発明が解決しようとする課題】遺伝的アルゴリズムは
確率的探索アルゴリズムであり、繰り返しの手続きを必
要とするため時間がかかるが、前述の技術においては遺
伝的アルゴリズムの処理に要する時間については特に言
及されていない。
The genetic algorithm is a probabilistic search algorithm and takes time because it requires an iterative procedure. In the above-mentioned technique, the time required for processing the genetic algorithm is particularly mentioned. It has not been.

【0004】本発明は、遺伝的アルゴリズムを高速に処
理をする手段を提供することを目的とするものである。
An object of the present invention is to provide a means for processing a genetic algorithm at high speed.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するため
に、入力装置、出力装置、メモリ、CPU(中央制御装
置)及びその他の周辺機器を有する計算機において、与
えられた問題と計算機のアーキテクチャの両方に適する
記号ストリングを生成して、それらの記号ストリングを
ポインタアドレスで操作する。また、その記号ストリン
グをレジスタ上に配置して、ビット演算を用いて遺伝子
列の変換を行なう。
In order to achieve the above object, in a computer having an input device, an output device, a memory, a CPU (central control unit) and other peripheral devices, a given problem and a computer architecture Generate symbol strings suitable for both and manipulate those symbol strings with pointer addresses. Further, the symbol string is arranged on the register and the gene sequence is converted by using the bit operation.

【0006】なお、遺伝的アルゴリズムの処理を説明す
るにあたって、上記の記号ストリングを遺伝子列と呼
び、記号ストリングを構成する個々の記号を遺伝子と呼
び、その遺伝子列の情報によって特徴が形成されるもの
を、個体と呼ぶことが一般的であり、以下本発明でもこ
れらの術語を用いることとする。
In describing the processing of the genetic algorithm, the above-mentioned symbol strings are called gene sequences, the individual symbols constituting the symbol strings are called genes, and the features are formed by the information of the gene sequences. Is generally called an individual, and hereinafter, these terms will be used in the present invention.

【0007】[0007]

【作用】本発明は、遺伝的アルゴリズムで用いる遺伝子
列を、その性質や情報を損なうことなく構成し、計算機
アーキテクチャを利用し、計算機の資源を効率的に利用
することにより、遺伝的アルゴリズムを高速に実行する
ものである。
The present invention configures a gene sequence used in a genetic algorithm without damaging its properties and information, utilizes a computer architecture, and efficiently uses the resources of the computer to speed up the genetic algorithm. Is what you want to do.

【0008】[0008]

【実施例】【Example】

(実施例1)本発明の一実施例を図1に示す。図1は、
1入力1出力の非線形関数の最小値探索を遺伝的アルゴ
リズムで行なう場合の遺伝子列の構成を示す図である。
(Embodiment 1) FIG. 1 shows an embodiment of the present invention. Figure 1
It is a figure which shows the structure of the gene sequence at the time of performing the minimum value search of the nonlinear function of 1 input 1 output by a genetic algorithm.

【0009】図2に本発明を実行するハードウェアの構
成を示す。同図において中央制御装置CPU21は32
ビット長のレジスタ群211を持ち、32ビット演算の
ためのシフト機能、ビット操作機能などの論理演算を行
なう演算部212をもつ。また命令デコーダによって解
読された結果に基づいて命令を実行させる制御部213
を持つ。メモリ22に含まれるランダムアクセスメモリ
RAM221とCPU21とのデータ転送は、アドレス
バス24によって32ビットのワードの境界ごとにアク
セスされ、データバス23を経由してCPUあるいは、
RAM自身とやりとりされる。また22に含まれるリー
ドオンリーメモリROM222には、CPUが動作を開
始すると真っ先に呼び出され初期設定動作を行なわせる
プログラムが書き込まれている。IO27はデータの出
入口であり、これを介して処理に用いるパラメータは入
力装置25より入力され、処理の結果は出力装置26に
出力される。なお、前述の32ビットは、本実施例で使
用する計算機に合わせて設定されているが、特にこのビ
ット数に限定されるものではない。
FIG. 2 shows a hardware configuration for carrying out the present invention. In the figure, the central control unit CPU21 is 32
It has a register group 211 of bit length, and has an arithmetic unit 212 for performing logical operations such as a shift function for 32 bit operations and a bit operation function. In addition, the control unit 213 that executes an instruction based on the result decoded by the instruction decoder
have. In the data transfer between the random access memory RAM 221 included in the memory 22 and the CPU 21, the address bus 24 accesses each 32-bit word boundary, and the data is transferred to the CPU or the data bus 23.
It is exchanged with the RAM itself. A read-only memory ROM 222 included in 22 has a program written therein which is called first when the CPU starts the operation and performs the initial setting operation. The IO 27 is a data entrance / exit, through which the parameters used for processing are input from the input device 25, and the processing results are output to the output device 26. The above 32 bits are set according to the computer used in this embodiment, but the number of bits is not particularly limited.

【0010】遺伝的アルゴリズムを用いて、与えられた
関数の最小値を探索する手順を以下に述べる。 (1)複数の乱数を発生させて、各々を遺伝子列の形に
表現し、遺伝子列の初期状態とする。 (2)これらの遺伝子列を交叉、突然変異に従って変化
させる。なお、交叉とはある一対の個体に対しその個体
の持つ遺伝子列の一部を互いに交換させる処理であり、
突然変異とは遺伝子列の一部を変化させる処理である。 (3)変化した各々の遺伝子列を各々の数値に復元し
て、与えられた関数に入力する。そして各々の関数の値
を得る。 (4)得られた各々の関数の値の全てを用いて全体の評
価を行なう。その全体の評価に従って個々の関数の値を
評価して、淘汰・増殖を行なう。なお、淘汰とは個体の
評価が低い時に、その個体を消失させる処理であり、増
殖とは個体の評価が高い時に、同じ遺伝子列を有する個
体を発生させる処理である。 (5)与えられた終了条件を満たすまで(2)〜(4)
の処理を繰り返す。
A procedure for searching the minimum value of a given function using a genetic algorithm will be described below. (1) Generating a plurality of random numbers and expressing each in the form of a gene sequence, which is the initial state of the gene sequence. (2) These gene sequences are crossed over and changed according to the mutation. In addition, crossover is a process of exchanging a part of the gene sequence of an individual for a pair of individuals,
Mutation is a process that changes part of a gene sequence. (3) Each changed gene sequence is restored to each numerical value and input to the given function. And get the value of each function. (4) The entire evaluation is performed using all the obtained values of each function. The value of each function is evaluated according to the overall evaluation, and selection and multiplication are performed. In addition, selection is a process of eliminating an individual when the evaluation of the individual is low, and proliferation is a process of generating an individual having the same gene sequence when the evaluation of the individual is high. (5) Until the given end condition is satisfied (2) to (4)
The process of is repeated.

【0011】なお、上記の(2)〜(4)までの処理を
世代、繰り返し回数を世代数と呼ぶ。このように世代を
繰り返して、与えられた関数の最小値、あるいは最小に
近い値を求めることができる。なお、具体的な詳細手順
については後述する(図7)。なお、遺伝的アルゴリズ
ムについては、以下の文献で詳しく説明されている。 Goldberg, D.E.: Genetic Algorithms in Search, Opti
mization and Machine Learning, Addison-Wesley (198
9) 図3には遺伝的アルゴリズムを用いて問題を解くための
手続きの手順をPAD(Program Analys
is Diagram)図で示す。下記の多峰性非線形
関数の最小値を求める場合を例に本発明の処理方式を説
明する。
The above processes (2) to (4) are called generations, and the number of repetitions is called the number of generations. In this way, the minimum value of the given function or a value close to the minimum can be obtained by repeating the generations. The specific detailed procedure will be described later (FIG. 7). The genetic algorithm is described in detail in the following documents. Goldberg, DE: Genetic Algorithms in Search, Opti
mization and Machine Learning, Addison-Wesley (198
9) Fig. 3 shows the procedure of the procedure for solving the problem using the genetic algorithm by PAD (Program Analysis).
is Diagram). The processing method of the present invention will be described by taking as an example the case where the minimum value of the following multimodal nonlinear function is obtained.

【0012】[0012]

【数1】 [Equation 1]

【0013】ただし、定義域は0以上2未満(0≦x<
2)である。そして、出力値の小さいものから優先順位
をつけ、この順位をもって個体の評価とする。
However, the domain is 0 or more and less than 2 (0 ≦ x <
2). Then, priorities are given from the one with the smallest output value, and this order is used as the individual evaluation.

【0014】31の遺伝子列の設定に関して、遺伝子列
の設定数値から遺伝子列への変換手順を図5のPAD図
を用いて、また遺伝子列から数値への変換手順を図6の
PAD図を用いて各々説明する。図5及び図6に用いる
記号の意味は次の通りである。 Gmax :全個体数 di :i個めの入力値 δi :diをη倍した値の整数部分 Lmax :遺伝子列を構成する遺伝子の数 Gene[i,k] :i個目の遺伝子列のk番目の遺
伝子の値 52において、i個目の入力値diをη倍し整数部分を
δiとする。
Regarding the setting of 31 gene strings, the conversion procedure from the set numerical value of the gene string to the gene string is used by using the PAD diagram of FIG. 5, and the conversion procedure of the gene string is converted by the PAD diagram of FIG. And explain each. The symbols used in FIGS. 5 and 6 have the following meanings. Gmax: total number of individuals di: i-th input value δi: integer part of a value obtained by multiplying di by η Lmax: number of genes constituting gene sequence Gene [i, k]: kth of i-th gene sequence In the value 52 of the gene of, the i-th input value di is multiplied by η and the integer part is set to δi.

【0015】なお、ηは定数であり、その値は変数をη
倍した値が、0〜4294967295(2の32乗か
ら1を引いた値)に含まれるように設定する。例えば、
0≦x<2のとき、η=2147483648(2の3
1乗)である。54において、δiを2で割った余り、
すなわち0か1の値を得て、55においてδiを2で割
った商をδiとして更新する。これを53で遺伝子列の
最大長まで繰り返すことで、バイナリ数列を得ることが
できる。このバイナリ列を遺伝子列とする。51におい
て、各々の関数の入力値を各々遺伝子列に変換する。こ
の手法では入力値の桁の大きい性質が遺伝子の左側(上
位ビット)で表現され、入力値の桁の小さい性質になる
程、右側(下位ビット)で表現されることになる。結果
的にδiの2進数表現となっている。
Η is a constant, and its value is a variable η
The multiplied value is set so as to be included in 0 to 4294967295 (a value obtained by subtracting 1 from the 32nd power of 2). For example,
When 0 ≦ x <2, η = 2147483648 (3 of 2)
1). At 54, the remainder when δi is divided by 2,
That is, a value of 0 or 1 is obtained, and the quotient obtained by dividing δi by 2 at 55 is updated as δi. By repeating this at 53 up to the maximum length of the gene sequence, a binary sequence can be obtained. This binary string is a gene string. At 51, the input value of each function is converted into a gene sequence. In this method, the property of the input value having a large digit is represented by the left side (upper bit) of the gene, and the property of the input value having a smaller digit is represented by the right side (lower bit). As a result, the binary expression of δi is obtained.

【0016】例えば、η=2147483648(2の
31乗)としたときには 入力値d=0.571875では、δ=1228092
211となり、遺伝子列は {010010010011001100110011
00110011} となる。
For example, when η = 2147483648 (2 to the 31st power), when the input value d = 0.571875, δ = 1228092.
211, and the gene sequence is {010010010011001100110011
00110011}.

【0017】また、図6の63、64において遺伝子列
の情報を数値に変換した後、65にてηで割って関数の
入力値に戻す。61は上記の処理を全ての遺伝子列対し
に施す制御を行なう。例えば、遺伝子列が {001011100001011101011101
10111000} の時、δ=739728568となり、入力値は、0.
6889259となる。
Further, after converting the information of the gene sequence into numerical values in 63 and 64 of FIG. 6, it is divided by η in 65 and returned to the input value of the function. Reference numeral 61 controls to apply the above processing to all gene sequences. For example, the gene sequence is {001011100001011101011101.
10111000}, δ = 739728568, and the input value is 0.
It becomes 6889259.

【0018】次に、遺伝子列の構成方法について図1を
用いて説明する。本実施例においては、遺伝子列をバイ
ナリ列で表現するので、i番目の遺伝子列GENE
[i,k](k=1,2,..,Lmax、ただしLm
axは遺伝子列を構成する遺伝子の個数)のように遺伝
子列を構成する個々の遺伝子を図1の様に配置した時、
メモリ上では最下位ビット以外の情報は不要となる。そ
こで、遺伝子列を配列では定義せず、最下位ビットだけ
を1ワードに集め1個の整数型の変数として使用する。
例えば、 {001011010001011101011101
10111000} なる32個のバイナリ値の遺伝子から構成される遺伝子
列は739728568という10進数一つで表すこと
が可能となる。
Next, a method of constructing a gene array will be described with reference to FIG. In this example, since the gene sequence is represented by a binary sequence, the i-th gene sequence GENE
[I, k] (k = 1, 2, ..., Lmax, where Lm
ax is the number of genes that make up the gene sequence), and the individual genes that make up the gene sequence are arranged as shown in FIG.
On the memory, information other than the least significant bit is unnecessary. Therefore, the gene sequence is not defined by an array, and only the least significant bit is collected in one word and used as one integer type variable.
For example, {001011010001011101011101
A gene sequence composed of 32 binary-valued genes such as 10111000} can be represented by a single decimal number 7397728568.

【0019】図3のパラメータの設定32では、任意の
個体数と、それに対する交叉率、淘汰増殖率、突然変異
率を設定する。これらは0〜100[%]の範囲にある
値である。また繰り返しを打ち切る回数を適当に設定す
る。本実施例においては、個体数100、遺伝子長3
2、交叉率80%、淘汰増殖率10%、突然変異率5
%、打ち切り世代数を200世代としたが、特にこの値
に限定されるものではない。
In the parameter setting 32 shown in FIG. 3, an arbitrary number of individuals and the crossover rate, selection multiplication rate, and mutation rate corresponding thereto are set. These are values in the range of 0 to 100 [%]. In addition, the number of times to terminate the repetition is set appropriately. In this example, the number of individuals is 100 and the gene length is 3
2, 80% crossover rate, 10% selection growth rate, 5 mutation rate
%, The number of censored generations was set to 200, but the number is not limited to this value.

【0020】下記の文献に上記のパラメータ値に関して
詳しく記載されている。 Goldberg, D.E.: Genetic Algorithms in Search, Opti
mization and MachineLearning, pp.70-74,Addison-Wes
ley (1989) 本実施例の、遺伝的アルゴリズムの処理手順をPAD図
で示す。集団の発生71で、0から429496729
5(2の32乗から1を引いた値)までの整数値の乱数
を、個体数と同じ100個発生させメモリ上に配置す
る。これらの乱数が、各々の遺伝子列の初期状態とな
る。なお、処理の高速化を図るために、個々の遺伝子列
が格納されている先頭アドレスを格納するアドレステー
ブルを用意して、遺伝子列の実体は動かさずポインタア
ドレスを移動させる。また、集団の発生71以降の手順
で使用する乱数は、1〜個体数(100)までと、1〜
遺伝子長(32)までの整数値の並びを無作為に入れ換
えたものを使用するので、1世代ごとに無作為な整数値
の並びを生成して、それを各処理で使用するものとす
る。
The following documents describe the above parameter values in detail. Goldberg, DE: Genetic Algorithms in Search, Opti
mization and MachineLearning, pp.70-74, Addison-Wes
ley (1989) The PAD diagram shows the processing procedure of the genetic algorithm of this embodiment. Outbreak of 71, from 0 to 429496729
A random number of an integer value up to 5 (a value obtained by subtracting 1 from 2 32), which is the same as the number of individuals, is generated and placed on the memory. These random numbers become the initial state of each gene sequence. In order to speed up the process, an address table that stores the start address where each gene sequence is stored is prepared and the pointer address is moved without moving the substance of the gene sequence. Further, the random numbers used in the procedure after the generation 71 of the group are 1 to the number of individuals (100),
A random sequence of integer values up to the gene length (32) is used, so a random sequence of integer values is generated for each generation and used in each process.

【0021】72は打ち切り判定で、200世代繰り返
して処理を終了する。各個体の評価73では、各々の整
数値で表される遺伝子列を前述の図4の手順を用いて与
えられた関数の入力値に変換し、各々の遺伝子列から関
数の出力値を得る。全個体の中で、その出力値が小さい
ものから順にソートし、この順位を個体の評価値とす
る。ただし、遺伝子列の実体はメモリ上では移動させ
ず、遺伝子列のポインタアドレスを操作して、遺伝子列
を昇順に指し示すようにする。
Reference numeral 72 is a termination decision, and the process is repeated after 200 generations. In the evaluation 73 of each individual, the gene sequence represented by each integer value is converted into the input value of the given function using the procedure of FIG. 4 described above, and the output value of the function is obtained from each gene sequence. Among all the individuals, the ones with the smallest output value are sorted in order, and this rank is used as the evaluation value of the individuals. However, the entity of the gene sequence is not moved in the memory, and the pointer address of the gene sequence is manipulated to point the gene sequence in ascending order.

【0022】全体の評価74では、各解の評価73で行
なった個々の解の評価の平均値が、適当なしきい値より
小さくなったか否か判定する。小さいと判定した時は満
足な解が得られたものとして結果を表示して処理を停止
する。淘汰及び増殖75は、各個体の評価73で得られ
た評価に従って、昇順に並べ直した個体の中から、評価
の低い遺伝子列を評価の高い遺伝子列に置き換える。こ
れによって評価の高い個体が増えて、評価の低い個体が
消されることになる。本実施例では、100個の解の淘
汰増殖率10%にあたる、上位10個体の遺伝子列で、
下位10個体の遺伝子列を置き換える。
In the overall evaluation 74, it is determined whether or not the average value of the evaluations of the individual solutions performed in the evaluation 73 of each solution has become smaller than an appropriate threshold value. When it is judged to be small, it is considered that a satisfactory solution has been obtained, the result is displayed, and the processing is stopped. The selection and multiplication 75 replaces a gene sequence having a low evaluation with a gene sequence having a high evaluation from the individuals rearranged in ascending order according to the evaluation obtained in the evaluation 73 of each individual. As a result, the number of individuals with a high rating increases, and the number of individuals with a low rating disappears. In the present example, in the gene sequence of the top 10 individuals, which corresponds to the selection growth rate of 10% of 100 solutions,
Replace the gene sequence of the bottom 10 individuals.

【0023】交叉76の処理を図8、及び図9を用いて
説明する。最初に、100個の中から80%にあたる8
0個の遺伝子列を、2つずつ40組重複なく選び出す。
ただし、本実施例においては、重複して選ばないことに
しているが、重複を許す方法であっても構わない。本実
施例では、重複を避ける方法としてとして、1から個体
数100までの数字の乱数順列を作成して配列に格納
し、その順番に従って遺伝子列を抽出する。次に、遺伝
子列データ81に配置されている遺伝子列の集団の中か
ら、前述した乱数順列を用いて抽出されたポインタアド
レス82が指し示す2個の遺伝子列Gene[i],G
ene[j]を、各々レジスタ群83のレジスタx、レ
ジスタyに格納する。
The processing of the crossover 76 will be described with reference to FIGS. 8 and 9. 80% out of 100 at first
0 sets of 2 genes are selected by 40 pairs each without duplication.
However, in the present embodiment, the duplicate selection is not made, but a method that allows duplication may be used. In this embodiment, as a method of avoiding duplication, a random number permutation of numbers from 1 to 100 is created and stored in an array, and gene sequences are extracted according to the order. Next, from the group of gene sequences arranged in the gene sequence data 81, the two gene sequences Gene [i], G indicated by the pointer address 82 extracted by using the random number permutation described above.
ene [j] is stored in the register x and the register y of the register group 83, respectively.

【0024】次に、乱数を用いて無作為に遺伝子列の交
叉ビットkを決定する。交叉ビットkからLSB(最下
位ビット)をマスクする整数型の変数である全てのマス
クパターン84をあらかじめメモリ上に配置して、kビ
ットからLSBまでマクスするマスクパターンmask
[k]をレジスタ群83のレジスタzにロードする。図
9にレジスタに配置した遺伝子列の交叉手順を示す。 (Step 1)Gene[i],Gene[j]とm
ask[k]を各々レジスタx,y,zに格納する。 (Step 2)レジスタxとレジスタz,レジスタy
とレジスタzのビット論理積の結果を、各々レジスタ
a、及びレジスタbに格納する。
Next, a random number is used to randomly determine the crossover bit k of the gene sequence. All the mask patterns 84, which are integer type variables for masking the crossing bits k to LSB (least significant bit), are arranged in advance in the memory, and a mask pattern mask for masking from k bits to LSB is masked.
[K] is loaded into the register z of the register group 83. FIG. 9 shows the crossover procedure of the gene sequences arranged in the register. (Step 1) Gene [i], Gene [j] and m
The ask [k] is stored in the registers x, y, and z, respectively. (Step 2) Register x, register z, register y
The result of the bitwise AND of the register z and the register z is stored in the register a and the register b, respectively.

【0025】(Step 3)レジスタzをビット反転
させる。 (Step 4)レジスタxとレジスタz,レジスタy
とレジスタzのビット論理積の結果を、各々レジスタ
x、及びレジスタyに格納する。 (Step 5)レジスタxとレジスタb、及びレジス
タyとレジスタaでビット論理和を行ない、それぞれを
Gene[i]とGene[j]のあった元のアドレス
のメモリ上に返す。
(Step 3) The bit of the register z is inverted. (Step 4) Register x, register z, and register y
And the result of the bitwise AND of the register z is stored in the register x and the register y, respectively. (Step 5) Bit-OR the registers x and b, and the registers y and a, and return them to the memory of the original address where Gene [i] and Gene [j] existed.

【0026】こうして、kビットからLSBまでの遺伝
子列の交叉が完了する。このようにして交叉の終了した
遺伝子列は元のメモリ上に戻され、40組すなわち80
個の遺伝子列の処理が全て終了するまで、整数値の並び
を無作為に入れ換えたリストに従って、1対の遺伝子列
を順次抽出して、上記の手続きを繰り返す。
Thus, the crossover of the gene sequence from k bits to LSB is completed. In this way, the gene sequence for which crossover has been completed is returned to the original memory, and 40 sets or 80
Until the processing of each gene sequence is completed, a pair of gene sequences are sequentially extracted according to a list in which the array of integer values is randomly replaced, and the above procedure is repeated.

【0027】突然変異77の処理を、図10及び図11
を用いて説明する。最初に、図10に示すように、10
0個の遺伝子の中から5%にあたる5個の遺伝子列を選
び出す。この重複を避ける方法としてとして、前述した
乱数順列を用いる。整数値の並びを無作為に入れ換えた
リストを用いて、選び出されたポインタアドレス群10
2の中の一つが指し示す1個の遺伝子列Gene[i]
を、各々レジスタ群103のレジスタxに格納する。次
に乱数を用いて無作為に遺伝子列の突然変異開始ビット
k1、及び突然変異終了ビットk2を決定する。
The processing of the mutation 77 is shown in FIGS.
Will be explained. First, as shown in FIG.
A sequence of 5 genes, which is 5%, is selected from 0 genes. As a method of avoiding this duplication, the random number permutation described above is used. A pointer address group 10 selected by using a list in which the sequence of integer values is randomly replaced.
One gene sequence Gene [i] pointed to by one of the two
Are stored in the register x of the register group 103, respectively. Next, a random number is used to randomly determine the mutation start bit k1 and the mutation end bit k2 of the gene sequence.

【0028】図11で突然変異の手順について説明す
る。 (Step 1)突然変異を施す遺伝子列Gene
[i]をレジスタxに、マスクパターンmask[k
1],からmask[k2]をそれぞれレジスタy,z
にロードする。 (Step 2)レジスタyとレジスタzのビット排他
的論理和計算を行ない、その結果をレジスタyに格納す
る。 (Step 3)レジスタxとレジスタyのビット排他
的論理和計算を行ない、その結果をレジスタxに格納
後、その結果をGene[i]のあった元のアドレスの
メモリ上に返す。
The procedure of mutation will be described with reference to FIG. (Step 1) Gene sequence Gene to be mutated
[I] in the register x and mask pattern mask [k
1] to mask [k2] in registers y and z, respectively.
To load. (Step 2) Bit-exclusive OR calculation of the registers y and z is performed, and the result is stored in the register y. (Step 3) The bit XOR calculation of the register x and the register y is performed, the result is stored in the register x, and the result is returned to the memory of the original address where the Gene [i] was located.

【0029】このように、レジスタx上のk1ビットか
らk2ビットまでのビット値を全て反転した後、再び元
のアドレスのメモリ上に戻す操作を行う。こうして、k
1ビットからk2ビットまでの遺伝子列の突然変異が完
了する。
In this way, after inverting all the bit values from the k1 bit to the k2 bit on the register x, the operation of returning to the original address memory is performed again. Thus k
The mutation of the gene sequence from 1 bit to k2 bits is completed.

【0030】このようにして突然変異の終了した遺伝子
列は元のメモリ上に戻され、5個の遺伝子列の処理が全
て終了するまで、次の遺伝子列が乱数順列に従って抽出
され上記の手続きを繰り返す。本方式と、従来法との処
理速度の比較を行った結果を表1に示す。
The gene sequence thus mutated is returned to the original memory, and the next gene sequence is extracted according to the random number permutation until the processing of all five gene sequences is completed, and the above procedure is performed. repeat. Table 1 shows the results of comparison of the processing speed between this method and the conventional method.

【0031】従来法は、以下の点において本手法と異な
っている。 ・遺伝子列構成 整数型一次元配列の記号スト
リング ・遺伝子列移動方法 ポインタアドレスを使用しな
い。 なお、速度はクロックサイクル数で比較する。
The conventional method differs from the present method in the following points. -Gene sequence configuration Symbol string of integer type one-dimensional array-Gene sequence transfer method Do not use pointer address. The speed is compared by the number of clock cycles.

【0032】[0032]

【表1】 [Table 1]

【0033】ただし、遺伝子発生処理の比較の項目で
は、従来法では加算、乗算、及び除算を用いた乱数を使
用するが、本手法では整数値の並びを無作為に入れ換え
たリストを使用した結果を示している。また、それ以降
の処理の比較の項目に関しては、従来法、提案法とも、
この方法を用いている。
However, in the item of comparison of gene generation processing, random numbers using addition, multiplication, and division are used in the conventional method, but this method uses a list in which the sequence of integer values is randomly replaced. Is shown. In addition, regarding the items of comparison of processing after that, both the conventional method and the proposed method,
This method is used.

【0034】(実施例2)この発明を2入力1出力の非
線形関数の最大値探索に適用した実施例について詳述す
る。遺伝的アルゴリズムを実行する計算機のハードウェ
アの構成は(実施例1)の図2に同じであり、問題解法
の手順は(実施例1)の図3に同じである。
(Embodiment 2) An embodiment in which the present invention is applied to the maximum value search of a 2-input 1-output non-linear function will be described in detail. The hardware configuration of the computer that executes the genetic algorithm is the same as in FIG. 2 of (Embodiment 1), and the procedure of the problem solving method is the same as that of FIG. 3 in (Embodiment 1).

【0035】与えられた問題は下記の多峰性非線形関数
である。
The problem given is the following multimodal nonlinear function.

【0036】[0036]

【数2】 [Equation 2]

【0037】ただし、2つの入力値の定義域は共に0以
上1未満(0≦x<1,0≦y<1)である。また、出
力値の値域が0以上1未満(0≦z<1)であることが
分かっているものとする。
However, the domain of the two input values is both 0 and less than 1 (0≤x <1, 0≤y <1). Further, it is assumed that it is known that the output value range is 0 or more and less than 1 (0 ≦ z <1).

【0038】上記の関数の出力値を以下の評価関数で評
価する。
The output value of the above function is evaluated by the following evaluation function.

【0039】[0039]

【数3】 [Equation 3]

【0040】ただし、yiはi番目の非線形関数の出力
値,ziはその出力値の評価関数の値である。
However, yi is the output value of the i-th nonlinear function, and zi is the value of the evaluation function of that output value.

【0041】遺伝子列の設定31については、2つの入
力値を2つの遺伝子で表現すること以外では(実施例
1)と同じである。パラメータの設定32では、任意の
個体数と、それに対する交叉率、突然変異率を設定す
る。これらは0〜100[%]の任意の値であり、また
繰り返しを打ち切る回数を適当に設定する。本実施例に
おいては、個体数500、遺伝子長32、交叉率80
%、突然変異率5%、打ち切り世代数を200世代とし
たが、特にこの値に限定されるものではない。
The gene sequence setting 31 is the same as (Example 1) except that two input values are expressed by two genes. In the parameter setting 32, an arbitrary number of individuals, and a crossover rate and a mutation rate for them are set. These are arbitrary values of 0 to 100 [%], and the number of times the repetition is terminated is set appropriately. In this example, the number of individuals is 500, the gene length is 32, and the crossover rate is 80.
%, The mutation rate is 5%, and the number of censored generations is 200, but it is not particularly limited to these values.

【0042】また、淘汰増殖に関しては以下の式を用い
て、その個数を決定する。
Further, regarding the selection multiplication, the number thereof is determined by using the following formula.

【0043】[0043]

【数4】 [Equation 4]

【0044】[0044]

【数5】 [Equation 5]

【0045】ただし、ziは、(数3)で算出したi番
目の出力値の評価値、Gmaxは、個体数、ciは次の
世代に、i番目の遺伝子列が生き残る個数である。また
(数5)のinteger(x)は、xよりも大きくな
い最大の整数を算出する関数である。
Here, zi is the evaluation value of the i-th output value calculated in (Equation 3), Gmax is the number of individuals, and ci is the number of surviving i-th gene sequences in the next generation. Also, integer (x) in (Equation 5) is a function for calculating the maximum integer that is not greater than x.

【0046】遺伝的アルゴリズムの実行手順は(実施例
1)図7のPAD図と同じである。集団の発生71で整
数値の乱数を、個体1つに対して2つ、すなわち200
個発生させる。以下は(実施例1)と同様の処理を行な
う。打ち切り判定72では、200世代を繰り返して処
理を終了する。各個体の評価73、全体の評価74、淘
汰及び増殖75は(実施例1)と同様の処理を行なう交
叉76の方法について以下に具体的に説明する。遺伝子
列データに配置されている遺伝子列の集団の中から、乱
数順列を用いて抽出されたポインタアドレスが指し示す
2組4個の整数型の変数である遺伝子列Gene1
[i]、Gene2[i]、Gene1[j]、Gen
e2[j]を、各々レジスタ群のレジスタx1、x2、
y1、y2に格納する。無作為に選ばれた遺伝子列のマ
スクパターンmask[k1]を用いて、Gene1
[i]、Gene1[j]の交叉を行なう。同様にマス
クパターンmask[k2]を用いて、Gene2
[i]、Gene2[j]の交叉を行なう。交叉方法の
手順は(実施例1)図9で示したときと同様の方法で行
なう。
The execution procedure of the genetic algorithm (Example 1) is the same as the PAD diagram of FIG. In the generation 71 of the group, two random numbers of integer values are set for each individual, that is, 200
Generate. In the following, the same processing as (Example 1) is performed. In the abortion determination 72, the 200 generations are repeated and the processing is ended. The method of crossover 76 for performing the same processing as in (Example 1) for the evaluation 73 of each individual, the overall evaluation 74, the selection and the multiplication 75 will be specifically described below. Gene sequence Gene1 which is two sets of four integer type variables pointed to by pointer addresses extracted using a random number permutation from the gene sequence group arranged in the gene sequence data
[I], Gene2 [i], Gene1 [j], Gen
e2 [j] are respectively assigned to registers x1, x2,
Store in y1 and y2. Gene1 is generated using the mask pattern mask [k1] of the gene sequence randomly selected.
[I] and Gene1 [j] are crossed over. Similarly, using the mask pattern mask [k2], Gene2
[I] and Gene2 [j] are crossed. The procedure of the crossover method is the same as that shown in FIG. 9 (Example 1).

【0047】突然変異77を施す方法について具体的に
説明する。遺伝子列データに配置されている遺伝子列の
集団の中から、乱数順列を用いて選び出されたポインタ
アドレス群の中の一つが指し示す2個の整数型の変数で
ある遺伝子列の組のどちらかを、各々レジスタ群のレジ
スタに格納する。次に、無作為に遺伝子列の突然変異開
始ビットk1、及び突然変異終了ビットk2を決定す
る。突然変異の手順は(実施例1)図11で示した時と
同様な方法で行なう。図12に本実施例における、解の
探索経過を示す。
The method of applying the mutation 77 will be specifically described. Either of the set of gene sequences which are two integer type variables pointed to by one of the pointer address groups selected by using the random sequence from the group of gene sequences arranged in the gene sequence data. Are respectively stored in the registers of the register group. Next, the mutation start bit k1 and the mutation end bit k2 of the gene sequence are randomly determined. The mutation procedure is (Example 1) in the same manner as shown in FIG. FIG. 12 shows a solution search process in this embodiment.

【0048】(実施例3)この発明を巡回セースルマン
問題(Traveling SalesmanProb
lem、以下単に「TSP」と略す)に適用した実施例
について詳述する。通常TSPを遺伝的アルゴリズムで
解く場合、単に都市の並びを遺伝子列として表現する
と、交叉や突然変異を行なう時に巡回する都市を重複し
てしまう個体が大量に発生して、集団が死滅してしま
う。この重複問題を解決する手法としてGrefens
tetteらによって考えられた手法がある。その概要
を以下に述べる(参考文献は後述)。
(Embodiment 3) The present invention is applied to the traveling Salesman problem.
lem, hereinafter simply referred to as “TSP”). Normally, when solving a TSP with a genetic algorithm, if the array of cities is simply expressed as a gene sequence, a large number of individuals will overlap the cities that go around when performing crossover or mutation, and the population will die. . As a method for solving this duplication problem, Refens
There is a method considered by Tette et al. The outline is described below (references will be described later).

【0049】都市名をA,B,C,D,・・として、巡
回する都市の順に都市名を並べたリストを作る。都市名
Aがこの標準リストのなかで、左から何番目にあるかを
数えて、その数字を記録する。そして標準リストからA
を取り除く。次は都市名Bで同様の処理を施して、出て
きた数字を先ほど記録した数字の右隣に記録する。同じ
様にC,D,・・のように続けて行き、都市名が無くな
るまで続けると、巡回路を数字のリストが出来上がる。
With the city names as A, B, C, D, ..., A list is created in which the city names are arranged in the order of traveling cities. The city name A is counted from the left of this standard list, and the number is recorded. And from the standard list A
Get rid of. Next, the same process is performed for city name B, and the number that appears is recorded to the right of the number that was recorded earlier. In the same way, continue like C, D, ... until you run out of city names, and you'll have a list of numbers on the circuit.

【0050】この様にして表現された5つの都市の巡回
ルートの遺伝子列と、その遺伝子列による交叉の仕組み
を示す。交叉3桁目を交叉した場合の例を示す。 交叉前 BCAED→22121→22+(121) DAECB→41321→41+(321) 交叉後 22+(321)→22321→BCEDA 41+(121)→41121→DABEC 上記の方法によって変換された遺伝子列は、最上位の桁
には1〜5の数字が入り最下位の桁には1しか入らない
ことがわかる。なお、この手法に関しては以下の文献に
詳しく記載されている。 Grefenstette,J.J.et al.:"Genetic algorithms for th
e traveling salesman problem ", Proc. of an Intern
ational Conference on Genetic Algorithms and Thei
r Applications, pp. 160-168(1985) このGrefenstetteの手法による遺伝子列の作成方法につ
いて図13を用いて説明する。この遺伝子列のk桁目に
は1〜kの数字がはいることになり、k桁目の値を表現
するのには、たかだかlog(k)/log(2)の小
数部を切り上げた整数値分だけのビット列があれば表現
できる。また最下位桁の数字は必ず1となるので表現す
る必要はない。このようにして巡回都市の情報を圧縮し
て1ワードの情報として扱う。
The gene sequences of the tour routes of the five cities thus expressed and the crossover mechanism by the gene sequences are shown. An example in which the third digit of the crossover is crossed is shown. Before crossover BCAED → 22121 → 22 + (121) DAECB → 41321 → 41 + (321) After crossover 22+ (321) → 22321 → BCEDA 41+ (121) → 41121 → DABEC The gene sequence converted by the above method is the highest order. It can be seen that the digits have numbers 1 to 5 and the lowest digit has only 1. In addition, this method is described in detail in the following documents. Grefenstette, JJet al.:"Genetic algorithms for th
e traveling salesman problem ", Proc. of an Intern
ational Conference on Genetic Algorithms and Thei
r Applications, pp. 160-168 (1985) A method of creating a gene sequence by the method of Grefenstette will be described with reference to FIG. The k-th digit of this gene sequence has a number from 1 to k. To express the value of the k-th digit, at most, a fractional part of log (k) / log (2) is rounded up. It can be expressed if there is a bit string of numerical values. The lowest digit is always 1, and need not be expressed. In this way, the information on the traveling city is compressed and treated as one-word information.

【0051】図14に遺伝子列の交叉方法を示す。交叉
ついては、(実施例1)の図8、交叉76と同じ手順で
行なうが、図15に示すように、マスクパターンを各々
の都市の情報を損なわないようして遺伝子列の区切りが
定位置に来るよう作成する。
FIG. 14 shows a method of crossing gene sequences. The crossover is performed by the same procedure as that of the crossover 76 in FIG. 8 of (Example 1), but as shown in FIG. 15, the mask pattern is set at a fixed position so that the information of each city is not damaged. Create to come.

【0052】突然変異については、(実施例1)の図
8、突然変異77と同じ手順で行なう。この手順を図1
6を用いて詳しく説明する。遺伝子列のk桁目に突然変
異を施す場合に即して説明する。 (Step 1)遺伝子列群からGene[i]をレジ
スタxに、マスクパターン群からmask[k−1]と
mask[k]を、レジスタy、レジスタzに,ロード
する。 (Step 2)レジスタyとレジスタzのビット論理
積計算を行ない、その結果をレジスタyに格納する。 (Step 3)レジスタxとレジスタyのビット排他
的論理和計算を行ない、さらにビット否定計算を行なっ
て、その結果をレジスタxに格納する。 (Step 4)突然変異パターン群の中から、k桁目
に対応するパターンを一つ無作為に選び、レジスタyに
ロードする。 (Step 5)レジスタxとレジスタyのビット論理
和計算を行ない、その結果をレジスタxに格納した後、
Gene[i]にこの結果を返す。
Regarding the mutation, the same procedure as that of the mutation 77 shown in FIG. This procedure is shown in Figure 1.
This will be described in detail using 6. The case where a mutation is performed at the k-th digit of a gene sequence will be described below. (Step 1) Gene [i] is loaded into the register x from the gene sequence group, and mask [k-1] and mask [k] are loaded into the register y and the register z from the mask pattern group. (Step 2) A bit logical product of register y and register z is calculated, and the result is stored in register y. (Step 3) Bit-exclusive OR calculation of register x and register y is performed, bit negation calculation is further performed, and the result is stored in register x. (Step 4) One pattern corresponding to the kth digit is randomly selected from the mutation pattern group and loaded into the register y. (Step 5) After performing bit OR calculation of register x and register y and storing the result in register x,
This result is returned to Gene [i].

【0053】遺伝子列のk桁目には1〜kまでの数字し
か入力できないので、突然変異パターン群のビットパタ
ーンは、それに対応する全てのものをあらかじめ作成し
ておく。本実施例においては、巡回都市数11なので、
2から11までの総和、65パターンが必要となる。
Since only the numbers 1 to k can be entered in the k-th digit of the gene sequence, all the bit patterns of the mutation pattern group are prepared in advance. In this embodiment, since the number of traveling cities is 11,
A total of 2 to 11 and 65 patterns are required.

【0054】[0054]

【発明の効果】本発明は、遺伝的アルゴリズムで用いる
遺伝子列を、その性質や情報を損なうことなく、かつ計
算機アーキテクチャに適するように作成する。これによ
ってメモリが節約される。またメモリ・レジスタ間のロ
ードやストアの頻度を少なくすることが可能である。そ
の結果、遺伝的アルゴリズムの高速処理が可能となる。
INDUSTRIAL APPLICABILITY The present invention creates a gene sequence used in a genetic algorithm so as to be suitable for a computer architecture without damaging its properties and information. This saves memory. In addition, it is possible to reduce the frequency of loading and storing between memory and registers. As a result, high speed processing of the genetic algorithm becomes possible.

【0055】また、本発明では、前述の遺伝子列の交叉
・突然変異をレジスタ内のビット演算にて行なう。これ
によってメモリアクセスを行なわず、レジスタ内での処
理が可能である。その結果、遺伝的アルゴリズムの高速
処理が可能となる。また、前述の遺伝子列は、遺伝子を
配置する場所の各々が個体の特徴を示す情報を有してい
る。そこで、個体の特徴の性質が近いものを示す遺伝子
の配置位置を、互いに近付く様にする。これによって、
遺伝子列は前世代の個体の性質を維持しつつ処理するこ
とが可能となる。
Further, in the present invention, the above-mentioned crossover / mutation of the gene sequence is performed by bit operation in the register. As a result, processing in the register is possible without performing memory access. As a result, high speed processing of the genetic algorithm becomes possible. Further, in the above-mentioned gene sequence, each of the places where the genes are arranged has information indicating the characteristics of the individual. Therefore, the arrangement positions of the genes showing the characteristics of the individuals close to each other are made to approach each other. by this,
The gene sequence can be processed while maintaining the characteristics of the individuals of the previous generation.

【図面の簡単な説明】[Brief description of drawings]

【図1】実施例1で用いた(遺伝子列→遺伝子列)の変
換のイメージ図である。
FIG. 1 is an image diagram of conversion of (gene sequence → gene sequence) used in Example 1.

【図2】ハードの構成図である。FIG. 2 is a hardware configuration diagram.

【図3】遺伝的アルゴリズムのモデル化の手順のPAD
図である。
FIG. 3 PAD of genetic algorithm modeling procedure
It is a figure.

【図4】実施例1で用いた一入力一出力の非線形関数で
ある。
FIG. 4 is a one-input / one-output nonlinear function used in the first embodiment.

【図5】実施例1で用いた(数値→遺伝子列)の変換の
手順のPAD図である。
FIG. 5 is a PAD diagram showing the procedure of (numerical value → gene sequence) conversion used in Example 1.

【図6】実施例1で用いた(遺伝子列→数値)の変換の
手順のPAD図である。
FIG. 6 is a PAD diagram showing the procedure of (gene sequence → numerical value) conversion used in Example 1.

【図7】実施例1で用いた遺伝的アルゴリズムのPAD
図である。
7 is a PAD of the genetic algorithm used in Example 1. FIG.
It is a figure.

【図8】実施例1で用いた遺伝的アルゴリズムの交叉の
処理を行なうハード構成図である。
FIG. 8 is a hardware configuration diagram for performing a crossover process of the genetic algorithm used in the first embodiment.

【図9】実施例1で用いた遺伝的アルゴリズムの交叉の
処理を行なうレジスタ構成図である。
FIG. 9 is a register configuration diagram for performing a crossover process of the genetic algorithm used in the first embodiment.

【図10】実施例1で用いた遺伝的アルゴリズムの突然
変異の処理を行なうハード構成図である。
FIG. 10 is a hardware configuration diagram for performing mutation processing of the genetic algorithm used in the first embodiment.

【図11】実施例1で用いた遺伝的アルゴリズムの突然
変異の処理を示すレジスタの図である。
FIG. 11 is a register diagram showing mutation processing of the genetic algorithm used in Example 1;

【図12】実施例2で行なった遺伝的アルゴリズムの解
探索の経過を示す図である。
FIG. 12 is a diagram showing a process of solution search of the genetic algorithm performed in the second embodiment.

【図13】実施例3で用いた遺伝子列を示す図である。FIG. 13 is a diagram showing gene sequences used in Example 3.

【図14】実施例3で用いた遺伝子列の交叉の処理を示
す図である。
FIG. 14 is a diagram showing a process of crossover of gene sequences used in Example 3;

【図15】実施例3で用いた遺伝子列の交叉の処理に用
いるマスクパターンを示す。
FIG. 15 shows a mask pattern used for processing of crossover of gene sequences used in Example 3.

【図16】実施例3で用いた遺伝子列の突然変異の処理
を示す図である。
FIG. 16 is a diagram showing processing of mutation of a gene sequence used in Example 3.

【符号の説明】[Explanation of symbols]

111 レジスタ部 112 演算部 12 メモリ 121 RAM 13 データバス 14 データバス 22 GAモデル化の手順における遺伝子列の
設定 81 メモリ上に配置された遺伝子列データ 82 メモリ上に配置されたアドレスポインタ 83 CPU上に常設されているレジスタ群 84 メモリ上に配置されたマスクデータ 101 メモリ上に配置された遺伝子列データ 102 メモリ上に配置されたアドレスポインタ 103 CPU上に常設されているレジスタ群
111 register unit 112 arithmetic unit 12 memory 121 RAM 13 data bus 14 data bus 22 GA gene sequence setting in modeling procedure 81 gene sequence data arranged on memory 82 address pointer 83 arranged on memory Permanent register group 84 Mask data arranged on memory 101 Gene sequence data arranged on memory 102 Address pointer 103 arranged on memory Register group permanently arranged on CPU

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】距離空間上で定義された評価関数の値を最
小にする際に、定義域を記号ストリング集合に写像し、
評価関数の値によって記号ストリングの個数を消滅さ
せ、評価関数の値によって記号ストリングの個数を増加
させ、複数の記号ストリングの中にある記号を部分的に
交換し、記号ストリングの中にある、任意の1個あるい
は複数の記号を変化させ、前述の手段を繰り返し行な
い、最適な解を得る記号ストリングを探索する処理方法
において、 前述の写像が連続写像になるようにし、かつ、記号スト
リングの長さを記号ストリングの構造が有する性質や情
報を損なうことなく、計算機のビット数、レジスタ長、
メモリ長、レジスタ数、メモリ数、演算器数などに適し
た形に変換して計算機の資源を効率的に利用することを
特徴とする遺伝的アルゴリズムの高速処理方法。
1. When a value of an evaluation function defined on a metric space is minimized, a domain is mapped to a symbol string set,
The number of symbol strings is extinguished by the value of the evaluation function, the number of symbol strings is increased by the value of the evaluation function, the symbols in multiple symbol strings are partially exchanged, and the symbols in the string are arbitrary. In the processing method of changing one or a plurality of symbols in the above and repeating the above-mentioned means to search for a symbol string that obtains an optimal solution, the above-mentioned mapping is a continuous mapping, and the length of the symbol string is The number of bits of the computer, the register length, without compromising the properties and information that the structure of the symbol string has.
A high-speed processing method of a genetic algorithm, characterized by converting to a form suitable for the memory length, the number of registers, the number of memories, the number of arithmetic units, etc. to efficiently use the resources of a computer.
【請求項2】請求項1の処理方法において、記号ストリ
ングを中央制御装置上のレジスタ上にロードした後、前
述した交叉及び突然変異の処理の間、記号ストリングを
レジスタからメモリへ退避させず処理することを特徴と
する遺伝的アルゴリズムの高速処理方法。
2. The processing method according to claim 1, wherein after the symbol string is loaded into a register on the central controller, the symbol string is processed without being saved from the register to the memory during the above-mentioned crossover and mutation processing. A high-speed processing method of a genetic algorithm characterized by:
【請求項3】請求項1の記号ストリング集団の中の各々
の記号ストリングの評価の処理方法に関して、評価値の
良いものから順に並べて増殖、淘汰等の処理を行なうに
あたり、実際の記号ストリングの並びかえを行なわずに
順序のみを保持する手法として、記号ストリングのポイ
ンタアドレスを操作することで高速化を図ることを特徴
とする遺伝的アルゴリズムの高速処理方法。
3. A method for evaluating each symbol string in the symbol string group according to claim 1, wherein in order to perform processing such as multiplication and selection by arranging the symbol strings in descending order of evaluation value, the actual arrangement of the symbol strings is performed. A high-speed processing method for a genetic algorithm, which is characterized by speeding up by manipulating a pointer address of a symbol string as a method of retaining only the order without performing reversion.
【請求項4】請求項1の処理方法において、請求項2の
処理方法と請求項3の処理方法を併用して処理すること
を特徴とする遺伝的アルゴリズムの高速処理方法。
4. A high-speed processing method of a genetic algorithm, characterized in that, in the processing method according to claim 1, the processing method according to claim 2 and the processing method according to claim 3 are used in combination.
JP4316797A 1992-11-26 1992-11-26 Fast processing method for genetic algorithm Pending JPH06161980A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4316797A JPH06161980A (en) 1992-11-26 1992-11-26 Fast processing method for genetic algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4316797A JPH06161980A (en) 1992-11-26 1992-11-26 Fast processing method for genetic algorithm

Publications (1)

Publication Number Publication Date
JPH06161980A true JPH06161980A (en) 1994-06-10

Family

ID=18081037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4316797A Pending JPH06161980A (en) 1992-11-26 1992-11-26 Fast processing method for genetic algorithm

Country Status (1)

Country Link
JP (1) JPH06161980A (en)

Similar Documents

Publication Publication Date Title
JP2818802B2 (en) Computer
CN110826719B (en) Quantum program processing method and device, storage medium and electronic device
Liu et al. Fuzzy programming with fuzzy decisions and fuzzy simulation-based genetic algorithm
Wang et al. Feature selection for classification of microarray gene expression cancers using Bacterial Colony Optimization with multi-dimensional population
CN111563599B (en) Quantum circuit decomposition method and device, storage medium and electronic device
EP0942384A2 (en) Method and apparatus to model the variables of a data set
CN110516810B (en) Quantum program processing method and device, storage medium and electronic device
JP2010015578A (en) Artificial neuron including power series of weight and count that represent prior and next associations
JPH07248841A (en) Nonlinear function generator and format converter
JP7197789B2 (en) Optimization device and control method for optimization device
CN111914378B (en) Single-amplitude quantum computing simulation method and device
US11803360B2 (en) Compilation method, apparatus, computing device and medium
Aboy et al. Optimizations in cusnp simulator for spiking neural p systems on cuda gpus
JPH05189400A (en) Convolution-expert neuron system
CN111931939A (en) Single-amplitude quantum computation simulation method
Yilmaz Acar et al. Solving multi-objective resource allocation problem using multi-objective binary artificial bee colony algorithm
CN113128015B (en) Method and system for predicting resources required by single-amplitude analog quantum computation
JPS6314378B2 (en)
JPH06161980A (en) Fast processing method for genetic algorithm
Fojo et al. Comparing fixed and adaptive computation time for recurrent neural networks
Wang et al. SSR: A skeleton-based synthesis flow for hybrid processing-in-RRAM modes
JP2002041496A (en) Method performed by computer, calculating apparatus and computer program product
CN114692880B (en) Quantum state amplitude simulation method and device in quantum circuit
JPWO2020054061A1 (en) Optimizer, optimizer control method and optimizer control program
Pukhovsky et al. Developing a hardware approach to simulating quantum computing using an optimization algorithm