JP2007087055A - Evolution calculation system and evolution calculation method - Google Patents

Evolution calculation system and evolution calculation method Download PDF

Info

Publication number
JP2007087055A
JP2007087055A JP2005274309A JP2005274309A JP2007087055A JP 2007087055 A JP2007087055 A JP 2007087055A JP 2005274309 A JP2005274309 A JP 2005274309A JP 2005274309 A JP2005274309 A JP 2005274309A JP 2007087055 A JP2007087055 A JP 2007087055A
Authority
JP
Japan
Prior art keywords
individual
gene
node
structure information
genotype
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005274309A
Other languages
Japanese (ja)
Other versions
JP4862150B2 (en
Inventor
Tomoharu Nagao
智晴 長尾
Ko Fujishima
航 藤嶋
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.)
Yokohama National University NUC
Original Assignee
Yokohama National University NUC
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 Yokohama National University NUC filed Critical Yokohama National University NUC
Priority to JP2005274309A priority Critical patent/JP4862150B2/en
Publication of JP2007087055A publication Critical patent/JP2007087055A/en
Application granted granted Critical
Publication of JP4862150B2 publication Critical patent/JP4862150B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To increase the degree of freedom of reproduction such as crossing processing or mutation processing, and to simultaneously optimize an individual structure and numeric value in an evolution calculation system for operating evolution calculation by genetic programming. <P>SOLUTION: This evolution calculation system is provided with a genetic table for defining the number of connection of gene, and when expression type individual structure information describing a connection relation between genes is generated, gene as the node of connection destination is specified so that the number of connection can be satisfied, and an expression type is consistently configured. Also, a parameter to be used for a function to be specified by gene is added to gene information, and the gene and the parameter are simultaneously operated. Furthermore, node classification is added to gene information, and termination and non-termination are operated, and a partial tree structure is dynamically changed. A matrix type individual structure is adopted, and the operation of the crossing or mutation of a block is carried out by reproduction processing. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、遺伝的プログラミングにより進化計算を行なう進化計算システムに係り、遺伝的プログラミングにおける生殖の自由度を高め、更に個体構造と数値の同時最適化を行なう技術に関する。   The present invention relates to an evolutionary computation system that performs evolutionary computation by genetic programming, and relates to a technique for improving the degree of freedom of reproduction in genetic programming and further simultaneously optimizing the individual structure and numerical values.

進化計算法とは、生物の進化から着想した最適化(探索)アルゴリズムである。進化論的な発想に基づいてデータを操作し、解空間を探索する多点探索法の一種とも言える。その代表的な手法として、遺伝的アルゴリズムと遺伝的プログラミングがある。   Evolutionary computation is an optimization (search) algorithm inspired by biological evolution. It can be said to be a kind of multi-point search method that operates on data based on evolutionary ideas and searches the solution space. Typical methods include genetic algorithms and genetic programming.

遺伝的アルゴリズムは、一般的に個体を0あるいは1を示すビットの一次元の列(染色体)として定義する。そして、生殖として、一点交叉、多点交叉、一様交叉などにより、2つの個体間で染色体の部位を交換する交叉処理、あるいは染色体の一部をランダムに変化させる突然変異処理を行う。   The genetic algorithm generally defines an individual as a one-dimensional string (chromosome) of bits indicating 0 or 1. Then, as reproduction, crossover processing for exchanging chromosomal sites between two individuals or mutation processing for randomly changing part of the chromosomes is performed by one-point crossover, multipoint crossover, uniform crossover, or the like.

遺伝的プログラミングは、遺伝的アルゴリズムを発展させたものであって、個体をグラフ構造や木構造のように構造的に表現する。例えば、(A(B)(C(D)))のように記述するLispのS式などにより木構造を表現する。このように、一次元の文字列として記述するので、交叉処理によって新たな式を生成することができる。しかし、実際には構造として成り立たない致死遺伝子が含まれる恐れがある。突然変異処理についても無作為に文字列を書き換えることはできないという問題点がある。つまり、遺伝的プログラミングでは、生殖における任意性が低く、個体の多様性が確保できていない面がある。この点を改善すれば、構造的に表現された個体に係る探索効率を向上させることができる。   Genetic programming is an evolution of a genetic algorithm, and represents an individual structurally like a graph structure or a tree structure. For example, the tree structure is expressed by Lisp's S expression described as (A (B) (C (D))). Thus, since it is described as a one-dimensional character string, a new expression can be generated by crossover processing. However, there is a possibility that a lethal gene that is not actually a structure is included. There is a problem that the character string cannot be rewritten at random in the mutation process. In other words, genetic programming has a low level of voluntary reproductivity, and individual diversity cannot be ensured. If this point is improved, it is possible to improve the search efficiency related to the structurally expressed individual.

また、従来の進化計算法には、構造と数値の同時最適化ができないという問題点がある。遺伝的アルゴリズムは、染色体としてビットから構成される記号列を用いるため、数値の最適化には適しているが、構造の最適化には向いていない。一方、遺伝的プログラミングは、構造的表現により複雑な問題を解決できるようにした反面、ノードに対するパラメータの設定など、数値の最適化は図られていない。
佐藤浩、小野功、小林重信,「遺伝的アルゴリズムにおける世代交代モデルの提案と評価」,人工知能学会誌,人工知能学会誌1997年,vol.12,No.5,p.734−744 伊庭斉志、佐藤泰介,「システム同定アプローチに基づく遺伝的プログラミング」,人工知能学会誌,人工知能学会,1995年,vol.10,No.4,p.100−110 青木紳也、長尾智晴,「木構造状画像変換の自動構築法ACTIT」,映像情報メディア学会誌,映像情報メディア学会,1999年,vol.53,No.6,p.888−894
Further, the conventional evolutionary calculation method has a problem that the structure and numerical values cannot be optimized simultaneously. Since the genetic algorithm uses a symbol string composed of bits as chromosomes, it is suitable for numerical optimization, but is not suitable for structural optimization. On the other hand, genetic programming has made it possible to solve complex problems by structural representation, but numerical optimization such as parameter setting for nodes has not been achieved.
Hiroshi Sato, Isao Ono, Shigenobu Kobayashi, “Proposal and Evaluation of Generation Alternation Model in Genetic Algorithm”, Journal of Artificial Intelligence, Journal of Artificial Intelligence 1997, vol. 12, no. 5, p. 734-744 Masashi Iba, Taisuke Sato, “Genetic Programming Based on System Identification Approach”, Journal of Artificial Intelligence Society, Artificial Intelligence Society, 1995, vol. 10, no. 4, p. 100-110 Shinya Aoki, Tomoharu Nagao, “Automatic construction method of tree-structured image conversion ACTIT”, The Institute of Image Information and Television Engineers, The Institute of Image Information and Television Engineers, 1999, vol. 53, no. 6, p. 888-894

そこで、本発明は上述の問題点を解決し、遺伝的プログラミングにおける生殖の任意性を高め、更に個体の構造とノードで使用する数値の同時最適化を図ることを課題とする。   SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to solve the above-mentioned problems, to improve the reproductive arbitraryness in genetic programming, and to simultaneously optimize the structure of an individual and the numerical values used in nodes.

本発明に係る進化計算システムは、
ファンクションを識別する遺伝子を含む遺伝子情報が連続する遺伝子型個体構造情報を用いて進化計算を行なう進化計算システムであって、以下の要素を有することを特徴とする
(1)同一世代に係る個体集団の要素である各個体の遺伝子型個体構造情報を記憶する個体集団記憶部
(2)遺伝子に対応付けて、当該遺伝子により特定されるファンクションが入力するデータの数を連結数として定義する遺伝子テーブル
(3)遺伝子型個体構造情報に含まれる遺伝子を順次読込み、当該遺伝子の連結数を遺伝子テーブルから取得し、連結数を満たすように連結先のノードとなる遺伝子を特定し、遺伝子間の連結関係を記述する表現型個体構造情報を生成し、学習用入力データを入力して、表現型個体構造情報によって特定される遺伝子の連結関係に従って、各遺伝子により特定されるファンクションによる演算を順次実行して個体演算出力データを求め、個体演算出力データを学習用目標データと比較して、個体毎の適応度を計算する適応度計算部
(4)適応度に基づいて、個体集団から個体を選択する個体選択部
(5)選択した個体の遺伝子型個体構造情報に対して、複数の個体間で一部の情報を交換する交叉処理、あるいは一部の情報を変化させる突然変異処理を行い、次世代の個体集団の要素となる各個体の遺伝子型個体構造情報を求め、個体集団記憶部に記憶させる生殖部。
The evolutionary computation system according to the present invention is:
An evolutionary computation system that performs evolutionary computation using genotype individual structure information in which genetic information including a gene that identifies a function is continuous, and has the following elements: (1) Individual population related to the same generation An individual population storage unit (2) that stores genotype individual structure information of each individual that is an element of the gene table (2) A gene table that defines the number of data input by the function specified by the gene as a connection number ( 3) The genes included in the genotype individual structure information are sequentially read, the number of linked genes is obtained from the gene table, the genes to be linked nodes are specified so as to satisfy the linked number, and the linkage relationship between the genes is determined. Generate the phenotypic individual structure information to be described, input the learning input data, and connect the gene linkage specified by the phenotype individual structure information. In accordance with, an fitness calculation unit that calculates the fitness of each individual by calculating the individual computation output data by sequentially executing the calculation by the function specified by each gene and comparing the individual computation output data with the target data for learning ( 4) An individual selection unit for selecting an individual from an individual population based on fitness (5) Crossover processing for exchanging a part of information among a plurality of individuals for the genotype individual structure information of the selected individual, or A reproductive unit that performs mutation processing that changes some information, obtains genotype individual structure information of each individual that is an element of the next generation individual population, and stores it in the individual population storage unit.

また、遺伝子型個体構造情報の遺伝子情報は、更に当該遺伝子に付加されたパラメータを含み、
適応度計算部は、遺伝子により特定されるファンクションによる演算を実行する際に、当該遺伝子に付加されているパラメータを用いて演算を実行することを特徴とする。
Further, the genetic information of the genotype individual structure information further includes a parameter added to the gene,
The fitness calculation unit is characterized in that, when performing an operation based on a function specified by a gene, the operation is performed using a parameter added to the gene.

また、遺伝子型個体構造情報の遺伝子情報は、更に当該遺伝子が連結関係を構成するノードとなる際に終端ノードとなるか非終端ノードとなるかの別を示すノード種別を含み、
適応度計算部は、遺伝子間の連結関係を記述する表現型個体構造情報を生成する際に、遺伝子のノード種別が終端ノードの別を示す場合には、当該遺伝子の連結数を0とすることを特徴とする。
The gene information of the genotype individual structure information further includes a node type indicating whether the gene is a terminal node or a non-terminal node when the gene is a node constituting a connection relationship,
When generating the phenotype individual structure information describing the linkage relationship between genes, the fitness calculation unit sets the number of linked genes to 0 when the node type of the gene indicates the end node. It is characterized by.

また、遺伝子型個体構造情報の遺伝子情報は、少なくとも遺伝子と、当該遺伝子に付加されたパラメータと、当該遺伝子が連結関係を構成するノードとなる際に終端ノードとなるか非終端ノードとなるかの別を示すノード種別の項目を含むレコードであり、遺伝子型個体構造情報は、レコードと項目からなるマトリクスを構成するマトリクス型個体構造情報であって、
生殖部は、マトリクスの一部として複数のレコードに跨るブロックを交換する交叉処理、あるいはマトリクスの一部として複数のレコードに跨るブロックを変化させる突然変異処理を行うことを特徴とする。
In addition, the genetic information of the genotype individual structure information includes at least a gene, a parameter added to the gene, and whether the gene is a terminal node or a non-terminal node when the gene is a node constituting a connection relationship. Is a record including an item of a node type, and the genotype individual structure information is matrix type individual structure information constituting a matrix made up of records and items,
The genital part is characterized by performing a crossover process for exchanging blocks across a plurality of records as a part of a matrix or a mutation process for changing a block across a plurality of records as a part of a matrix.

また、遺伝子型個体構造情報の遺伝子情報は、少なくとも遺伝子を示すビット構成と、当該遺伝子に付加されたパラメータを示すビット構成と、当該遺伝子が連結関係を構成するノードとなる際に終端ノードとなるか非終端ノードとなるかの別を示すノード種別を示すビット構成を含むレコードであり、遺伝子型個体構造情報は、レコードとビットからなるマトリクスを構成するマトリクス型個体構造情報であって、
生殖部は、マトリクスの一部として複数のレコードに跨るブロックを交換する交叉処理、あるいはマトリクスの一部として複数のレコードに跨るブロックを変化させる突然変異処理を行うことを特徴とする。
In addition, the genetic information of the genotype individual structure information is a terminal node when at least a bit configuration indicating a gene, a bit configuration indicating a parameter added to the gene, and a node that forms a connection relationship with the gene. It is a record including a bit configuration indicating a node type indicating whether it is a non-terminal node, genotype individual structure information is matrix type individual structure information that constitutes a matrix consisting of records and bits,
The genital part is characterized by performing a crossover process for exchanging blocks across a plurality of records as a part of a matrix or a mutation process for changing a block across a plurality of records as a part of a matrix.

本発明に係る進化計算方法は、
同一世代に係る個体集団の要素である各個体について、ファンクションを識別する遺伝子を含む遺伝子情報が連続する遺伝子型個体構造情報を記憶する個体集団記憶部と、遺伝子に対応付けて、当該遺伝子により特定されるファンクションが入力するデータの数を連結数として定義する遺伝子テーブルを有し、遺伝子型個体構造情報を用いて進化計算を行な進化計算システムによる進化計算方法であって、以下の要素を有することを特徴とする
(1)遺伝子型個体構造情報に含まれる遺伝子を順次読込み、当該遺伝子の連結数を遺伝子テーブルから取得し、連結数を満たすように連結先のノードとなる遺伝子を特定し、遺伝子間の連結関係を記述する表現型個体構造情報を生成し、学習用入力データを入力して、表現型個体構造情報によって特定される遺伝子の連結関係に従って、各遺伝子により特定されるファンクションによる演算を順次実行して個体演算出力データを求め、個体演算出力データを学習用目標データと比較して、個体毎の適応度を計算する適応度計算工程
(2)適応度に基づいて、個体集団から個体を選択する個体選択工程
(3)選択した個体の遺伝子型個体構造情報に対して、複数の個体間で一部の情報を交換する交叉処理、あるいは一部の情報を変化させる突然変異処理を行い、次世代の個体集団の要素となる各個体の遺伝子型個体構造情報を求め、個体集団記憶部に記憶させる生殖工程。
The evolution calculation method according to the present invention is:
For each individual that is an element of an individual group related to the same generation, an individual group storage unit that stores genotype individual structure information in which genetic information including a gene that identifies a function is continuous, and an associated gene and specified by the gene An evolution calculation method using an evolution calculation system that has a gene table that defines the number of data input by the function to be input as the number of connections and performs evolution calculation using genotype individual structure information, and has the following elements (1) sequentially reading the genes included in the genotype individual structure information, obtaining the number of linked genes from the gene table, specifying the genes that are the nodes to be linked to satisfy the linked number, Generate phenotypic individual structure information describing the linkage relationship between genes, input learning data, and use phenotypic individual structure information In accordance with the specified gene linkage relationship, the calculation by the function specified by each gene is sequentially executed to obtain individual calculation output data, and the individual calculation output data is compared with the learning target data to determine the fitness for each individual. The fitness calculation step for calculating (2) the individual selection step for selecting an individual from the individual population based on the fitness (3) part of information among a plurality of individuals for the genotype individual structure information of the selected individual A reproductive process in which crossover processing for exchanging or mutation processing that changes some information is performed to obtain genotype individual structure information of each individual that becomes an element of the next generation individual population and to be stored in the individual population storage unit.

本発明に係るコンピュータ読み取り可能な記録媒体は、
同一世代に係る個体集団の要素である各個体について、ファンクションを識別する遺伝子を含む遺伝子情報が連続する遺伝子型個体構造情報を記憶する個体集団記憶部と、遺伝子に対応付けて、当該遺伝子により特定されるファンクションが入力するデータの数を連結数として定義する遺伝子テーブルを有し、遺伝子型個体構造情報を用いて進化計算を行な進化計算システムとなるコンピュータに、以下の処理を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする
(1)遺伝子型個体構造情報に含まれる遺伝子を順次読込み、当該遺伝子の連結数を遺伝子テーブルから取得し、連結数を満たすように連結先のノードとなる遺伝子を特定し、遺伝子間の連結関係を記述する表現型個体構造情報を生成し、学習用入力データを入力して、表現型個体構造情報によって特定される遺伝子の連結関係に従って、各遺伝子により特定されるファンクションによる演算を順次実行して個体演算出力データを求め、個体演算出力データを学習用目標データと比較して、個体毎の適応度を計算する適応度計算処理
(2)適応度に基づいて、個体集団から個体を選択する個体選択処理
(3)選択した個体の遺伝子型個体構造情報に対して、複数の個体間で一部の情報を交換する交叉処理、あるいは一部の情報を変化させる突然変異処理を行い、次世代の個体集団の要素となる各個体の遺伝子型個体構造情報を求め、個体集団記憶部に記憶させる生殖処理。
A computer-readable recording medium according to the present invention includes:
For each individual that is an element of an individual group related to the same generation, an individual group storage unit that stores genotype individual structure information in which genetic information including a gene that identifies a function is continuous, and an associated gene and specified by the gene The computer has a gene table that defines the number of data input by the function to be input as the number of connections, and uses the genotype individual structure information to perform evolutionary calculations. It is a computer-readable recording medium in which a program is recorded. (1) Sequentially reads genes included in genotype individual structure information, obtains the number of linked genes from the gene table, and satisfies the number of linkages. The phenotypic individual structure information that specifies the gene that is the node to be linked to and describes the linkage relationship between the genes Generate and input learning data, and execute individual functions according to the linkage relationship between the genes specified by the phenotype individual structure information to obtain individual calculation output data. The fitness calculation process for calculating the fitness for each individual by comparing the output data with the learning target data (2) The individual selection process for selecting the individual from the individual population based on the fitness (3) The selected individual For genotype individual structure information, perform crossover processing to exchange some information between multiple individuals, or mutation processing to change some information, and each individual that will be an element of the next generation individual population Reproductive processing for obtaining genotype individual structure information and storing it in the individual population storage unit.

本発明に係るプログラムは、
同一世代に係る個体集団の要素である各個体について、ファンクションを識別する遺伝子を含む遺伝子情報が連続する遺伝子型個体構造情報を記憶する個体集団記憶部と、遺伝子に対応付けて、当該遺伝子により特定されるファンクションが入力するデータの数を連結数として定義する遺伝子テーブルを有し、遺伝子型個体構造情報を用いて進化計算を行な進化計算システムとなるコンピュータに、以下の手順を実行させるためのプログラムであることを特徴とする
(1)遺伝子型個体構造情報に含まれる遺伝子を順次読込み、当該遺伝子の連結数を遺伝子テーブルから取得し、連結数を満たすように連結先のノードとなる遺伝子を特定し、遺伝子間の連結関係を記述する表現型個体構造情報を生成し、学習用入力データを入力して、表現型個体構造情報によって特定される遺伝子の連結関係に従って、各遺伝子により特定されるファンクションによる演算を順次実行して個体演算出力データを求め、個体演算出力データを学習用目標データと比較して、個体毎の適応度を計算する適応度計算手順
(2)適応度に基づいて、個体集団から個体を選択する個体選択手順
(3)選択した個体の遺伝子型個体構造情報に対して、複数の個体間で一部の情報を交換する交叉処理、あるいは一部の情報を変化させる突然変異処理を行い、次世代の個体集団の要素となる各個体の遺伝子型個体構造情報を求め、個体集団記憶部に記憶させる生殖手順。
The program according to the present invention is:
For each individual that is an element of an individual group related to the same generation, an individual group storage unit that stores genotype individual structure information in which genetic information including a gene that identifies a function is continuous, and an associated gene and specified by the gene For a computer that is an evolutionary computation system that performs evolutionary computation using genotype individual structure information, and has a gene table that defines the number of data input by the function to be input as the number of connections. (1) The genes included in the genotype individual structure information are sequentially read, the number of linked genes is obtained from the gene table, and the genes that are the nodes to be linked to satisfy the number of linkages are obtained. Generate phenotypic individual structure information that identifies and describes the linkage relationship between genes, inputs input data for learning, and phenotypes According to the linkage relationship of the genes specified by the body structure information, the calculation by the function specified by each gene is sequentially executed to obtain individual calculation output data, and the individual calculation output data is compared with the learning target data for each individual. (2) Individual selection procedure for selecting an individual from an individual population based on the fitness (3) For the genotype individual structure information of the selected individual among a plurality of individuals Perform crossover processing to exchange some information or mutation processing to change some information, obtain genotype individual structure information of each individual that will be an element of the next generation individual population, and store it in the individual population storage unit Reproductive procedure to let.

本発明によれば、遺伝子間の連結関係を記述する表現型個体構造情報を生成する際に、連結数を満たすように連結先のノードとなる遺伝子を特定するので、表現型としての構造的な矛盾が生じない。従って、生殖における任意性が向上し、個体の多様性が発揮される。特に、中位層のパーツ構造(部分木)を交換できる点で、従来の遺伝的プログラミングよりも優れている。   According to the present invention, when generating the phenotypic individual structure information describing the connection relationship between genes, the gene that is the node of the connection destination is specified so as to satisfy the number of connections. There is no contradiction. Therefore, the reproductivity is improved, and individual diversity is exhibited. In particular, it is superior to conventional genetic programming in that the middle layer part structure (subtree) can be exchanged.

遺伝子情報にファンクションで用いるパラメータを付加しているので、生殖において構造と数値を同時に操作し、両者の同時最適化を図ることができる。   Since the parameters used for the function are added to the gene information, the structure and the numerical value can be simultaneously operated in the reproduction, and both can be optimized simultaneously.

遺伝子情報にノード種別を付加し、終端と非終端を操作することによって、遺伝子の構造的なパーツをダイナミックに変化させることができる。このパーツが機能モジュールの役割を果たし、生殖処理によって高いレベルの機能に対する構造的な操作が行なわれることが期待される。   By adding the node type to the gene information and manipulating the terminal and non-terminal, the structural parts of the gene can be dynamically changed. It is expected that this part will serve as a functional module, and that structural operations for high level functions will be performed by reproductive processing.

マトリクス型の個体構造を採用し、生殖処理でブロックの操作を行なうので、表現型に対して従来無かった変化をもたらすことができる。   Employing a matrix-type individual structure and performing block operations in reproductive processing, it is possible to bring about changes that have not been made in the past for phenotypes.

実施の形態1.
図1は、進化計算システムの構成を示す図である。進化計算システムは、初期個体入力部101、個体集団記憶部102、適応度計算部103、遺伝子テーブル104、適応度記憶部105、個体選択部106、選択個体記憶部107、生殖部108、及び学習個体出力部109を有している。個体集団記憶部102は、同一世代に係る個体集団の要素である各個体の遺伝子型個体構造情報を記憶するように構成されている。
Embodiment 1 FIG.
FIG. 1 is a diagram showing a configuration of an evolutionary computing system. The evolution calculation system includes an initial individual input unit 101, an individual group storage unit 102, an fitness calculation unit 103, a gene table 104, an fitness storage unit 105, an individual selection unit 106, a selected individual storage unit 107, a reproduction unit 108, and learning. An individual output unit 109 is provided. The individual group storage unit 102 is configured to store genotype individual structure information of each individual that is an element of an individual group related to the same generation.

遺伝子テーブル104の構成について説明する。図2は、遺伝子テーブルの例を示す図である。このテーブルは、遺伝子と当該遺伝子の連結数を対応付けて記憶し、これらの関係を定義している。遺伝子は、演算を行なうファンクションを識別する識別子である。連結数は、遺伝子により特定されるファンクションに入力するデータ数を示している。例えば、演算として画像処理を行なう場合には、遺伝子によって画像処理フィルタを特定する。また、入力する画像データが1つで、出力する画像データ数が1つである「1入力1出力フィルタ」の例として、平均値フィルタ、最大値フィルタ、最小値フィルタ、反転フィルタなどがあり、これらは連結数が1と定義される。入力する画像データが2つで、出力する画像データ数が1つである「2入力1出力フィルタ」の例として、論理和フィルタ、論理積フィルタ、差別フィルタなどがあり、これらは連結数が2と定義される。   The configuration of the gene table 104 will be described. FIG. 2 is a diagram illustrating an example of a gene table. This table stores the genes and the number of linked genes in association with each other and defines the relationship between them. A gene is an identifier that identifies a function that performs an operation. The number of connections indicates the number of data input to the function specified by the gene. For example, when performing image processing as a calculation, an image processing filter is specified by gene. In addition, examples of “1-input 1-output filter” in which the number of image data to be input is one and the number of image data to be output is one include an average value filter, a maximum value filter, a minimum value filter, and an inversion filter. These are defined as 1 connected. Examples of the “two-input one-output filter” in which the number of input image data is two and the number of image data to be output is one include a logical sum filter, a logical product filter, a discrimination filter, and the like. It is defined as

尚、この例では、連結数0の遺伝子は、終端ノードとして用いられる終端用遺伝子であり、連結数1または2の遺伝子は、非終端ノードとして用いられる非終端用遺伝子である。終端ノードとは、初期入力値である学習用データを直接入力するノードであり、非終端ノードとは、他のノードの出力データを入力するノードのことである。非終端ノードは、最終出力値である個体演算出力データを出力するルートノードにも用いられる。この例では、同じ演算を行なう場合でも、終端用と非終端用を遺伝子として区別している。つまり、前述の「1入力1出力フィルタ」の例としてあげた平均値フィルタを終端に用いる場合の遺伝子と、非終端に用いる場合の遺伝子を、別個に設定している。「1入力1出力フィルタ」を終端に用いる遺伝子では、初期入力値である学習用入力データを当該フィルタに入力する。「2入力1出力フィルタ」を終端に用いる遺伝子では、初期入力値である学習用入力データを両方の入力データとして用いて当該フィルタを実行する。あるいは、一方の入力データとして学習用入力データを用いて、他の入力データとして所定データ(全画素が最大値の画像データ、全画素が最小値の画像データ、全画素が平均値の画像データなど)を用いて当該フィルタを実行する。   In this example, the 0-linked gene is a terminating gene used as a terminal node, and the 1- or 2-linked gene is a non-terminal gene used as a non-terminal node. A terminal node is a node that directly inputs learning data that is an initial input value, and a non-terminal node is a node that inputs output data of another node. The non-terminal node is also used as a root node that outputs individual computation output data that is a final output value. In this example, even when the same calculation is performed, the terminator and the terminator are distinguished as genes. That is, the gene when the average value filter mentioned as an example of the above-mentioned “1-input 1-output filter” is used at the end and the gene when used at the non-end are set separately. In a gene using the “one-input one-output filter” as a terminal, learning input data that is an initial input value is input to the filter. For genes that use the “two-input one-output filter” at the end, the learning input data that is the initial input value is used as both input data, and the filter is executed. Alternatively, learning input data is used as one input data, and other input data is predetermined data (image data having a maximum value for all pixels, image data having a minimum value for all pixels, image data having an average value for all pixels, etc. ) To execute the filter.

以下、進化計算システムによる進化計算アルゴリズムによる学習処理について説明する。図3は、進化計算アルゴリズムによる学習処理のフローを示す図である。まず、初期個体入力部101による初期個体入力処理(S301)を行なう。この処理では、初期の個体集団を入力し、個体集団記憶部102に記憶させる。つまり、集団を構成する要素数の分、個体の構造を特定する個体構造情報(以下、個体構造という。)を入力して、それらに個体識別情報(以下、個体IDという。)を対応付けて、個体集団記憶部102に記憶させる。   Hereinafter, the learning process by the evolution calculation algorithm by the evolution calculation system will be described. FIG. 3 is a diagram showing a flow of learning processing by the evolutionary calculation algorithm. First, an initial individual input process (S301) by the initial individual input unit 101 is performed. In this process, an initial individual group is input and stored in the individual group storage unit 102. That is, individual structure information (hereinafter referred to as an individual structure) for specifying the structure of an individual is input for the number of elements constituting the group, and individual identification information (hereinafter referred to as an individual ID) is associated with them. And stored in the individual group storage unit 102.

ここで、本実施の形態で入力される遺伝子型個体構造について説明する。図4は、個体イの遺伝子型個体構造を示す図である。ノードNoの昇順に、当該ノードを構成する遺伝子を列として記憶している。この形態では、遺伝子情報は遺伝子のみから構成されているが、遺伝子型個体構造は、少なくとも遺伝子を含む遺伝子情報が連続する構成となっている。後述する形態では、遺伝子情報に他の情報が付加される。   Here, the genotype individual structure input in the present embodiment will be described. FIG. 4 is a diagram showing the genotype individual structure of individual i. In ascending order of the node numbers, the genes constituting the nodes are stored as columns. In this form, the genetic information is composed only of genes, but the genotype individual structure has a structure in which genetic information including at least genes is continuous. In the form described later, other information is added to the gene information.

次に、適応度計算部103による適応度計算処理(S302)を行なう。この処理では、個体集団記憶部102に記憶している各個体の適応度を計算する。適応度とは、初期入力値である学習用データを入力して、個体の構造により特定される演算手順に従って演算した結果である個体演算出力データが、最終的に目標とする学習用目標データに近似する程度を示す情報である。適応度は、個体IDと対応付けて適応度記憶部105に記憶される。この適応度計算処理(S302)の詳細については後述する。   Next, fitness calculation processing (S302) by the fitness calculation unit 103 is performed. In this process, the fitness of each individual stored in the individual group storage unit 102 is calculated. The fitness is the learning data that is the initial input value, and the individual calculation output data that is the result of calculation according to the calculation procedure specified by the individual structure is the final target data for learning. Information indicating the degree of approximation. The fitness is stored in the fitness storage unit 105 in association with the individual ID. Details of the fitness calculation process (S302) will be described later.

次に、個体選択部106による個体選択処理(S303)を行なう。この処理では、各個体の適応度に基づいて、生殖処理に対象とする個体を所定の選択数分だけ選択する。例えば、適応度が大きい順に、選択数の個体を選択する。あるいは、選択数を、適応度の高い層の高適応個体選択数と、適応度の低い層の低適応個体選択数に分け、それぞれ、適応度の高い順に、高適応個体選択数の個体を選択し、更に適応度の低い順に、低適応個体選択数の個体を選択するように、適応度を層別し、各層からそれぞれの所定数分を選別するようにしてもよい。他にも、適応度に比例した確率で個体を選択するルーレット選択方法、適応度の順位に従って選択回数を決定するランク選択方法、個体集団からトーナメントサイズとして既定された数の個体をランダムに選択し、その中の最大適応度の個体をトーナメントの勝者として選択するトーナメント選択方法などもある。このようにして、選択された個体群のIDを、選択個体記憶部107に記憶させる。   Next, an individual selection process (S303) by the individual selection unit 106 is performed. In this process, based on the fitness of each individual, a predetermined number of selected individuals are selected for reproductive processing. For example, a selected number of individuals are selected in descending order of fitness. Alternatively, the number of selections is divided into the number of highly adaptive individuals selected in the high fitness layer and the number of low adaptive individuals selected in the low fitness layer, and the individuals with the high adaptive individual selection number are selected in descending order of fitness. Further, the fitness may be stratified so that individuals with a low adaptive individual selection number are selected in order of lower fitness, and a predetermined number of each may be selected from each layer. In addition, a roulette selection method that selects individuals with a probability proportional to the fitness, a rank selection method that determines the number of selections according to the fitness ranking, and a random number of individuals selected as the tournament size from the population. There is also a tournament selection method in which an individual with the highest fitness among them is selected as a tournament winner. In this way, the ID of the selected individual group is stored in the selected individual storage unit 107.

次に、生殖部108による生殖処理(S304)を行なう。この処理では、選択された個体群から取り出した個体に対して、世代交代に係る構成の操作を施す。この例では、2つの個体間で遺伝子列の一部を交換する交叉処理、遺伝子列の一部を変化させる突然変異処理、現在の固体構造を維持したまま存続させる延命処理を行なう。これらの処理により、所定次世代個体数の個体からなる次世代個体集団を生成し、それぞれ個体IDと対応付けて個体構造を個体集団記憶部102に記憶させる。この生殖処理(S304)の詳細については、後述する。   Next, a reproduction process (S304) by the reproduction unit 108 is performed. In this process, a configuration related to generational change is applied to an individual extracted from the selected individual group. In this example, a crossover process for exchanging a part of a gene string between two individuals, a mutation process for changing a part of the gene string, and a life extension process for maintaining the current solid structure are performed. Through these processes, a next-generation individual group consisting of individuals of a predetermined number of next-generation individuals is generated, and an individual structure is stored in the individual group storage unit 102 in association with each individual ID. Details of this reproductive process (S304) will be described later.

そして、これらの世代交代処理(S302からS304)を繰り返し、世代交代終了判定部(図示せず)により世代交代終了判定処理(S305)により、継続と判定されると世代交代処理をループし、終了と判定されると世代交代処理のループを終了し、後処理に移行する。世代交代の終了は、例えば、世代数で判定する。世代交代処理の回数をカウントし、当該回数が所定の世代数に満たない場合は、継続と判定し、世代数に達した場合に、終了と判定する。あるいは、適応度が終了条件を満たした場合に、終了と判定することもできる。例えば、目標適応度と目標個体数を終了条件として設定し、目標適応度に達した個体数をカウントし、その数が目標個体数に達しない場合に継続と判定し、目標個体数に達した場合に終了と判定する。あるいは、世代交代処理の制限時間を設け、世代交代処理のループの間の処理時間を計測し、処理時間が制限時間に達しない場合に継続と判定し、制限時間に達した場合に終了と判定する。   Then, these generation change processes (S302 to S304) are repeated, and when the generation change end determination unit (not shown) determines that the generation change end determination process (S305) continues, the generation change process loops and ends. If it is determined, the generation change process loop is terminated and the process proceeds to post-processing. The end of the generation change is determined by the number of generations, for example. The number of generation change processes is counted, and when the number of generations is less than the predetermined number of generations, it is determined to be continued, and when the number of generations is reached, it is determined to end. Alternatively, it can be determined that the fitness is complete when the fitness satisfies the termination condition. For example, the target fitness and the target number of individuals are set as end conditions, the number of individuals that have reached the target fitness is counted, and if the number does not reach the target number of individuals, it is determined to continue and the target number of individuals has been reached. It is determined that the process ends. Alternatively, set a time limit for generation change processing, measure the processing time between the loops of generation change processing, determine if the processing time does not reach the time limit, and decide to end when the time limit is reached To do.

後処理として、前述と同様に、最終世代の個体集団について適応度計算部103による適応度計算処理(S306)を行ない、学習個体出力部109による学習個体出力処理(S307)を行なう。学習個体出力処理では、最終世代の個体集団に含まれる各個体の個体構造と、当該個体の適応度を対応付けて出力する。つまり、個体集団記憶部102に記憶している個体ID毎に、当該IDに対応する個体構造を取り出し、また当該IDと対応付けられている適応度を適応度記憶部105から取り出し、取り出した個体構造と適応度を対応付けて、学習個体情報として出力する。その際、適応度をキーとして個体情報群をソートし、そのソート結果を出力することも有効である。   As post-processing, fitness calculation processing (S306) by the fitness calculation unit 103 is performed on the individual population of the last generation as described above, and learning individual output processing (S307) by the learning individual output unit 109 is performed. In the learning individual output process, the individual structure of each individual included in the individual population of the last generation and the fitness of the individual are associated and output. That is, for each individual ID stored in the individual group storage unit 102, the individual structure corresponding to the ID is extracted, the fitness associated with the ID is extracted from the fitness storage unit 105, and the extracted individual The structure and fitness are associated with each other and output as learning individual information. At that time, it is also effective to sort the individual information group using the fitness as a key and output the sorting result.

以下、適応度計算処理(S302)と生殖処理(S304)について順に詳述する。   Hereinafter, the fitness calculation process (S302) and the reproductive process (S304) will be described in detail.

まず、図3に示した適応度計算処理(S302)について説明する。図5は、適応度計算部の構成を示す図である。適応度計算部103は、型変換部501、個体演算部502、及びデータ比較部503を有している。   First, the fitness calculation process (S302) shown in FIG. 3 will be described. FIG. 5 is a diagram illustrating a configuration of the fitness calculation unit. The fitness calculation unit 103 includes a type conversion unit 501, an individual calculation unit 502, and a data comparison unit 503.

図6は、適応度計算処理のフローを示す図である。個体集団記憶部102に記憶しているすべての個体に対して、型変換処理(S602)、個体演算処理(S603)、データ比較処理(S604)を行なう。型変換部501による型変換処理(S602)では、遺伝子型個体構造を表現型の個体構造情報(以下、表現型個体構造という。)に変換する。表現型個体構造は、遺伝子間の連結関係を記述する構成となっている。個体演算部502による個体演算処理(S603)では、初期入力値である学習用入力データを入力して、表現型個体構造により特定される演算手順に従って一連の演算を行い、個体演算出力データを得る。例えば、画像処理を行なう場合には、画像処理対象である元画像データを入力し、順に連結する画像処理フィルタによる処理を施すことにより画像データを加工し、画像処理後の加工画像データを、個体演算出力データとして出力する。データ比較部503によるデータ比較処理(S604)では、個体演算出力データと学習用目標データを比較し、所定の基準に従って適応度を算出する。尚、学習用入力データと学習用目標データは、予め学習用データ入力部(図示せず)を介して入力され、学習用データ記憶部(図示せず)に記憶している。   FIG. 6 is a diagram illustrating a flow of fitness calculation processing. The type conversion process (S602), the individual calculation process (S603), and the data comparison process (S604) are performed on all the individuals stored in the individual group storage unit 102. In the type conversion process (S602) by the type conversion unit 501, the genotype individual structure is converted into phenotype individual structure information (hereinafter referred to as phenotype individual structure). The phenotypic individual structure has a structure that describes the linkage relationship between genes. In the individual calculation process (S603) by the individual calculation unit 502, input data for learning which is an initial input value is input, and a series of calculations are performed according to the calculation procedure specified by the phenotype individual structure to obtain individual calculation output data. . For example, when performing image processing, the original image data to be processed is input, the image data is processed by processing with the image processing filter sequentially connected, and the processed image data after the image processing is processed as an individual image. Output as operation output data. In the data comparison processing (S604) by the data comparison unit 503, the individual calculation output data and the learning target data are compared, and the fitness is calculated according to a predetermined standard. Note that the learning input data and the learning target data are input in advance via a learning data input unit (not shown) and stored in a learning data storage unit (not shown).

以下、型変換処理(S602)と個体演算処理(S603)とデータ比較処理(S604)について順に詳述する。   Hereinafter, the type conversion process (S602), the individual calculation process (S603), and the data comparison process (S604) will be described in detail.

まず、図6に示した型変換処理(S602)について説明する。図7は、型変換処理のフローを示す図である。この処理では、図4に示した遺伝子型個体構造を表現型個体構造に変換する。図8は、個体イの表現型個体構造の生成過程を示す図である。表現型個体構造は、ノード毎にレコードを有し、ノードNoに対応付けて遺伝子、連結数、第一連結先ノードNo、及び第二連結先ノードNoを記憶するように構成される。   First, the type conversion process (S602) shown in FIG. 6 will be described. FIG. 7 is a diagram showing a flow of type conversion processing. In this process, the genotype individual structure shown in FIG. 4 is converted into a phenotype individual structure. FIG. 8 is a diagram showing a process of generating the phenotype individual structure of the individual i. The phenotype individual structure has a record for each node, and is configured to store a gene, the number of connections, the first connection destination node No, and the second connection destination node No in association with the node No.

図6に示すように、順次ノード毎に以下の処理を繰り返す(S701)。ノードがNo=1(ルート)の場合には(S702)、S703からS705を省き、S706に移る。遺伝子型個体構造から、順に遺伝子を読み込み(S706)、遺伝子テーブルから、当該遺伝子の連結数を取得し(S707)、遺伝子と連結数を、表現型個体構造の当該ノードのレコードに書き込む(S708)。更に、当該レコードの連結数分の連結先ノードに、予約コードを書き込む(S709)。個体イの例では、遺伝子「E」の連結数「2」を遺伝子テーブルから取得し、それぞれ表現型個体構造の第1レコードに設定している。また、連結数が「2」であるので、第一連結先ノードNoと第二連結先ノードNoに、予約コードを設定している。予約コードは、連結先のノードに遺伝子を設定する必要があることを示している。   As shown in FIG. 6, the following processing is sequentially repeated for each node (S701). If the node is No = 1 (root) (S702), S703 to S705 are omitted, and the process proceeds to S706. Genes are read in order from the genotype individual structure (S706), the number of linked genes is obtained from the gene table (S707), and the number of genes and linkages are written in the record of the node of the phenotype individual structure (S708). . Further, reservation codes are written in the connection destination nodes corresponding to the number of connections of the record (S709). In the example of the individual A, the number of connections “2” of the gene “E” is acquired from the gene table, and each is set in the first record of the phenotype individual structure. Since the number of connections is “2”, reservation codes are set in the first connection destination node No and the second connection destination node No. The reservation code indicates that it is necessary to set a gene in the node to be linked.

遺伝子型個体構造に次の遺伝子があれば(S710)、次のノードについてS703以下の処理を繰り返す。まず、連結する位置を特定する。その為に、表現型個体構造の各レコード中の連結先ノードの中から、連結対象とする予約コードを特定する(S703)。予約コードが複数有る場合に、いずれの予約コードを特定するかは種々の方法がある。   If there is a next gene in the genotype individual structure (S710), the processing from S703 onward is repeated for the next node. First, the position to connect is specified. For this purpose, a reservation code to be linked is specified from the linked nodes in each record of the phenotype individual structure (S703). There are various methods for specifying which reservation code when there are a plurality of reservation codes.

この例では、第一連結先ノードNoの項目を優先し、いずれかのレコードの第一連結先ノードNoの項目に予約コードが有る場合には、その予約コードを連結対象とする。いずれのレコードの第一連結先ノードNoの項目にも予約コードが無い場合には、第二連結先ノードNoにある予約コードのうち、最も下位のレコードの予約コードを選択し、その予約コードを連結対象とする。この例による予約コードの特定方法は、深さ優先の特定方法である。   In this example, priority is given to the item of the 1st connection destination node No, and when the reservation code exists in the item of the 1st connection destination node No of any record, the reservation code is made into connection object. If there is no reservation code in the item of the first connection destination node No of any record, select the reservation code of the lowest record among the reservation codes in the second connection destination node No. Consolidate. The reservation code specifying method according to this example is a depth-first specifying method.

他に、幅優先の特定方法もある。幅優先の特定方法では、最も上位のレコードの予約コードを選択する。最も上位のレコードに2つの予約コードがある場合には、第一連結先ノードNoを選択する。   In addition, there is a method of specifying width priority. In the width priority specifying method, the reservation code of the highest record is selected. When there are two reservation codes in the highest record, the first connection destination node No is selected.

予約コードが無い場合には、すべてのノードについてデータの入力源が確定しているので、処理を終了する(S704)。   If there is no reservation code, the data input source has been determined for all nodes, and the process is terminated (S704).

いずれかの予約コードを連結対象として特定した場合には、特定した予約コードを当該ノードのNoに書き換える(S705)。これにより、当該ノードが、予約コードを有していたレコードのノードに連結されることになる。図8の例では、第2ノードが第1ノードに連結されている。同様に、第3ノードが第2ノードに連結され、第4ノードが第1ノードに連結されている。これは、第1ノードが第2ノードの出力データと第4ノードの出力データを入力し、第2ノードが第3ノードの出力データを入力することを示している。尚、第3のノードは連結がないので、初期入力値である学習用入力データを直接入力することを示している。   When any reservation code is specified as a connection target, the specified reservation code is rewritten to No of the relevant node (S705). As a result, the node is linked to the node of the record having the reservation code. In the example of FIG. 8, the second node is connected to the first node. Similarly, the third node is connected to the second node, and the fourth node is connected to the first node. This indicates that the first node inputs the output data of the second node and the output data of the fourth node, and the second node inputs the output data of the third node. Since the third node is not connected, it indicates that learning input data that is an initial input value is directly input.

遺伝子型個体構造のすべての遺伝子について処理した場合には、未完成として終了する(S710)。未完成の場合には、例えば、当該個体を以降の処理対象外とするか、あるいは予約コードに所定の終端用ノードを割り当てて強制的に完成させるなどのリカバリー処理を行う。   When all the genes of the genotype individual structure have been processed, the process ends as incomplete (S710). In the case of incomplete, for example, recovery processing is performed such that the individual is excluded from the subsequent processing target, or a predetermined termination node is assigned to the reservation code and forcibly completed.

このようにして、図9に示す個体イの表現型個体構造が得られる。また、個体イの連結関係を図10に示す。図10は、個体イの表現型のイメージを示す図である。   In this manner, the individual phenotype individual structure shown in FIG. 9 is obtained. In addition, FIG. FIG. 10 is a diagram showing an image of the phenotype of individual i.

次に、図6に示した個体演算処理(S603)について説明する。図11は、個体演算処理のフローを示す図である。まず、計算するノードを探索する(S1101)。具体的には、いずれかの計算できるノードを選択する。計算できるノードの条件は、当該ノードに入力するデータが確定していることである。連結数が0のノードは、入力するデータが確定しているので、すぐに計算することができる。連結数が1以上のノードは、連結先のすべてのノードからの出力データが得られている場合に、計算することができる。各ノードの出力である演算結果データは、後述するように当該ノードのIDと対応付けて、個体演算部内の演算結果記憶部(図示せず)に記憶されるので、各連結先ノードNoに対応する演算結果データがすべて演算結果記憶部に記憶されている場合に、当該ノードの計算できると判断する。計算できるノードが複数存在する場合に、いずれのノードを計算の対象とするかは、特に制限されないが、この例では下位のノードを優先して選択する。   Next, the individual calculation process (S603) shown in FIG. 6 will be described. FIG. 11 is a diagram illustrating a flow of the individual calculation process. First, a node to be calculated is searched (S1101). Specifically, any node that can be calculated is selected. The condition of a node that can be calculated is that data to be input to the node is fixed. Since the data to be input is determined for the node having the connection number of 0, it can be calculated immediately. A node having the number of connections of 1 or more can be calculated when output data from all nodes to which the connection is made is obtained. As will be described later, the calculation result data that is the output of each node is stored in a calculation result storage unit (not shown) in the individual calculation unit in association with the ID of the node. When all the operation result data to be stored is stored in the operation result storage unit, it is determined that the node can be calculated. When there are a plurality of nodes that can be calculated, which node is subject to calculation is not particularly limited, but in this example, the lower nodes are preferentially selected.

次に、計算するノードの遺伝子に対応するファンクション処理部を特定する(S1102)。遺伝子は、演算を行なうファンクションを識別する識別子であるので、その定義に従ってファンクション処理部を決定できる。画像処理の場合には、画像処理フィルタがファンクション処理部に当たる。次に、当該ノードへ入力するデータを特定する(S1103)。連結数が0の終端ノードの場合は、学習用入力データをノードへの入力データとする。終端ノードが、他に所定データ(全画素が最大値の画像データ、全画素が最小値の画像データ、全画素が平均値の画像データなど)も用いる仕様の場合には、これも入力データとする。連結数が1以上の非終端ノードの場合は、各連結先ノードNoに対応付けられて演算結果記憶部に記憶している演算結果データが、ノードへの入力データとなる。   Next, the function processing unit corresponding to the gene of the node to be calculated is specified (S1102). Since a gene is an identifier for identifying a function to perform an operation, a function processing unit can be determined according to the definition. In the case of image processing, the image processing filter corresponds to the function processing unit. Next, data to be input to the node is specified (S1103). In the case of a terminal node with a connection number of 0, learning input data is used as input data to the node. If the end node has specifications that also use predetermined data (image data with the maximum value for all pixels, image data with the minimum value for all pixels, image data with the average value for all pixels, etc.) To do. In the case of a non-terminal node having a connection number of 1 or more, operation result data associated with each connection destination node No and stored in the operation result storage unit is input data to the node.

そして、特定したデータを入力してファンクション処理部による演算を行い(S1104)、演算結果データを当該ノードのノードNoと対応付けて演算結果記憶部に記憶する(S1105)。   Then, the specified data is input to perform calculation by the function processing unit (S1104), and the calculation result data is stored in the calculation result storage unit in association with the node number of the node (S1105).

上述の処理をすべてのノードについて行い(S1106)、ルート(ノードNo=1)の演算結果データを、個体演算出力データとする(S1107)。   The above processing is performed for all nodes (S1106), and the calculation result data of the root (node No = 1) is used as individual calculation output data (S1107).

図6に示したデータ比較処理(S604)では、この個体演算出力データと学習用目標データを比較し、所定の基準に従って、適応度を算出する。適応度とは、データの特性に応じて判断される近似する程度のことである。一般には、データ間の差分を求め、差分が小さいほど適応度を大きくする。画像処理の場合、例えば画素毎の輝度の差分を算出し、その差分の総和が少ないほど適応度が大きいと判断する方法や、画素毎の輝度の差分を算出し、その差分が基準値を超えている画素数をカウントし、その輝度差の大きい画素数が少ないほど適応度が大きいと判断する方法などがある。   In the data comparison process (S604) shown in FIG. 6, the individual calculation output data is compared with the learning target data, and the fitness is calculated according to a predetermined standard. The fitness is an approximate degree determined according to data characteristics. In general, the difference between the data is obtained, and the fitness is increased as the difference is smaller. In the case of image processing, for example, the luminance difference for each pixel is calculated, and the smaller the sum of the differences, the greater the fitness is, or the luminance difference for each pixel is calculated and the difference exceeds the reference value. There is a method of counting the number of pixels, and determining that the fitness is higher as the number of pixels having a larger luminance difference is smaller.

次に、図3に示した生殖処理(S304)について説明する。図12は、生殖処理のフローを示す図である。まず、個体数決定部(図示せず)により、交叉処理により得る個体数と、突然変異処理により得る個体数と、延命処理により得る個体数を決定する(S1201)。これらの個体数の合計は、次世代の個体の総数となる。これらの個体数は、予め決められた定数を用いる方法や、乱数等に基づいて都度決定する方法がある。   Next, the reproduction process (S304) shown in FIG. 3 will be described. FIG. 12 is a diagram showing a flow of reproductive processing. First, an individual number determination unit (not shown) determines the number of individuals obtained by crossover processing, the number of individuals obtained by mutation processing, and the number of individuals obtained by life extension processing (S1201). The total number of these individuals is the total number of next-generation individuals. There are a method of using a predetermined constant and a method of determining each individual number based on a random number or the like.

交叉部(図示せず)により、2つの個体間で遺伝子列の一部を交換する交叉処理(S1202)と、突然変異部(図示せず)により、遺伝子の一部を変化させる突然変異処理(S1203)と、延命部(図示せず)により、現在の個体構造を維持したまま存続させる延命処理(S1204)を行なう。これらの処理は、独立しており、処理の順序は必ずしも限定されない。これらの処理により次世代の個体が得られると、個体集団更新部(図示せず)により、個体集団更新処理(S1205)を行なう。この処理では、現世代の個体に関する個体IDと遺伝子型個体構造を消去し、次世代の各個体について個体IDに対応付けて遺伝子型個体構造を個体集団記憶部102に記憶させる。つまり、現世代の個体集団から次世代の個体集団に更新する。   A crossover process (S1202) for exchanging a part of a gene sequence between two individuals by a crossover part (not shown), and a mutation process (S1202) for changing a part of a gene by a mutation part (not shown) In step S1203), the life extension unit (not shown) performs life extension processing (S1204) for maintaining the current individual structure. These processes are independent, and the order of the processes is not necessarily limited. When a next generation individual is obtained by these processes, an individual group update unit (not shown) performs an individual group update process (S1205). In this process, the individual ID and the genotype individual structure relating to the current generation individual are deleted, and the genotype individual structure is stored in the individual group storage unit 102 in association with the individual ID for each next generation individual. That is, the current generation individual population is updated to the next generation individual population.

前述の交叉処理(S1202)について説明する。図13は、交叉処理のフローを示す図である。所定の個体数に至るまで、交叉により新たな個体を得る処理を繰り返す(S1301)。まず、交叉させる2つの個体を特定する(S1302)。選択個体記憶部107に記憶している選択された個体の中から、2つの個体を選択する。一般的には、乱数等を用いて不規則に選択する。同一の個体を繰り返し選択することを許す方法や、繰り返し選択しない方法がある。次に、交叉点の数を特定する(S1303)。交叉点が1つの場合には、その交叉点より後の全列を交換する。交叉点が2つの場合には、交叉点の間の部分列を交換する。交叉点が3つ以上の場合は、複数の列を交換する。交叉点の数は、予め定めた固定数でもよいし、都度乱数等を用いて不規則の数を求めてもよい。その数分の交叉点を選択する(S1304)。遺伝子の最大数以下の範囲で、乱数等を用いて不規則に交叉点の位置を決定する。交叉点の位置は、2つの個体で共通にする方法と、それぞれ独立に決める方法がある。そして、交叉点間の遺伝子列を交換する(S1305)。1番目と2番目の交叉点の間、3番目と4番目の交叉点の間と、順に次の交叉点との間の部分列を交換し、交叉点の数が奇数の場合には、最後の交叉点から最終遺伝子までを交換する。一般には、交叉された2つの個体を次世代に残すが、一方のみを残す方法もある。このようにして、交叉により得る個体を特定し、生殖部の内部に一時的にその遺伝子型個体構造を記憶する(S1306)。これらの処理を繰り返し、所定の個体数を得た時点で終了する(S1307)。   The crossover process (S1202) will be described. FIG. 13 is a diagram showing the flow of the crossover process. The process of obtaining new individuals by crossover is repeated until the predetermined number of individuals is reached (S1301). First, two individuals to be crossed are identified (S1302). Two individuals are selected from the selected individuals stored in the selected individual storage unit 107. Generally, the selection is made irregularly using random numbers or the like. There are methods that allow the same individual to be selected repeatedly, and methods that do not repeatedly select. Next, the number of crossover points is specified (S1303). When there is one crossing point, all the columns after the crossing point are exchanged. When there are two crossing points, the partial rows between the crossing points are exchanged. When there are three or more crossing points, a plurality of rows are exchanged. The number of crossover points may be a predetermined fixed number, or the irregular number may be obtained each time using a random number or the like. The number of intersections corresponding to the number is selected (S1304). The position of the crossover point is determined irregularly using random numbers or the like within the range of the maximum number of genes. There are two methods for determining the position of the crossing point: one is common to two individuals, and the other is independent. Then, the gene sequence between the crossing points is exchanged (S1305). If the number of crossover points is odd, the last sequence is exchanged between the first and second crossover points, the third and fourth crossover points, and the next crossover point in order. Exchange from the crossover point to the final gene. In general, two crossed individuals are left in the next generation, but there is also a method of leaving only one of them. In this way, an individual obtained by crossover is specified, and the genotype individual structure is temporarily stored in the reproductive part (S1306). These processes are repeated, and the process ends when a predetermined number of individuals is obtained (S1307).

この例では、2つの個体間で一部の情報を交換したが、3つ以上の個体間で情報を交換してもよい。   In this example, some information is exchanged between two individuals, but information may be exchanged between three or more individuals.

交叉させる列の要素数は1以上であり、要素単独つまり一つの遺伝子を交換する場合もある。   The number of elements in the row to be crossed is one or more, and the elements alone, that is, one gene may be exchanged.

前述の個体イを個体ロと交叉させる例を示す。図14は、個体ロの遺伝子型個体構造を示す図であり、図15は、個体ロの表現型のイメージを示す図である。この例では、交叉点を2つとし、第4遺伝子と第8遺伝子の間の遺伝子列を交換する。つまり、図4の401の枠内と図14の1401の枠内の遺伝子列が交換される。表現型のイメージでは、図10の1001の枠内と図15の枠内のパーツ構造(部分木)が交換される。   An example is shown in which the above-mentioned individual A is crossed with the individual B. FIG. 14 is a diagram showing a genotype individual structure of an individual B, and FIG. 15 is a diagram showing an image of an individual B phenotype. In this example, there are two crossover points, and the gene sequence between the fourth gene and the eighth gene is exchanged. That is, the gene strings in the frame 401 in FIG. 4 and the frame 1401 in FIG. 14 are exchanged. In the phenotype image, the part structures (subtrees) in the frame 1001 in FIG. 10 and the frame in FIG. 15 are exchanged.

その結果、個体イは個体ハのように変化する。図16は、個体ハの遺伝子型個体構造を示す図であり、図17は、個体ハの表現型のイメージを示す図である。図17に示す通り、上位のパーツ構造(ノード1からノード3までの構造)と下位のパーツ構造(ノード9とノード10の構造、ノード11からノード14までの構造)を残しながら、中位のパーツ構造(ノード4からノード8まで)を入れ替えることに成功している。   As a result, the individual i changes like an individual c. FIG. 16 is a diagram showing the genotype individual structure of the individual c, and FIG. 17 is a diagram showing an image of the phenotype of the individual c. As shown in FIG. 17, while maintaining the upper part structure (the structure from node 1 to node 3) and the lower part structure (the structure of node 9 and node 10, the structure from node 11 to node 14), The parts structure (from node 4 to node 8) has been successfully replaced.

続いて、前述の突然変異処理(S1203)について説明する。図18は、突然変異処理のフローを示す図である。所定の個体数に至るまで、突然変異により新たな個体を得る処理を繰り返す(S1801)。まず、突然変異処理させる個体を特定する(S1802)。選択個体記憶部107に記憶している選択された個体の中から、1つの個体を選択する。一般的には、乱数等を用いて不規則に選択する。同一の個体を繰り返し選択することを許す方法や、繰り返し選択しない方法がある。次に、突然変異範囲の数を特定する(S1803)。突然変異範囲の数は、予め定めた固定数でもよいし、都度乱数等を用いて不規則の数を求めてもよい。その数の突然変異範囲を選択する(S1804)。範囲の大きさは、1つ以上であり、予め定めた固定数でもよいし、都度乱数等を用いて不規則の数を求めてもよい。範囲の位置は、乱数等を用いて不規則に決定する。次に、置き換える代替遺伝子列を特定する(S1805)。代替遺伝子列は、不規則に選ばれた遺伝子例を用いる。一般には、都度乱数等を用いて決定する。代替遺伝子列の大きさは、突然変異範囲と同じにする方法と、任意とする方法がある。そして、遺伝子型個体構造の突然変異範囲を代替遺伝子列に置き換える(S1806)。このようにして、突然変異により得る個体を特定し、生殖部の内部に一時的にその遺伝子型個体構造を記憶する。これらの処理を繰り返し、所定の個体数を得た時点で終了する(S1807)。   Next, the above-described mutation process (S1203) will be described. FIG. 18 is a diagram showing a flow of mutation processing. The process of obtaining new individuals by mutation is repeated until the predetermined number of individuals is reached (S1801). First, an individual to be mutated is specified (S1802). One individual is selected from the selected individuals stored in the selected individual storage unit 107. Generally, the selection is made irregularly using random numbers or the like. There are methods that allow the same individual to be selected repeatedly, and methods that do not repeatedly select. Next, the number of mutation ranges is specified (S1803). The number of mutation ranges may be a predetermined fixed number, or an irregular number may be obtained each time using a random number or the like. The number of mutation ranges is selected (S1804). The size of the range is one or more, and may be a predetermined fixed number, or the random number may be obtained each time using a random number or the like. The position of the range is determined irregularly using random numbers or the like. Next, an alternative gene string to be replaced is specified (S1805). An alternative gene sequence uses an irregularly selected gene example. Generally, it is determined each time using a random number or the like. There are a method of making the size of the alternative gene sequence the same as the mutation range and an arbitrary method. Then, the mutation range of the genotype individual structure is replaced with an alternative gene string (S1806). In this way, an individual obtained by mutation is specified, and the genotype individual structure is temporarily stored inside the reproductive part. These processes are repeated, and the process is terminated when a predetermined number of individuals is obtained (S1807).

突然変異させる列の要素数は1以上であり、要素単独つまり一つの遺伝子を置き換える場合もある。   The number of elements in the row to be mutated is one or more, and there are cases where the element alone, ie, one gene is replaced.

続いて、前述の延命処理(S1204)について説明する。図19は、延命処理のフローを示す図である。所定の個体数を得るまで、延命により新たな個体を得る処理を繰り返す(S1901)。選択個体記憶部107に記憶している個体の中から、1つの個体を選択する。一般的には、乱数等を用いて不規則に選択する。同一の個体を繰り返し選択することを許す方法や、繰り返し選択しない方法がある。それを延命処理させる個体として、生殖部の内部に一時的にその遺伝子型個体構造を記憶する。この処理を繰り返し、所定の個体数を得た時点で終了する(S1903)。   Next, the life extension process (S1204) will be described. FIG. 19 is a diagram illustrating a flow of life extension processing. Until the predetermined number of individuals is obtained, the process of obtaining new individuals by extending the life is repeated (S1901). One individual is selected from the individuals stored in the selected individual storage unit 107. Generally, the selection is made irregularly using random numbers or the like. There are methods that allow the same individual to be selected repeatedly, and methods that do not repeatedly select. As an individual to prolong the life, the genotype individual structure is temporarily stored inside the reproductive part. This process is repeated, and ends when a predetermined number of individuals is obtained (S1903).

個体集団更新処理(S1205)では、交叉処理、突然変異処理、及び延命処理で生殖部の内部に一時的に記憶した遺伝子型個体情報に、新たな個体IDを付し、その個体IDと遺伝子型個体情報を対応付けて、個体集団記憶部102に記憶させ、次世代の個体集団に更新する。   In the individual group update process (S1205), a new individual ID is added to the genotype individual information temporarily stored in the reproductive part by the crossover process, the mutation process, and the life extension process, and the individual ID and genotype are added. The individual information is associated and stored in the individual group storage unit 102, and updated to the next generation individual group.

本実施の形態では、図10と図15と図17に示したように、中位のパーツ構造(部分木)を入れ替えることができる点に特徴が現れている。同図では、交叉を例として説明したが、突然変異においても、中位のパーツ構造を置き換えることができる点は、同様である。   In the present embodiment, as shown in FIGS. 10, 15, and 17, a feature appears in that the middle part structure (partial tree) can be replaced. In the figure, crossover is described as an example, but the same is true in the case where mutation can replace the middle part structure.

ここで、表現型の個体を記述する従来方法による中位のパーツ構造の操作について説明する。従来から表現型の個体を記述する方法としてLispのS式が用いられている。図20と図21に、それぞれ前述の個体イと個体ロをLispのS式で記述した例を示す。この式では、下位を括弧書きで列記することにより多重階層を表している。下位のパーツ構造(独立した部分木)は、例えば個体イの第11ノードから第14ノードに相当する「(E(A)(C(A)))」のように、開き括弧と対応する閉じ括弧の間の列として示される。このように括弧で括られた列を他の括弧で括られた列と交換しても、括弧書きの対応関係に矛盾が生じることがない。従って、下位のパーツ構造(独立した部分木)同士の交叉、あるいは下位のパーツ構造の突然変異は可能である。しかし、中位のパーツ構造については任意に書き換えると、括弧書きの対応関係に矛盾が生じるため、中位のパーツ構造同士の交換、あるいは中位のパーツ構造の突然変異は行なわれない。また、構造的矛盾が生じる場合もある。   Here, the operation of the middle part structure by the conventional method of describing the individual of phenotype will be described. Conventionally, Lisp's S-formula has been used as a method of describing individuals of phenotype. FIG. 20 and FIG. 21 show examples in which the above-mentioned individual A and individual B are described by the Lisp S-expression, respectively. In this formula, the lower hierarchy is listed in parentheses to represent multiple hierarchies. The lower part structure (independent subtree) is, for example, “(E (A) (C (A)))” corresponding to the eleventh node to the fourteenth node of the individual “a”. Shown as a column between parentheses. In this way, even if a column enclosed in parentheses is exchanged for a column enclosed in other parentheses, there is no inconsistency in the correspondence between parentheses. Therefore, it is possible to cross the lower part structures (independent subtrees) or to mutate the lower part structures. However, if the middle part structure is arbitrarily rewritten, the correspondence between the parentheses is inconsistent, so that the middle part structures are not exchanged or the middle part structure is not mutated. There may also be structural inconsistencies.

以下、LispのS式による中位のパーツ構造の書き換えによる構造的な矛盾について説明する。図20に示した個体イの第4ノードから第8ノードの列「(F(B)(D(F(F」に対応する部分として、図21の個体ロの「(C(E(C(E(A)」を選択し、これを入れ替えることにより、図22に示した式が得られる。このとき、開いている括弧の数は、ともに4つになるように個体ロの部分を選択しているので、入れ替えても、括弧の対応数に矛盾は生じない。しかし、図22に示した式によれば、第7ノードの「E」の遺伝子に、「(A)」と「(D(B))」と「(E(A)(C(A)))」の3つの連結が生じ、本来連結数が2つである「E」の遺伝子に対する連結数がオーバーし、構造的に矛盾が生じる。このように、LispのS式においては、矛盾無く中位のパーツ構造に相当する部分列を任意に交換することは不可能である。参考に、本実施の形態で得た個体ハのLispのS式を、図23に示す。   Hereinafter, a structural contradiction caused by rewriting the middle part structure by the Lisp S-formula will be described. As the portion corresponding to the column “(F (B) (D (F (F)” of the fourth node to the eighth node of the individual A shown in FIG. 20, “(C (E (C ( E ”is selected and replaced to obtain the formula shown in FIG. 22. At this time, the portion of the individual B is selected so that the number of open parentheses is four. Therefore, there is no contradiction in the number of parentheses even if they are interchanged, but according to the equation shown in Fig. 22, the "E" gene at the seventh node is assigned to "(A)" and "(D (B)) ”and“ (E (A) (C (A))) ”occur, and the number of linkages for the gene“ E ”, which originally has two linkages, is over, and structurally In this way, in Lisp's S formula, it is not possible to arbitrarily replace the substring corresponding to the middle part structure without contradiction. A capability. For reference, the Lisp S-expression of individual wafer obtained in this embodiment, shown in FIG 23.

実施の形態2.
本実施の形態では、遺伝子にパラメータを付加し、遺伝子とパラメータの組(遺伝子情報に相当する。)の列からなる遺伝子型個体構造を用いて、遺伝子とパラメータを同時に最適化する形態について説明する。パラメータは、遺伝子により特定される演算を行なうファンクションに用いられる。例えば、パラメータがXのn乗を示す係数として用いられ、X、Xの二乗、及びXの三乗を区別する。あるいは三角関数の種類を識別するのに用いられ、sin(X),cos(X),tan(X)を区別することができる。つまり、パラメータによって演算の内容を変えることできる。
Embodiment 2. FIG.
In the present embodiment, a mode is described in which a parameter is added to a gene, and a gene and a parameter are simultaneously optimized using a genotype individual structure composed of a set of genes and parameter pairs (corresponding to gene information). . The parameter is used for a function that performs an operation specified by a gene. For example, the parameter is used as a coefficient indicating X to the power of n, and X, X square, and X cube are distinguished. Alternatively, it is used to identify the type of trigonometric function, and sin (X), cos (X), and tan (X) can be distinguished. That is, the contents of the calculation can be changed according to the parameters.

図24は、パラメータを付加した個体イの遺伝子型個体構造を示す図である。   FIG. 24 is a diagram showing the genotype individual structure of the individual to which the parameter is added.

本実施の形態における進化計算システムの構成と進化計算アルゴリズムによる学習処理のフローは、実施の形態1で示した図1と図3と同様である。   The configuration of the evolution calculation system and the learning processing flow by the evolution calculation algorithm in the present embodiment are the same as those in FIGS. 1 and 3 shown in the first embodiment.

本実施の形態では、図5に示した適応度計算部103の構成要素である型変換部501による型変換処理(図6のS602)が、前述の実施の形態と異なる。図25は、型変換処理の変更部分を示す図である。図7のS705とS709の間で、S706とS708に代えて、以下の処理を行なう。遺伝子型個体構造から当該ノードの遺伝子とパラメータの組を読み込む(S2501)。そして、遺伝子テーブルから当該遺伝子の連結数を取得し(S707)、遺伝子とパラメータと連結数を、表現型個体構造の当該ノードのレコードに書き込む(S2502)。   In the present embodiment, the type conversion processing (S602 in FIG. 6) by the type conversion unit 501 that is a component of the fitness calculation unit 103 shown in FIG. 5 is different from the above-described embodiment. FIG. 25 is a diagram illustrating a changed part of the type conversion process. Between S705 and S709 in FIG. 7, the following processing is performed instead of S706 and S708. A set of genes and parameters of the node is read from the genotype individual structure (S2501). Then, the number of linked genes is obtained from the gene table (S707), and the genes, parameters, and linked numbers are written in the record of the node of the phenotype individual structure (S2502).

これにより、図26に示すように、各レコードでノードNoに対応付けてパラメータも記憶し、パラメータを含む個体イの表現型個体構造が得られる。図27は、パラメータを付加した個体イの表現型のイメージを示す図である。この例では、パラメータの範囲を、1、2、あるいは3としたが、ファンクションに応じて設定することができる。所定の範囲で連続する値を用いても良い。   As a result, as shown in FIG. 26, the parameter is also stored in association with the node No in each record, and the phenotype individual structure of the individual A including the parameter is obtained. FIG. 27 is a diagram showing an image of an individual phenotype to which parameters are added. In this example, the parameter range is 1, 2, or 3, but it can be set according to the function. A continuous value in a predetermined range may be used.

また、図5に示した適応度計算部103の構成要素である個体演算部502による個体演算処理(図6のS603)が、前述の実施の形態と異なる。図28は、個体演算処理の変更部分を示す図である。図11のS1103とS1105の間で、S1104に代えて、特定したデータを入力してパラメータを用いてファンクション処理部による演算を行なう(S2801)。   Further, the individual calculation processing (S603 in FIG. 6) by the individual calculation unit 502 which is a component of the fitness calculation unit 103 shown in FIG. 5 is different from the above-described embodiment. FIG. 28 is a diagram showing a changed part of the individual calculation process. Between S1103 and S1105 in FIG. 11, instead of S1104, the specified data is input, and the calculation is performed by the function processing unit using the parameters (S2801).

また、図12に示した生殖処理に含まれる交叉処理(S1202)と突然変異処理(S1203)が、前述の実施の形態と異なる。   Further, the crossover process (S1202) and the mutation process (S1203) included in the reproductive process shown in FIG. 12 are different from the above-described embodiment.

図29は、交叉処理の変更部分を示す図である。図13のS1304とS1306の間で、S1305に代えて、交叉点間の遺伝子とパラメータの組の列を交換する(S2901)。   FIG. 29 is a diagram showing a changed part of the crossover process. Between S1304 and S1306 in FIG. 13, in place of S1305, the sequence of gene / parameter pairs between crossover points is exchanged (S2901).

図24に示した個体イの遺伝子型個体構造の枠で示した組の列を、図30に示した個体ロの遺伝子型個体構造の枠で示した組の列に交換することによって図31に示す個体ハの遺伝子型個体構造が得られる。図32は、パラメータを付加した個体ハの表現型のイメージを示す図である。   31 is replaced by the set of columns shown in the frame of the individual genotype individual structure shown in FIG. 30 by replacing the set of rows shown in the frame of the individual genotype individual structure shown in FIG. The genotype individual structure of the individual C shown is obtained. FIG. 32 is a diagram showing an image of the phenotype of an individual C to which a parameter is added.

図33は、突然変異処理の変更部分を示す図である。図18のS1804とS1807の間で、S1805とS1806に代えて以下の処理を行なう。置き換える代替遺伝子と代替パラメータの組の列を特定し(S3301)、突然変異範囲を代替遺伝子と代替パラメータの組の列に書き換える(S3302)。代替パラメータは、乱数等に基づいて不規則に生成する。   FIG. 33 is a diagram showing a changed part of the mutation process. The following processing is performed between S1804 and S1807 in FIG. 18 instead of S1805 and S1806. A replacement gene / substitution parameter pair column is specified (S3301), and the mutation range is rewritten to a replacement gene / substitution parameter pair column (S3302). The substitute parameter is generated irregularly based on a random number or the like.

本実施の形態では、生殖処理で遺伝子とパラメータを同時に操作し、両者の同時最適化を図ることができる。   In the present embodiment, genes and parameters can be manipulated simultaneously in reproductive processing, and both can be optimized simultaneously.

実施の形態3.
実施の形態2では、遺伝子とパラメータの組の列を生殖処理の対象としたが、遺伝子のみの列、あるいはパラメータのみの列を生殖処理の対象として組み合わせることもできる。
Embodiment 3 FIG.
In the second embodiment, the gene / parameter group sequence is the target of the reproductive process, but the gene-only sequence or the parameter-only sequence can also be combined as the reproductive process target.

その場合、図12に示した生殖処理に含まれる交叉処理(S1202)と突然変異処理(S1203)が、前述の実施の形態と異なる。   In that case, the crossover process (S1202) and the mutation process (S1203) included in the reproductive process shown in FIG. 12 are different from the above-described embodiment.

図34は、交叉処理の変更部分を示す図である。図13のS1304とS1306の間で、S1305に代えて以下の処理を行なう。交叉させる列として、遺伝子とパラメータの組の列、遺伝子の列、パラメータの列の別を決定する(S3401)。乱数等を基づいて、不規則に列の別を決定する。そして、その別に従って、交叉点間の交叉させる列を交換する(S3402)。   FIG. 34 is a diagram showing a changed part of the crossover process. The following processing is performed between S1304 and S1306 in FIG. 13 instead of S1305. As a column to be crossed, a gene / parameter group column, a gene column, and a parameter column are determined (S3401). Based on a random number or the like, the column is randomly determined. Then, according to the difference, the column to be crossed between the crossing points is exchanged (S3402).

図35は、突然変異処理の変更部分を示す図である。図18のS1804とS1807の間で、S1805とS1806に代えて以下の処理を行なう。前述と同様に、突然変異させる列として、遺伝子とパラメータの組の列、遺伝子の列、パラメータの列の別を決定する(S3501)。次に、列の別に従って、置き換える列となる、代替遺伝子と代替パラメータの組の列、代替遺伝子の列、あるいは代替パラメータの列を特定し(S3502)、列の別に従って、突然変異範囲の列を、代替列に書き換える(S3503)。   FIG. 35 is a diagram showing a changed part of the mutation process. The following processing is performed between S1804 and S1807 in FIG. 18 instead of S1805 and S1806. In the same manner as described above, a gene / parameter group column, a gene column, and a parameter column are determined as columns to be mutated (S3501). Next, an alternative gene / alternative parameter pair column, an alternative gene column, or an alternative parameter column to be replaced according to the column is identified (S3502), and the mutation range column is determined according to the column. Is replaced with an alternative column (S3503).

実施の形態4.
前述の実施の形態では、終端ノードに用いられる終端用遺伝子は連結数0とし、非終端ノードに用いられる非終端用遺伝子は連結数を1以上として、遺伝子テーブルで予め区別して定義したが、本実施の形態では、遺伝子テーブルで両者を区別せず、特定のファンクションを識別する遺伝子を終端ノードと非終端ノードの両方に用いる。また、遺伝子型個体構造で遺伝子に対応付けてノード種別を記憶し、このノード種別に従って、型変換処理(図6のS601)を行なう。
Embodiment 4 FIG.
In the above-described embodiment, the termination gene used for the terminal node is defined as the number of linkages of 0, and the non-terminal gene used for the non-terminal node is defined as the number of linkages of 1 or more. In the form, a gene for identifying a specific function is used for both a terminal node and a non-terminal node without distinguishing the two in the gene table. Further, the node type is stored in association with the gene in the genotype individual structure, and the type conversion process (S601 in FIG. 6) is performed according to the node type.

図36は、遺伝子テーブルの例を示す図である。本実施の形態の遺伝子は、すべて終端用と非終端用を兼ね、遺伝子が特定するファンクションで用いる入力データ数を、連結数として定義している。   FIG. 36 is a diagram illustrating an example of a gene table. The genes of the present embodiment are both terminal and non-terminal, and the number of input data used in the function specified by the gene is defined as the number of connections.

次に、本実施の形態における遺伝子型個体構造について説明する。図37は、個体ホの遺伝子型個体構造を示す図である。図に示すように、ノード種別と遺伝子の組(遺伝子情報に相当する。)の列として構成されている。ノード種別は、終端(t)と非終端(n)の2種類のいずれかを指定する。   Next, the genotype individual structure in the present embodiment will be described. FIG. 37 is a diagram showing the genotype individual structure of an individual e. As shown in the figure, it is configured as a sequence of node types and gene pairs (corresponding to gene information). The node type designates one of two types, terminal (t) and non-terminal (n).

本実施の形態における進化計算システムの構成と進化計算アルゴリズムによる学習処理のフローは、実施の形態1で示した図1と図3と同様である。   The configuration of the evolution calculation system and the learning processing flow by the evolution calculation algorithm in the present embodiment are the same as those in FIGS. 1 and 3 shown in the first embodiment.

本実施の形態では、図5に示した適応度計算部103の構成要素である型変換部501による型変換処理(図6のS602)が、前述の実施の形態と異なる。図38は、型変換処理の変更部分を示す図である。図7のS706とS709の間で、S707とS708に代えて以下の処理を行なう。遺伝子型個体構造から当該遺伝子のノード種別を取得し(S3801)、そのノード種別(S3802)が非終端(n)の場合には、遺伝子テーブルから当該遺伝子の連結数を取得して(S3803)、その連結数を用いる。一方、ノード種別(S3802)が終端(t)の場合には、連結数を0として(S3804)、以降の処理を行なう。   In the present embodiment, the type conversion processing (S602 in FIG. 6) by the type conversion unit 501 that is a component of the fitness calculation unit 103 shown in FIG. 5 is different from the above-described embodiment. FIG. 38 is a diagram illustrating a changed part of the type conversion process. Between S706 and S709 in FIG. 7, the following processing is performed instead of S707 and S708. The node type of the gene is acquired from the genotype individual structure (S3801). If the node type (S3802) is non-terminal (n), the number of linked genes is acquired from the gene table (S3803) Use the number of connections. On the other hand, when the node type (S3802) is the terminal (t), the number of connections is set to 0 (S3804), and the subsequent processing is performed.

図39に、個体ニの表現型個体構造の生成過程を示す。第1ノードでは、ノード種別が非終端(n)であるので、遺伝子テーブルの定義に従って、連結数を「2」とし、第一連結先ノードNoと第二連結先ノードNoに予約コードを設定する。これに対し、第3ノードでは、ノード種別が終端(t)であるので、遺伝子テーブルの定義には従わず、連結数を「0」とし、連結先ノードNoへの予約コードの設定は行なわない。このようにして、図40に示す個体ニの表現型個体構造が得られる。図41は、個体ニの表現型のイメージを示す図である。   FIG. 39 shows a process of generating a phenotype individual structure of an individual. In the first node, since the node type is non-terminal (n), the number of connections is set to “2” according to the definition of the gene table, and reservation codes are set in the first connection destination node No and the second connection destination node No. On the other hand, since the node type is the terminal (t) in the third node, the definition of the gene table is not followed, the number of connections is set to “0”, and the reservation code is not set to the connection destination node No. . In this way, the individual phenotype individual structure shown in FIG. 40 is obtained. FIG. 41 is a diagram showing an image of the phenotype of the individual D.

図12に示した生殖処理に含まれる交叉処理(S1202)と突然変異処理(S1203)が、前述の実施の形態と異なる。   The crossover process (S1202) and the mutation process (S1203) included in the reproductive process shown in FIG. 12 are different from the above-described embodiment.

図42は、交叉処理の変更部分を示す図である。図13のS1304とS1306の間で、S1305に代えて以下の処理を行なう。交叉させる列として、ノード種別と遺伝子の組の列、ノード種別の列、遺伝子の列の別を決定する(S4201)。列の別は、乱数等を基づいて不規則に決定する。そして、交叉点間の列を交換する(S4202)。   FIG. 42 is a diagram showing a changed part of the crossover process. The following processing is performed between S1304 and S1306 in FIG. 13 instead of S1305. As a column to be crossed, a node type / gene pair column, a node type column, and a gene column are determined (S4201). The columns are determined irregularly based on random numbers or the like. Then, the row between the crossing points is exchanged (S4202).

図43は、型変換処理の変更部分を示す図である。図18のS1804とS1807の間で、S1805とS1806に代えて以下の処理を行なう。突然変異させる列として、ノード種別と遺伝子の組の列、ノード種別の列、遺伝子の列の別を決定する(S4301)。この場合も、列の別は、乱数等を基づいて不規則に決定し、置き換える列となる、代替ノード種別と代替遺伝子の組の列、代替ノード種別の列、あるいは代替遺伝子の列を特定して(S4302)、突然変異範囲の列を代替列に書き換える(S4303)。代替ノード種別も、乱数等に基づいて不規則に生成する。   FIG. 43 is a diagram showing a changed part of the type conversion process. The following processing is performed between S1804 and S1807 in FIG. 18 instead of S1805 and S1806. As a column to be mutated, a node type / gene pair column, a node type column, and a gene column are determined (S4301). Also in this case, the column is determined irregularly based on random numbers, etc., and the column of the alternative node type and alternative gene pair, the column of the alternative node type, or the column of the alternative gene to be the replacement column is specified. (S4302), the mutation range column is rewritten to an alternative column (S4303). The alternative node type is also generated irregularly based on a random number or the like.

ここで、図37に示した個体ホの表現型個体構造のうち、第3ノードのノード種別を終端(t)から非終端(n)に置き換え、第8ノードのノード種別を非終端(n)から終端(t)に置き換える例について説明する。尚、突然変異させる列の要素数は1以上であり、要素単独つまり一つのノード種別を置き換える場合もある。   37, the node type of the third node is replaced from the terminal (t) to the non-terminal (n), and the node type of the eighth node is terminated from the non-terminal (n). An example of replacing with (t) will be described. Note that the number of elements in the column to be mutated is one or more, and there is a case where an element alone, that is, one node type is replaced.

このように、ノード種別を置き換えた個体ホの表現型個体構造は、図44のようになる。また、図45にこの表現型のイメージを示す。このイメージを、図41に示した個体ニの表現型のイメージと比較すると、現世代では、直列関係にあった上位のパーツ構造(4101)と下位のパーツ構造(4102)が、次世代では、ともに第3ノードに連結する並列関係となっていることがわかる。この例では、直列関係から並列関係に移行する例を示したが、ノード種別を逆に変化させれば、逆に並列関係から直列関係に移行するも起こり得ることは当然である。このように、ノード種別が変化することによって、パーツ構造(部分木)単位で配置関係がダイナミックに変化する。   In this way, the phenotype individual structure of the individual ho with the node type replaced is as shown in FIG. FIG. 45 shows an image of this phenotype. When this image is compared with the phenotypic image of the individual shown in FIG. 41, the upper part structure (4101) and the lower part structure (4102) that were in a serial relationship in the current generation, It can be seen that both are connected in parallel to the third node. In this example, an example of shifting from a serial relationship to a parallel relationship has been shown. However, if the node type is changed in reverse, it is naturally possible to shift from a parallel relationship to a serial relationship. As described above, when the node type changes, the arrangement relationship dynamically changes in parts structure (partial tree) units.

従来の生殖処理では、ノードとなる遺伝子自体の入れ替えが主な操作であり、ノード種別の変化によるパーツ構造の配置操作は行なわれない。
実施の形態5.
本実施の形態では、上述の技術を基礎に、更に生殖の多様性を高めた形態について説明する。その為、遺伝子型個体構造の発展的な一態様であるマトリクス型個体構造を採用する。この例によるマトリクス型個体構造では、レコード毎に遺伝子の候補を複数有し、選択的にいずれかの遺伝子を表現型個体構造に反映されるようになっている。また、終端と非終端の判断も、ノード種別の項目以外の指示項目を考慮して決定されるようになっている。
In the conventional reproductive process, the replacement of the gene itself as a node is the main operation, and the part structure placement operation due to the change of the node type is not performed.
Embodiment 5. FIG.
In the present embodiment, a form in which the diversity of reproduction is further enhanced based on the above-described technique will be described. For this reason, a matrix type individual structure, which is a developmental aspect of the genotype individual structure, is adopted. In the matrix type individual structure according to this example, each record has a plurality of gene candidates, and one of the genes is selectively reflected in the phenotype individual structure. The determination of termination and non-termination is also determined in consideration of instruction items other than the node type item.

図46は、実施の形態5に係る進化計算システムの構成を示す図である。上述の遺伝子型個体構造に代えて、マトリクス型個体構造を用いて動作する。   FIG. 46 is a diagram showing a configuration of the evolutionary computation system according to the fifth embodiment. Instead of the above-described genotype individual structure, it operates using a matrix type individual structure.

マトリクス型個体構造について説明する。図47は、マトリクス型個体構造の例を示す図である。レコード(遺伝子情報に相当する。)毎に、ノード種別、非終端ノード用遺伝子、非終端ノード用パラメータ、終端ノード用遺伝子、第一連結先終端指示、第二連結先終端指示、第一連結先終端用遺伝子、及び第二連結先終端用遺伝子を記憶している。以下、簡単に本構造の仕様について説明する。第1レコードでは、ノード種別が非終端(n)の場合には、非終端ノード用遺伝子と非終端ノード用パラメータを採用し、終端(t)の場合には、終端ノード用遺伝子を採用する。遺伝子の連結数は、前述と同様に遺伝子テーブルから取得し、連結数の分だけ連結先終端指示を判定する。連絡先終端指示がONの場合には、連結先を終端ノードとし、後の項目の連結先終端用遺伝子を採用する。連絡先終端指示がOFFの場合には、次のレコードのノード種別従って終端か非終端かを決定する。その場合には第1レコードの場合と同様に、非終端ノード用遺伝子と非終端ノード用パラメータ、あるいは終端ノード用遺伝子を採用する。   The matrix type individual structure will be described. FIG. 47 is a diagram illustrating an example of a matrix type individual structure. For each record (corresponding to gene information), node type, gene for non-terminal node, parameter for non-terminal node, gene for terminal node, first connection destination termination instruction, second connection destination termination instruction, first connection destination termination A gene and a second connection destination termination gene are stored. Hereinafter, the specification of this structure is demonstrated easily. In the first record, when the node type is non-terminal (n), the non-terminal node gene and the non-terminal node parameter are adopted, and when the node type is terminal (t), the terminal node gene is adopted. The number of linked genes is obtained from the gene table in the same manner as described above, and the link destination termination instruction is determined by the number of linked numbers. When the contact end instruction is ON, the connection destination is the end node, and the connection end gene of the subsequent item is adopted. When the contact termination instruction is OFF, the terminal type of the next record is determined according to the node type. In this case, as in the case of the first record, a non-terminal node gene and a non-terminal node parameter, or a terminal node gene is employed.

図47の上段のマトリクスでは、上述の各項目の定義を直接示す値(論理値)を記載したが、実際のマトリクス型個体構造には、図の下段のマトリクスのように、各項目の定義に必ずしも従わない値(実値)が格納されている。これらの実値は、その値が格納されている項目の定義に従うように論理値に解釈して用いられる。ノード種別であれば、実値が奇数の場合に終端(t)として扱い、偶数の場合に非終端(n)として扱う。遺伝子の項目、つまり非終端ノード用遺伝子、終端ノード用遺伝子、第一連結先終端用遺伝子、及び第二連結先終端用遺伝子であれば、遺伝子の識別数(この例では、G〜Lの6)の剰余により遺伝子を特定する。この例では、剰余が1の数値は「G」として扱い、同様に、2の場合は「H」として、3の場合は「I」として、4の場合は「J」として、5の場合は「K」として、0の場合は「L」としてそれぞれ扱う。非終端ノード用パラメータの項目の場合には、実値をパラメータの有効範囲に置き換えて用いる。この例では、パラメータを「1」、「2」、あるいは「3」の3つの値を有効値としているので、3の剰余によりパラメータを特定する。剰余が1の数値は「1」として扱い、同様に、2の場合は「2」として、0の場合は「3」としてそれぞれ扱う。第一連結先終端指示と第二連結先終端指示の項目であれば、実値が奇数の場合に「ON」として扱い、偶数の場合には「OFF」として扱う。   In the upper matrix of FIG. 47, values (logical values) that directly indicate the definition of each item described above are described. However, in the actual matrix type individual structure, the definition of each item is as in the lower matrix of the figure. A value (actual value) that does not necessarily follow is stored. These actual values are used after being interpreted as logical values in accordance with the definition of the item in which the values are stored. In the case of a node type, if the actual value is an odd number, it is treated as a terminal (t), and if it is an even number, it is treated as a non-terminal (n). If it is a gene item, that is, a non-terminal node gene, a terminal node gene, a first connection destination termination gene, and a second connection destination termination gene, the number of identified genes (in this example, 6 from GL) The gene is specified by the remainder. In this example, a numerical value with a remainder of 1 is treated as “G”. Similarly, in the case of 2, “H”, in the case of 3, “I”, in the case of 4, “J”, and in the case of 5 “K” is treated as “L” when 0. In the case of a parameter for a non-terminal node, the actual value is replaced with the effective range of the parameter. In this example, since three values “1”, “2”, or “3” are valid values, the parameter is specified by a remainder of 3. A numerical value with a remainder of 1 is treated as “1”. Similarly, a value of 2 is treated as “2”, and a value of 0 is treated as “3”. In the case of the items of the first connection destination termination instruction and the second connection destination termination instruction, when the actual value is an odd number, it is treated as “ON”, and when it is an even number, it is treated as “OFF”.

この例では、実値に対する各項目で採りうる論理値の数の剰余で、実値を論理値に変換する解釈方法を述べたが、他の方法によって解釈しても構わない。但し、各論理値に変換される確率が同一になる方法が望ましい。例えば、実値の設定範囲を1から12のように限定し、論理値の数分の層に分割し、各層毎に対応する論理値を割り当てる方法もある。例えば、実値の数12をパラメータの有効値の数3で割って、層の大きさを4と求め、実値の範囲1から4の層、5から8の層、9から12の層に分け、実値が1から4であればパラメータ「1」として扱い、実値が5から8であればパラメータ「2」として扱い、実値が9から12であればパラメータ「3」として扱う。   In this example, the interpretation method of converting the actual value to the logical value by the remainder of the number of logical values that can be taken for each item with respect to the actual value has been described, but it may be interpreted by other methods. However, a method in which the probability of conversion to each logical value is the same is desirable. For example, there is a method in which the setting range of the actual value is limited to 1 to 12, divided into layers of the number of logical values, and a corresponding logical value is assigned to each layer. For example, the actual value number 12 is divided by the parameter effective value number 3 to obtain the size of the layer as 4, and the actual value ranges from 1 to 4 layers, 5 to 8 layers, and 9 to 12 layers. If the actual value is 1 to 4, it is treated as parameter “1”, if the actual value is 5 to 8, it is treated as parameter “2”, and if the actual value is 9 to 12, it is treated as parameter “3”.

実値の設定範囲を設ける場合には、各論理値の期待値を一定にするために、各項目で採りうる論理値の数の最小公倍数(あるいは、最小公倍数の整数倍)を用いることが有効である。   When setting the actual value setting range, it is effective to use the least common multiple (or an integer multiple of the least common multiple) of the number of logical values that can be taken for each item in order to keep the expected value of each logical value constant. It is.

図48は、適応度計算部の構成を示す図である。遺伝子型個体構造に代えて、マトリクス型個体構造を型変換部501で表現型個体構造に変換する。表現型個体構造は、前述の実施の形態と同様である。   FIG. 48 is a diagram illustrating a configuration of the fitness calculation unit. Instead of the genotype individual structure, the matrix type individual structure is converted into a phenotype individual structure by the type conversion unit 501. The phenotype individual structure is the same as that of the above-described embodiment.

型変換部501による型変換処理について説明する。図49は、型変換部の構成を示す図である。型変換部501は、マトリクス型個体構造記憶部4901、ルート処理部4902、レコード読込部4903、終端ノード設定部4904、非終端ノード設定部4905、表現型固体構造記憶部4906、ノードNoインクリメント部4907、連結位置判定部4908、及び遺伝子判定部4909を有している。   The type conversion process by the type conversion unit 501 will be described. FIG. 49 is a diagram illustrating the configuration of the type conversion unit. The type conversion unit 501 includes a matrix type individual structure storage unit 4901, a route processing unit 4902, a record reading unit 4903, a terminal node setting unit 4904, a non-terminal node setting unit 4905, a phenotype solid structure storage unit 4906, a node No increment unit 4907, A connection position determination unit 4908 and a gene determination unit 4909 are included.

図50は、型変換処理のフローを示す図である。ルート処理部4902によるルート処理(S5001)では、ルートのノードの判定を行なう。以降は、ルートから順にノード毎に以下の処理を繰り返し(S5002)、連結位置判定部4908による連結位置判定処理(S5003)で連結位置が無くなるまで、ループ処理を繰り返す。遺伝子判定部4909による遺伝子判定処理(S5004)では、ノード種別、遺伝子等を判定し(S5005)、ノード種別が終端(t)の場合には、終端ノード設定部4904による終端ノード設定処理(S5006)で、終端ノードとしての設定を行い、一方非終端(n)の場合には、非終端ノード設定部4905による非終端ノード設定処理(S5007)で、非終端ノードとしての設定を行う。以下、各処理を詳述する。   FIG. 50 is a diagram showing a flow of type conversion processing. In route processing (S5001) by the route processing unit 4902, the node of the route is determined. Thereafter, the following processing is repeated for each node in order from the root (S5002), and the loop processing is repeated until there is no connection position in the connection position determination processing (S5003) by the connection position determination unit 4908. In the gene determination process (S5004) by the gene determination unit 4909, the node type, gene, and the like are determined (S5005). When the node type is the termination (t), the termination node setting process by the termination node setting unit 4904 (S5006) In the case of non-terminal (n), setting as a non-terminal node is performed in the non-terminal node setting process (S5007) by the non-terminal node setting unit 4905. Hereinafter, each process is explained in full detail.

まず、ルート処理(S5001)について説明する。図51は、ルート処理のフローを示す図である。まず、マトリクス型個体構造からのレコード読込処理を行なう(S5101)。具体的には、レコード読込部4903に対して読込みを指示し、レコードを取得する。レコード読込部4903では、読込み指示がある都度、マトリクス型個体構造から順次レコードを読み込み、引き渡す。また、問い合わせに応じて、引き渡した最新のレコードのNoを返答するように構成されている。ここでは、最初の読込み指示を受けるので、第1レコードをルート処理部4902に引き渡す。ルート処理部4902では、次に、読み込んだレコードのノード種別を判定し(S5102)、終端(t)の場合には、ノード種別として終端(t)を出力し、遺伝子として、読み込んだレコードの終端ノード用遺伝子を出力する(S5103)。一方、非終端(n)の場合には、ノード種別として非終端(n)を出力し、遺伝子として、読み込んだレコードの非終端ノード用遺伝子を出力し、パラメータとして、読み込んだレコードの非終端ノード用パラメータを出力する(S5104)。   First, route processing (S5001) will be described. FIG. 51 is a diagram showing a flow of route processing. First, record reading processing from the matrix type individual structure is performed (S5101). Specifically, the record reading unit 4903 is instructed to read, and a record is acquired. The record reading unit 4903 sequentially reads records from the matrix type individual structure and delivers them each time there is a read instruction. Further, it is configured to return the No of the latest delivered record in response to the inquiry. Here, since the first read instruction is received, the first record is delivered to the route processing unit 4902. Next, the route processing unit 4902 determines the node type of the read record (S5102). In the case of the end (t), the end (t) is output as the node type, and the end of the read record as a gene. The node gene is output (S5103). On the other hand, in the case of non-terminal (n), non-terminal (n) is output as the node type, the gene for the non-terminal node of the read record is output as the gene, and the parameter for the non-terminal node of the read record is output as the parameter (S5104).

終端ノード設定処理(S5006)について説明する。図52は、終端ノード設定処理のフローを示す図である。ルート処理部4902あるいは遺伝子判定部4909から出力された遺伝子を表現型個体構造の当該ノードのレコードに書き込み(S5201)、同じく当該ノードのレコードの連結数に0を書き込む(S5202)。   The termination node setting process (S5006) will be described. FIG. 52 is a diagram showing a flow of terminal node setting processing. The gene output from the route processing unit 4902 or the gene determination unit 4909 is written to the record of the node of the phenotype individual structure (S5201), and 0 is similarly written to the connection number of the record of the node (S5202).

非終端ノード設定処理(S5007)について説明する。図53は、非終端ノード設定処理のフローを示す図である。ルート処理部4902あるいは遺伝子判定部4909から出力された遺伝子に対応する連結数を、遺伝子テーブルから取得する(S5301)。そして、遺伝子とパラメータと連結数を、表現型個体構造の当該ノードのレコードに書き込む(S5302)。更に、当該ノードのレコードに含まれる連結数分の連結先ノードNoに、予約コードを書き込む(S5303)。また、レコード読込部4903に問い合わせて、レコード読込処理で読み込んだ最新のレコードNoを取得し、当該ノードのレコードのソースレコードNoに書き込む(S5304)。   The non-terminal node setting process (S5007) will be described. FIG. 53 is a diagram showing a flow of non-terminal node setting processing. The number of linkages corresponding to the gene output from the route processing unit 4902 or the gene determination unit 4909 is acquired from the gene table (S5301). Then, the gene, the parameter, and the number of connections are written in the record of the node of the phenotype individual structure (S5302). Further, the reservation code is written in the connection destination node numbers corresponding to the number of connections included in the record of the node (S5303). In addition, the record reading unit 4903 is inquired, the latest record No. read by the record reading process is acquired, and written in the source record No. of the record of the node (S5304).

図54は、個体ヘの表現型個体構造の生成過程を示す図である。第1レコードのノード種別が非終端(n)なので、非終端用遺伝子「J」と非終端用パラメータ「3」と連結数「2」を書き込み、2つの連結先ノードNoに予約コードを設定している。また、レコード読込処理で読み込んだレコードとしては、この時点で第1レコードが最新であるので、ソースレコードNoに「1」を設定している。   FIG. 54 is a diagram showing a process of generating a phenotype individual structure for an individual. Since the node type of the first record is non-terminal (n), the non-terminal gene “J”, the non-terminal parameter “3”, and the number of connections “2” are written, and reservation codes are set in the two connection destination nodes No. In addition, as the record read by the record reading process, the first record is the latest at this time, so “1” is set in the source record No.

続いて、連結位置判定処理(S5003)について説明する。図55は、連結位置判定処理のフローを示す図である。表現型個体構造の各レコード中の連結先ノードから、連結対象とする予約コードを特定する(S5501)。予約コードが無い場合には(S5502)、連結位置が無いことになるので、終了ステータスを「なし」として終了する(S5505)。予約コードはある場合には(S5502)、予約コードを当該ノードのNoに書き換え(S5503)、終了ステータスを「あり」として終了する(S5504)。   Next, the connection position determination process (S5003) will be described. FIG. 55 is a diagram showing a flow of a connection position determination process. A reservation code to be linked is specified from the linked nodes in each record of the phenotype individual structure (S5501). If there is no reservation code (S5502), since there is no connection position, the end status is set to “none” and the process ends (S5505). If there is a reservation code (S5502), the reservation code is rewritten to No of the node (S5503), and the end status is set to “Yes” and the process ends (S5504).

続いて、遺伝子判定処理(S5004)について説明する。図56と図57は、遺伝子判定処理のフローを示す図である。まず、連結対象となった予約コードのレコードに含まれるソースレコードNoを読み込む(S5601)。図54の第2ノードの遺伝子を判定する場合には、連結対象となった予約コードのレコードは、第1ノードのレコードであり、そのレコードに含まれるソースレコードNoは「1」である。次に、マトリクス型個体構造のソースレコードNoに対応するソースレコードを特定する(S5602)。第2ノードの例では、図47のマトリクス型個体構造の第1レコードを特定することになる。次に、そのソースレコードから連絡先終端指示を読み込む。このとき、連結対象となった予約コードが第一連結先ノードNoの場合は、第一連絡先終端指示を読み込み、同予約コードが第二連結先ノードNoの場合は、第二連絡先終端指示を読み込む(S5603)。第2ノードの例では、図54に示すように、予約コードが設定されていた第一連結先ノードNoに連結したので、マトリクス型個体構造の第1レコードの第一連絡先終端指示「ON」を読み込む。   Next, the gene determination process (S5004) will be described. 56 and 57 are diagrams showing a flow of gene determination processing. First, the source record No. included in the record of the reservation code to be linked is read (S5601). When determining the gene of the second node in FIG. 54, the record of the reservation code that is the connection target is the record of the first node, and the source record No. included in the record is “1”. Next, the source record corresponding to the source record No of the matrix type individual structure is specified (S5602). In the example of the second node, the first record of the matrix type individual structure of FIG. 47 is specified. Next, the contact termination instruction is read from the source record. At this time, if the reservation code to be connected is the first connection destination node No, the first contact end instruction is read, and if the reservation code is the second connection destination node No, the second contact end instruction is read. Is read (S5603). In the example of the second node, as shown in FIG. 54, since it is connected to the first connection destination node No in which the reservation code is set, the first contact end instruction “ON” of the first record of the matrix type individual structure Is read.

読み込んだ連絡先終端指示が「ON」であれば(S5604)、ソースレコードから連絡先終端ノード用遺伝子を読み込む。このとき、第一連絡先終端指示で判断した場合は、第一連絡先終端ノード用遺伝子を読み込み、第二連絡先終端指示で判断した場合は、第二連絡先終端ノード用遺伝子を読み込む(S5605)。そして、ノード種別として、終端(t)を出力し、遺伝子として、連絡先終端ノード用遺伝子を出力する(S5606)。第2ノードの例では、終端(t)と第一連結先終端ノード用遺伝子「G」を出力することになる。   If the read contact end instruction is “ON” (S5604), the contact end node gene is read from the source record. At this time, if it is determined by the first contact termination instruction, the first contact termination node gene is read. If it is determined by the second contact termination instruction, the second contact termination node gene is read (S5605). ). Then, the terminal type (t) is output as the node type, and the contact terminal node gene is output as the gene (S5606). In the example of the second node, the end (t) and the first connection destination end node gene “G” are output.

一方、読み込んだ連絡先終端指示が「OFF」であれば(S5604)、マトリクス型個体構造からのレコード読込処理(S5607)により次のレコードを取得する。読み込んだレコードのノード種別が終端(t)の場合には(S5608)、ノード種別として終端(t)を出力し、遺伝子として、読み込んだレコードの終端ノード用遺伝子を出力する(S5609)。読み込んだレコードのノード種別が非終端(n)の場合には(S5608)、ノード種別として非終端(n)を出力し、遺伝子として、読み込んだレコードの非終端ノード用遺伝子を出力し、パラメータとして、読み込んだレコードの非終端ノード用パラメータを出力する(S5610)。   On the other hand, if the read contact termination instruction is “OFF” (S5604), the next record is acquired by the record reading process (S5607) from the matrix type individual structure. If the node type of the read record is the end (t) (S5608), the end (t) is output as the node type, and the end node gene of the read record is output as the gene (S5609). When the node type of the read record is non-terminal (n) (S5608), the non-terminal (n) is output as the node type, the gene for the non-terminal node of the read record is output as the gene, and is read as a parameter The non-terminal node parameter of the record is output (S5610).

尚、図47のマトリクス型個体構造の中で網掛け部分は、遺伝子判定処理(S5004)で用いられた要素を示している。それ以外の部分は、判定に使用されていない。   In the matrix-type individual structure of FIG. 47, the shaded portion indicates the elements used in the gene determination process (S5004). The other parts are not used for determination.

このようにして、図58に示す個体ヘの表現型個体構造が得られる。図59は、個体ヘの表現型のイメージを示す図である。   In this way, the phenotype individual structure for the individual shown in FIG. 58 is obtained. FIG. 59 is a diagram showing a phenotype image of an individual.

図12に示した生殖処理に含まれる交叉処理(S1202)と突然変異処理(S1203)が、前述の実施の形態と異なる。   The crossover process (S1202) and the mutation process (S1203) included in the reproductive process shown in FIG. 12 are different from the above-described embodiment.

図60は、交叉処理のフローを示す図である。交叉処理では、図61に示す交叉処理のイメージのように、同じサイズのブロック同士(6103,6104)を交換する。ブロックは、マトリクス(6101,6102)の一部であって、少なくとも小さいほうのマトリクス以下のサイズである。   FIG. 60 is a diagram showing a flow of crossover processing. In the crossover process, blocks of the same size (6103, 6104) are exchanged as in the crossover process image shown in FIG. The block is a part of the matrix (6101, 6102) and is at least the size of the smaller matrix.

所定の個体数を得るまで、ブロックを交換する処理を繰り返す(S6001)。交叉させる2つの個体を特定し(S6002)、交叉ブロックのサイズを特定する(S6003)。交叉ブロックのサイズは、行数と列数(レコード数と項目数)によって表される。ブロックの行数は、1以上かつ特定した2つの個体のマトリクスの行数のうち少ない方の行数(小側行数)以下の範囲で、ブロックの列数は、1以上かつマトリクスの列数以下の範囲で、それぞれ独立して乱数等を用いて不規則に決める。次に、このサイズに従って、2つの個体それぞれに、交叉ブロックを特定する(S6004)。具体的には、小側行数からブロックの行数を差し引いて、差分行数を求め、1から差分行数+1の範囲で、乱数等を用いて不規則にブロック開始行を決める。また、マトリクスの列数からブロックの列数を差し引いて、差分列数を求め、1から差分列数+1の範囲で、乱数等を用いて不規則にブロック開始列を決める。そして、交叉ブロックを交換する(S6005)。具体的には、ブロック開始行からブロックの行数分の行と、ブロック開始列からブロックの列数分の列からなるブロック同士を交換する。交換したマトリクスから交叉により得る個体を特定する(S6006)。一般的には、2つとも次世代に残すが、一方のみを選択して残してもよい。最終的に、所定の個体数を得た時点で終了する(S6007)。   The process of exchanging blocks is repeated until a predetermined number of individuals is obtained (S6001). Two individuals to be crossed are specified (S6002), and the size of the cross block is specified (S6003). The size of the crossing block is represented by the number of rows and the number of columns (the number of records and the number of items). The number of rows in the block is in the range of 1 or more and less than the number of rows in the matrix of the two specified individuals (the number of small side rows), and the number of columns in the block is 1 or more and the number of columns in the matrix In the following ranges, each is determined randomly using random numbers or the like. Next, a cross block is specified for each of the two individuals according to this size (S6004). Specifically, the difference row number is obtained by subtracting the block row number from the minor row number, and the block start row is determined irregularly using random numbers or the like in the range of 1 to the difference row number + 1. Further, the number of difference columns is obtained by subtracting the number of columns of the block from the number of columns of the matrix, and the block start sequence is determined irregularly using random numbers or the like in the range of 1 to the number of difference columns + 1. Then, the crossing block is exchanged (S6005). Specifically, the blocks composed of the number of rows from the block start row and the number of columns from the block start column are exchanged. An individual obtained by crossover from the exchanged matrix is specified (S6006). In general, both are left for the next generation, but only one may be selected and left. Finally, the process ends when a predetermined number of individuals is obtained (S6007).

図62は、突然変異処理のフローを示す図である。突然変異処理では、図63に示す突然変異処理のイメージのように、マトリクス(6301)内のブロック(6303)を任意の代替ブロック(6302)に置き換える。ブロック(6303)は、マトリクス(6301)の一部であって、少なくともマトリクスよりも小さいサイズである。   FIG. 62 is a diagram showing a flow of mutation processing. In the mutation process, the block (6303) in the matrix (6301) is replaced with an arbitrary substitute block (6302) as in the image of the mutation process shown in FIG. The block (6303) is a part of the matrix (6301) and is at least smaller than the matrix.

所定の個体数を得るまで、ブロックを置き換える処理を繰り返す(S6201)。まず、突然変異処理させる個体を特定する(S6202)。次に、突然変異ブロックのサイズを特定する(S6203)。突然変異ブロックのサイズは、行数と列数(レコード数と項目数)によって表される。ブロックの行数は、1以上かつ特定した個体のマトリクスの行数以下の範囲で、ブロックの列数は、1以上かつマトリクスの列数以下の範囲で、それぞれ独立して乱数等を用いて不規則に決める。次に、個体の突然変異ブロックを特定する(S6204)。具体的には、マトリクスの行数からブロックの行数を差し引いて、差分行数を求め、1から差分行数+1の範囲で、乱数等を用いて不規則にブロック開始行を決める。また、マトリクスの列数からブロックの列数を差し引いて、差分列数を求め、1から差分列数+1の範囲で、乱数等を用いて不規則にブロック開始列を決める。次に、置き換える代替ブロックを特定する(S6205)。代替ブロックは、突然変異ブロックと同じ大きさであって、有効範囲の値を乱数等を用いて不規則に求めて、無作為に配置してものである。そして、突然変異ブロックを代替ブロックに置き換える(S6206)。最終的に、所定の個体数を得た時点で終了する(S6207)。   The process of replacing blocks is repeated until a predetermined number of individuals is obtained (S6201). First, an individual to be mutated is identified (S6202). Next, the size of the mutation block is specified (S6203). The size of the mutation block is represented by the number of rows and the number of columns (the number of records and the number of items). The number of rows in the block is in the range of 1 or more and less than or equal to the number of rows of the specified individual matrix, and the number of columns in the block is in the range of 1 or more and less than or equal to the number of columns in the matrix. Decide on rules. Next, an individual mutation block is identified (S6204). Specifically, the number of differential rows is obtained by subtracting the number of rows of blocks from the number of rows of the matrix, and the block start rows are determined irregularly using random numbers or the like in the range of 1 to the number of differential rows + 1. Further, the number of difference columns is obtained by subtracting the number of columns of the block from the number of columns of the matrix, and the block start sequence is determined irregularly using random numbers or the like in the range of 1 to the number of difference columns + 1. Next, an alternative block to be replaced is specified (S6205). The replacement block is the same size as the mutation block, and the values in the valid range are randomly obtained by using random numbers or the like and randomly arranged. Then, the mutated block is replaced with a substitute block (S6206). Finally, the process is terminated when a predetermined number of individuals is obtained (S6207).

実施の形態6.
実施の形態5では、各要素の大きさ、つまり各項目長を同一にして、交叉処理及び突然変異処理では、要素単位でブロックを設定した。本実施の形態では、各項目長を別個に定め、ビット単位のブロックを交叉処理及び突然変異処理の対象とする例について説明する。
Embodiment 6 FIG.
In the fifth embodiment, the size of each element, that is, the length of each item is made the same, and in the crossover process and the mutation process, a block is set for each element. In the present embodiment, an example will be described in which each item length is determined separately and a block in bit units is subjected to crossover processing and mutation processing.

例えば、ノード種別には1ビット、非終端ノード用遺伝子には4ビット、非終端ノード用パラメータには2ビット、終端ノード用遺伝子には4ビット、第一連結先終端指示と第二連結先終端指示にはそれぞれ1ビット、第一連結先終端用遺伝子と第二連結先終端用遺伝子にはそれぞれ4ビットを割り当て、レコード長を21ビットとしてマトリクス型個体構造を記述する。そして、項目毎にビット構造によって論理値を特定する。   For example, the node type is 1 bit, the non-terminal node gene is 4 bits, the non-terminal node parameter is 2 bits, the terminal node gene is 4 bits, the first connection destination termination instruction and the second connection destination termination instruction. 1 bit each, 4 bits are assigned to each of the first linkage destination termination gene and the second linkage destination termination gene, and the matrix type individual structure is described with a record length of 21 bits. Then, a logical value is specified by a bit structure for each item.

図60に示した交叉処理について説明する。交叉ブロックサイズの特定では(S6003)、サイズを、行数(レコード数)とビット数によって表す。ブロックのビット数は、1以上かつマトリクスのビット数以下の範囲で、乱数等を用いて不規則に決める。交叉ブロックの特定では(S6004)。マトリクスのビット数からブロックのビット数を差し引いて、差分ビット数を求め、1から差分ビット数+1の範囲で、乱数等を用いて不規則にブロック開始ビットを決める。交叉ブロックの交換では(S6005)、ブロック開始行からブロックの行数分の行と、ブロック開始ビットからブロックのビット数分のビット列からなるブロック同士を交換する。   The crossover process shown in FIG. 60 will be described. In specifying the crossing block size (S6003), the size is represented by the number of rows (number of records) and the number of bits. The number of bits of the block is irregularly determined using random numbers or the like within a range of 1 or more and less than the number of bits of the matrix. In specifying the crossing block (S6004). The number of bits of the block is subtracted from the number of bits of the matrix to obtain the number of difference bits, and the block start bit is determined irregularly using random numbers or the like in the range of 1 to the number of difference bits + 1. In the exchange of crossing blocks (S6005), the blocks composed of the number of rows from the block start row and the bit string from the block start bit to the number of bits of the block are exchanged.

図62に示した突然変異処理について説明する。突然変異ブロックサイズの特定では(S6203)、サイズを、行数(レコード数)とビット数によって表す。ブロックのビット数は、1以上かつマトリクスのビット数以下の範囲で、乱数等を用いて不規則に決める。突然変異ブロックの特定では(S6204)、マトリクスのビット数からブロックのビット数を差し引いて、差分ビット数を求め、1から差分ビット数+1の範囲で、乱数等を用いて不規則にブロック開始ビットを決める。代替ブロックの特定では(S6205)、
乱数等を用いて不規則に各ビットを定める。
The mutation process shown in FIG. 62 will be described. In specifying the mutation block size (S6203), the size is represented by the number of rows (number of records) and the number of bits. The number of bits of the block is irregularly determined using random numbers or the like within a range of 1 or more and less than the number of bits of the matrix. In specifying the mutation block (S6204), the number of bits of the block is subtracted from the number of bits of the matrix to obtain the difference bit number, and the block start bit is irregularly set using a random number or the like in the range of 1 to the difference bit number + 1. Decide. In specifying the replacement block (S6205),
Each bit is determined irregularly using a random number or the like.

ブロックとして矩形エリアの例を示したが、ブロックは矩形エリアでなくてもよい。形状は任意であり、交叉させるブロック同士が同一サイズで同一形状であれば足りる。複数のレコードに跨る点に特徴がある。   Although an example of a rectangular area is shown as a block, the block may not be a rectangular area. The shape is arbitrary, and it is sufficient if the blocks to be crossed have the same size and the same shape. It is characterized in that it spans multiple records.

本発明では、構造と数値の同時最適化を図ることができるとともに、表現型をコンパクト化している。従来は、ファンクションを連ねて実現していた機能を、パラメータを用いて単一のファンクションで実装することができるからである。   In the present invention, the structure and numerical values can be optimized simultaneously, and the phenotype is made compact. This is because functions that have been realized by connecting functions in the past can be implemented by a single function using parameters.

従来の進化計算の場合、遺伝的アルゴリズムであっても、遺伝的プログラミングであっても、個体の遺伝情報がすべて表現型に置き換わるのに対して、本発明では、表現型を特定する情報を保持する部分(「エクソン」と呼ぶ。)以外に、表現型に影響を与えない部分(「イントロン」と呼ぶ。)を有している。これにより、潜在的な資質も次世代に引き継ぐことができる。   In the case of conventional evolutionary computation, all genetic information of an individual is replaced with a phenotype regardless of whether it is a genetic algorithm or genetic programming. In the present invention, information that specifies a phenotype is retained. In addition to the portion (referred to as “exon”), the portion that does not affect the phenotype (referred to as “intron”) is included. As a result, potential qualities can be passed on to the next generation.

進化計算システムは、コンピュータであり、各要素はプログラムにより処理を実行することができる。また、プログラムを記憶媒体に記憶させ、記憶媒体からコンピュータに読み取られるようにすることができる。   The evolutionary computing system is a computer, and each element can execute processing by a program. Further, the program can be stored in a storage medium so that the computer can read the program from the storage medium.

進化計算システムの構成を示す図である。It is a figure which shows the structure of an evolution calculation system. 遺伝子テーブルの例を示す図である。It is a figure which shows the example of a gene table. 進化計算アルゴリズムによる学習処理のフローを示す図である。It is a figure which shows the flow of the learning process by an evolution calculation algorithm. 個体イの遺伝子型個体構造を示す図である。It is a figure which shows the genotype individual structure of individual i. 適応度計算部の構成を示す図である。It is a figure which shows the structure of a fitness calculation part. 適応度計算処理のフローを示す図である。It is a figure which shows the flow of a fitness calculation process. 型変換処理のフローを示す図である。It is a figure which shows the flow of a type conversion process. 個体イの表現型個体構造の生成過程を示す図である。It is a figure which shows the production | generation process of the phenotype individual structure of individual i. 個体イの表現型個体構造を示す図である。It is a figure which shows the phenotype individual structure of individual i. 個体イの表現型のイメージを示す図である。It is a figure which shows the image of the phenotype of individual i. 個体演算処理のフローを示す図である。It is a figure which shows the flow of an individual calculation process. 生殖処理のフローを示す図である。It is a figure which shows the flow of a reproductive process. 交叉処理のフローを示す図である。It is a figure which shows the flow of a crossover process. 個体ロの遺伝子型個体構造を示す図である。It is a figure which shows the genotype individual structure of an individual. 個体ロの表現型のイメージを示す図である。It is a figure which shows the image of the phenotype of an individual. 個体ハの遺伝子型個体構造を示す図である。It is a figure which shows the genotype individual structure of individual C. 個体ハの表現型のイメージを示す図である。It is a figure which shows the image of the phenotype of individual C. 突然変異処理のフローを示す図である。It is a figure which shows the flow of a mutation process. 延命処理のフローを示す図である。It is a figure which shows the flow of a life extension process. 個体イのLispのS式を示す図である。It is a figure which shows S type | formula of individual Lisp. 個体ロのLispのS式を示す図である。It is a figure which shows S type | formula of Lisp of an individual. 交叉したLispのS式を示す図である。It is a figure which shows S type | formula of Lisp which crossed. 個体ハのLispのS式を示す図である。It is a figure which shows S type | formula of Lisp of an individual C. パラメータを付加した個体イの遺伝子型個体構造を示す図である。It is a figure which shows the genotype individual structure of the individual (a) which added the parameter. 型変換処理の変更部分を示す図である。It is a figure which shows the change part of a type conversion process. パラメータを付加した個体イの表現型個体構造を示す図である。It is a figure which shows the phenotype individual structure of the individual (a) which added the parameter. パラメータを付加した個体イの表現型のイメージを示す図である。It is a figure which shows the image of the phenotype of the individual i which added the parameter. 個体演算処理の変更部分を示す図である。It is a figure which shows the change part of an individual calculation process. 交叉処理の変更部分を示す図である。It is a figure which shows the change part of a crossover process. パラメータを付加した個体ロの遺伝子型個体構造を示す図である。It is a figure which shows the genotype individual structure of the individual | tissue which added the parameter. パラメータを付加した個体ハの遺伝子型個体構造を示す図である。It is a figure which shows the genotype individual structure of the individual C which added the parameter. パラメータを付加した個体ハの表現型のイメージを示す図である。It is a figure which shows the image of the phenotype of the individual C which added the parameter. 突然変異処理の変更部分を示す図である。It is a figure which shows the changed part of a mutation process. 交叉処理の変更部分を示す図である。It is a figure which shows the change part of a crossover process. 突然変異処理の変更部分を示す図である。It is a figure which shows the changed part of a mutation process. 遺伝子テーブルの例を示す図である。It is a figure which shows the example of a gene table. 個体ホの遺伝子型個体構造を示す図である。It is a figure which shows the genotype individual structure of the individual e. 型変換処理の変更部分を示す図である。It is a figure which shows the change part of a type conversion process. 個体ニの表現型個体構造の生成過程を示す図である。It is a figure which shows the production | generation process of the phenotype individual structure of an individual. 個体ニの表現型個体構造を示す図である。It is a figure which shows the phenotype individual structure of an individual D. 個体ニの表現型のイメージを示す図である。It is a figure which shows the image of the phenotype of an individual D. 交叉処理の変更部分を示す図である。It is a figure which shows the change part of a crossover process. 型変換処理の変更部分を示す図である。It is a figure which shows the change part of a type conversion process. 個体ホの表現型個体構造を示す図である。It is a figure which shows the phenotype individual structure of the individual e. 個体ホの表現型のイメージを示す図である。It is a figure which shows the image of the phenotype of individual ho. 実施の形態5に係る進化計算システムの構成を示す図である。FIG. 10 is a diagram illustrating a configuration of an evolutionary computation system according to a fifth embodiment. マトリクス型個体構造の例を示す図である。It is a figure which shows the example of a matrix type individual structure. 適応度計算部の構成を示す図である。It is a figure which shows the structure of a fitness calculation part. 型変換部の構成を示す図である。It is a figure which shows the structure of a type | mold conversion part. 型変換処理のフローを示す図である。It is a figure which shows the flow of a type conversion process. ルート処理のフローを示す図である。It is a figure which shows the flow of a route process. 終端ノード設定処理のフローを示す図である。It is a figure which shows the flow of a termination | terminus node setting process. 非終端ノード設定処理のフローを示す図である。It is a figure which shows the flow of a non-terminal node setting process. 個体ヘの表現型個体構造の生成過程を示す図である。It is a figure which shows the production | generation process of the phenotype individual structure to an individual. 連結位置判定処理のフローを示す図である。It is a figure which shows the flow of a connection position determination process. 遺伝子判定処理のフロー(1/2)を示す図である。It is a figure which shows the flow (1/2) of a gene determination process. 遺伝子判定処理のフロー(2/2)を示す図である。It is a figure which shows the flow (2/2) of a gene determination process. 個体ヘの表現型個体構造を示す図である。It is a figure which shows the phenotype individual structure to an individual. 個体ヘの表現型のイメージを示す図である。It is a figure which shows the image of the phenotype to an individual | organism | solid. 交叉処理のフローを示す図である。It is a figure which shows the flow of a crossover process. 交叉処理のイメージを示す図である。It is a figure which shows the image of a crossover process. 突然変異処理のフローを示す図である。It is a figure which shows the flow of a mutation process. 突然変異処理のイメージを示す図である。It is a figure which shows the image of a mutation process.

符号の説明Explanation of symbols

101 初期個体入力部、102 個体集団記憶部、103 適応度計算部、104 遺伝子テーブル、105 適応度記憶部、106 個体選択部、107 選択個体記憶部、108 生殖部、109 学習個体出力部、501 型変換部、502 個体演算部、503 データ比較部、4901 マトリクス型個体構造記憶部、4902 ルート処理部、4903 レコード読込部、4904 終端ノード設定部、4905 非終端ノード設定部、4906 表現型固体構造記憶部、4907 ノードNoインクリメント部、4908 連結位置判定部、4909 遺伝子判定部。
101 initial individual input unit, 102 individual group storage unit, 103 fitness calculation unit, 104 gene table, 105 fitness storage unit, 106 individual selection unit, 107 selected individual storage unit, 108 reproductive unit, 109 learning individual output unit, 501 Type conversion unit, 502 Individual operation unit, 503 Data comparison unit, 4901 Matrix type individual structure storage unit, 4902 Route processing unit, 4903 Record reading unit, 4904 Terminal node setting unit, 4905 Non-terminal node setting unit, 4906 Expression type solid structure storage Part, 4907 node No increment part, 4908 connection position determination part, 4909 gene determination part.

Claims (8)

ファンクションを識別する遺伝子を含む遺伝子情報が連続する遺伝子型個体構造情報を用いて進化計算を行なう進化計算システムであって、以下の要素を有することを特徴とする進化計算システム
(1)同一世代に係る個体集団の要素である各個体の遺伝子型個体構造情報を記憶する個体集団記憶部
(2)遺伝子に対応付けて、当該遺伝子により特定されるファンクションが入力するデータの数を連結数として定義する遺伝子テーブル
(3)遺伝子型個体構造情報に含まれる遺伝子を順次読込み、当該遺伝子の連結数を遺伝子テーブルから取得し、連結数を満たすように連結先のノードとなる遺伝子を特定し、遺伝子間の連結関係を記述する表現型個体構造情報を生成し、学習用入力データを入力して、表現型個体構造情報によって特定される遺伝子の連結関係に従って、各遺伝子により特定されるファンクションによる演算を順次実行して個体演算出力データを求め、個体演算出力データを学習用目標データと比較して、個体毎の適応度を計算する適応度計算部
(4)適応度に基づいて、個体集団から個体を選択する個体選択部
(5)選択した個体の遺伝子型個体構造情報に対して、複数の個体間で一部の情報を交換する交叉処理、あるいは一部の情報を変化させる突然変異処理を行い、次世代の個体集団の要素となる各個体の遺伝子型個体構造情報を求め、個体集団記憶部に記憶させる生殖部。
An evolutionary computation system that performs evolutionary computation using genotypic individual structure information in which genetic information including a gene that identifies a function is continuous, and has the following elements: (1) In the same generation An individual population storage unit (2) that stores genotype individual structure information of each individual that is an element of the individual population. The number of data input by the function specified by the gene is defined as the number of connections. Gene table (3) Sequentially reads genes included in genotype individual structure information, obtains the number of linked genes from the gene table, identifies the genes to be linked nodes to satisfy the linked number, and Generates phenotypic individual structure information that describes connectivity, inputs learning input data, and is identified by phenotypic individual structure information Adaptation that calculates individual fitness output data by comparing individual computation output data with learning target data by sequentially performing computations with functions specified by each gene according to the gene connection relationship. Degree calculation unit (4) individual selection unit for selecting an individual from an individual population based on fitness (5) part of information is exchanged between a plurality of individuals for the genotype individual structure information of the selected individual A reproductive unit that performs crossover processing or mutation processing that changes some information, obtains genotype individual structure information of each individual that is an element of the next generation individual population, and stores it in the individual population storage unit.
遺伝子型個体構造情報の遺伝子情報は、更に当該遺伝子に付加されたパラメータを含み、
適応度計算部は、遺伝子により特定されるファンクションによる演算を実行する際に、当該遺伝子に付加されているパラメータを用いて演算を実行することを特徴とする請求項1記載の進化計算システム。
The genetic information of the genotype individual structure information further includes parameters added to the gene,
The evolution calculation system according to claim 1, wherein the fitness calculation unit executes the calculation using a parameter added to the gene when performing the calculation based on the function specified by the gene.
遺伝子型個体構造情報の遺伝子情報は、更に当該遺伝子が連結関係を構成するノードとなる際に終端ノードとなるか非終端ノードとなるかの別を示すノード種別を含み、
適応度計算部は、遺伝子間の連結関係を記述する表現型個体構造情報を生成する際に、遺伝子のノード種別が終端ノードの別を示す場合には、当該遺伝子の連結数を0とすることを特徴とする請求項1記載の進化計算システム。
The genetic information of the genotype individual structure information further includes a node type indicating whether the gene is a terminal node or a non-terminal node when the gene is a node constituting a connection relationship,
When generating the phenotype individual structure information describing the linkage relationship between genes, the fitness calculation unit sets the number of linked genes to 0 when the node type of the gene indicates the end node. The evolution calculation system according to claim 1, wherein:
遺伝子型個体構造情報の遺伝子情報は、少なくとも遺伝子と、当該遺伝子に付加されたパラメータと、当該遺伝子が連結関係を構成するノードとなる際に終端ノードとなるか非終端ノードとなるかの別を示すノード種別の項目を含むレコードであり、遺伝子型個体構造情報は、レコードと項目からなるマトリクスを構成するマトリクス型個体構造情報であって、
生殖部は、マトリクスの一部として複数のレコードに跨るブロックを交換する交叉処理、あるいはマトリクスの一部として複数のレコードに跨るブロックを変化させる突然変異処理を行うことを特徴とする請求項1記載の進化計算システム。
The genetic information of the genotype individual structure information indicates at least a gene, a parameter added to the gene, and whether it becomes a terminal node or a non-terminal node when the gene becomes a node constituting a connection relationship. It is a record that includes an item of node type, the genotype individual structure information is matrix type individual structure information constituting a matrix composed of records and items,
The reproductive part performs a crossover process for exchanging a block across a plurality of records as a part of a matrix or a mutation process for changing a block across a plurality of records as a part of a matrix. Evolutionary computing system.
遺伝子型個体構造情報の遺伝子情報は、少なくとも遺伝子を示すビット構成と、当該遺伝子に付加されたパラメータを示すビット構成と、当該遺伝子が連結関係を構成するノードとなる際に終端ノードとなるか非終端ノードとなるかの別を示すノード種別を示すビット構成を含むレコードであり、遺伝子型個体構造情報は、レコードとビットからなるマトリクスを構成するマトリクス型個体構造情報であって、
生殖部は、マトリクスの一部として複数のレコードに跨るブロックを交換する交叉処理、あるいはマトリクスの一部として複数のレコードに跨るブロックを変化させる突然変異処理を行うことを特徴とする請求項1記載の進化計算システム。
The genetic information of the genotype individual structure information includes at least a bit configuration indicating a gene, a bit configuration indicating a parameter added to the gene, and a terminal node or non-terminal when the gene becomes a node constituting a connection relationship It is a record including a bit configuration indicating a node type indicating whether it is a node, and the genotype individual structure information is matrix type individual structure information constituting a matrix composed of records and bits,
The reproductive part performs a crossover process for exchanging a block across a plurality of records as a part of a matrix or a mutation process for changing a block across a plurality of records as a part of a matrix. Evolutionary computing system.
同一世代に係る個体集団の要素である各個体について、ファンクションを識別する遺伝子を含む遺伝子情報が連続する遺伝子型個体構造情報を記憶する個体集団記憶部と、遺伝子に対応付けて、当該遺伝子により特定されるファンクションが入力するデータの数を連結数として定義する遺伝子テーブルを有し、遺伝子型個体構造情報を用いて進化計算を行な進化計算システムによる進化計算方法であって、以下の要素を有することを特徴とする進化計算方法
(1)遺伝子型個体構造情報に含まれる遺伝子を順次読込み、当該遺伝子の連結数を遺伝子テーブルから取得し、連結数を満たすように連結先のノードとなる遺伝子を特定し、遺伝子間の連結関係を記述する表現型個体構造情報を生成し、学習用入力データを入力して、表現型個体構造情報によって特定される遺伝子の連結関係に従って、各遺伝子により特定されるファンクションによる演算を順次実行して個体演算出力データを求め、個体演算出力データを学習用目標データと比較して、個体毎の適応度を計算する適応度計算工程
(2)適応度に基づいて、個体集団から個体を選択する個体選択工程
(3)選択した個体の遺伝子型個体構造情報に対して、複数の個体間で一部の情報を交換する交叉処理、あるいは一部の情報を変化させる突然変異処理を行い、次世代の個体集団の要素となる各個体の遺伝子型個体構造情報を求め、個体集団記憶部に記憶させる生殖工程。
For each individual that is an element of an individual group related to the same generation, an individual group storage unit that stores genotype individual structure information in which genetic information including a gene that identifies a function is continuous, and an associated gene and specified by the gene An evolution calculation method using an evolution calculation system that has a gene table that defines the number of data input by the function to be input as the number of connections and performs evolution calculation using genotype individual structure information, and has the following elements (1) The genes included in the genotype individual structure information are sequentially read, the number of linkages of the genes is obtained from the gene table, and the genes that are the nodes to be linked to satisfy the number of linkages are obtained. Identify and generate phenotypic individual structure information that describes the linkage between genes, input learning data, According to the linkage relationship of the genes specified in the report, the calculation by the function specified by each gene is sequentially executed to obtain the individual calculation output data, and the individual calculation output data is compared with the target data for learning, and the adaptation for each individual (2) Individual selection step for selecting an individual from an individual population based on fitness (3) Part of the genotype individual structure information of the selected individual among a plurality of individuals The crossover process that exchanges the information of each other, or the mutation process that changes part of the information, the genotype individual structure information of each individual that becomes the element of the next generation individual population is obtained and stored in the individual population storage unit Process.
同一世代に係る個体集団の要素である各個体について、ファンクションを識別する遺伝子を含む遺伝子情報が連続する遺伝子型個体構造情報を記憶する個体集団記憶部と、遺伝子に対応付けて、当該遺伝子により特定されるファンクションが入力するデータの数を連結数として定義する遺伝子テーブルを有し、遺伝子型個体構造情報を用いて進化計算を行な進化計算システムとなるコンピュータに、以下の処理を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
(1)遺伝子型個体構造情報に含まれる遺伝子を順次読込み、当該遺伝子の連結数を遺伝子テーブルから取得し、連結数を満たすように連結先のノードとなる遺伝子を特定し、遺伝子間の連結関係を記述する表現型個体構造情報を生成し、学習用入力データを入力して、表現型個体構造情報によって特定される遺伝子の連結関係に従って、各遺伝子により特定されるファンクションによる演算を順次実行して個体演算出力データを求め、個体演算出力データを学習用目標データと比較して、個体毎の適応度を計算する適応度計算処理
(2)適応度に基づいて、個体集団から個体を選択する個体選択処理
(3)選択した個体の遺伝子型個体構造情報に対して、複数の個体間で一部の情報を交換する交叉処理、あるいは一部の情報を変化させる突然変異処理を行い、次世代の個体集団の要素となる各個体の遺伝子型個体構造情報を求め、個体集団記憶部に記憶させる生殖処理。
For each individual that is an element of an individual group related to the same generation, an individual group storage unit that stores genotype individual structure information in which genetic information including a gene that identifies a function is continuous, and an associated gene and specified by the gene The computer has a gene table that defines the number of data input by the function to be input as the number of connections, and uses the genotype individual structure information to perform evolutionary calculations. Computer-readable recording medium on which the program is recorded (1) Genes included in the genotype individual structure information are sequentially read, the number of linked genes is obtained from the gene table, and becomes a connection destination node so as to satisfy the number of linkages Identify genes, generate phenotypic individual structure information that describes the linkage relationships between genes, Input the data, and sequentially execute the calculation by the function specified by each gene according to the linkage relationship of the genes specified by the phenotype individual structure information, obtain the individual calculation output data, and use the individual calculation output data as the learning target Fitness calculation processing for calculating fitness for each individual compared with data (2) individual selection processing for selecting individuals from population based on fitness (3) genotype individual structure information of selected individuals On the other hand, crossover processing for exchanging part of information between multiple individuals or mutation processing for changing part of information is performed, and genotype individual structure information of each individual that becomes an element of the next generation individual population is obtained. Reproductive processing to be obtained and stored in the individual population storage unit.
同一世代に係る個体集団の要素である各個体について、ファンクションを識別する遺伝子を含む遺伝子情報が連続する遺伝子型個体構造情報を記憶する個体集団記憶部と、遺伝子に対応付けて、当該遺伝子により特定されるファンクションが入力するデータの数を連結数として定義する遺伝子テーブルを有し、遺伝子型個体構造情報を用いて進化計算を行な進化計算システムとなるコンピュータに、以下の手順を実行させるためのプログラム
(1)遺伝子型個体構造情報に含まれる遺伝子を順次読込み、当該遺伝子の連結数を遺伝子テーブルから取得し、連結数を満たすように連結先のノードとなる遺伝子を特定し、遺伝子間の連結関係を記述する表現型個体構造情報を生成し、学習用入力データを入力して、表現型個体構造情報によって特定される遺伝子の連結関係に従って、各遺伝子により特定されるファンクションによる演算を順次実行して個体演算出力データを求め、個体演算出力データを学習用目標データと比較して、個体毎の適応度を計算する適応度計算手順
(2)適応度に基づいて、個体集団から個体を選択する個体選択手順
(3)選択した個体の遺伝子型個体構造情報に対して、複数の個体間で一部の情報を交換する交叉処理、あるいは一部の情報を変化させる突然変異処理を行い、次世代の個体集団の要素となる各個体の遺伝子型個体構造情報を求め、個体集団記憶部に記憶させる生殖手順。
For each individual that is an element of an individual group related to the same generation, an individual group storage unit that stores genotype individual structure information in which genetic information including a gene that identifies a function is continuous, and an associated gene and specified by the gene For a computer that is an evolutionary computation system that performs evolutionary computation using genotype individual structure information, and has a gene table that defines the number of data input by the function to be input as the number of connections. Program (1) Sequentially reads genes included in genotype individual structure information, obtains the number of linked genes from the gene table, specifies the genes to be linked nodes to satisfy the linked number, and links between the genes Generate phenotypic individual structure information that describes the relationship, input learning input data, and In order to calculate the fitness of each individual, the individual calculation output data is obtained by sequentially executing the calculation by the function specified by each gene according to the linkage relationship of the genes to be calculated, and the individual calculation output data is compared with the learning target data. (2) Individual selection procedure for selecting an individual from an individual population on the basis of fitness (3) Partial information among a plurality of individuals with respect to genotype individual structure information of the selected individual A reproductive procedure in which crossover processing to be exchanged or mutation processing that changes some information is performed, genotype individual structure information of each individual that is an element of the next generation individual population is obtained and stored in the individual population storage unit.
JP2005274309A 2005-09-21 2005-09-21 Evolutionary computation system and evolutionary computation method Active JP4862150B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005274309A JP4862150B2 (en) 2005-09-21 2005-09-21 Evolutionary computation system and evolutionary computation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005274309A JP4862150B2 (en) 2005-09-21 2005-09-21 Evolutionary computation system and evolutionary computation method

Publications (2)

Publication Number Publication Date
JP2007087055A true JP2007087055A (en) 2007-04-05
JP4862150B2 JP4862150B2 (en) 2012-01-25

Family

ID=37973984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005274309A Active JP4862150B2 (en) 2005-09-21 2005-09-21 Evolutionary computation system and evolutionary computation method

Country Status (1)

Country Link
JP (1) JP4862150B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282389A (en) * 2007-03-30 2008-11-20 Honda Research Inst Europe Gmbh Design optimization using indirect design coding
WO2014104151A1 (en) * 2012-12-28 2014-07-03 富士通株式会社 Image processing device and characteristic detection method
JP2015230702A (en) * 2014-06-06 2015-12-21 株式会社リコー Processing flow generation apparatus, processing flow generation method, processing flow generation program, manufacturing method of information processor and manufacturing method of information processing program
WO2017169023A1 (en) * 2016-03-31 2017-10-05 株式会社Screenホールディングス Process flow generating system, process flow generating method, and program
US11461663B2 (en) 2016-10-26 2022-10-04 Fujitsu Limited Information processing apparatus, information processing method for image processing, and storage medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282389A (en) * 2007-03-30 2008-11-20 Honda Research Inst Europe Gmbh Design optimization using indirect design coding
WO2014104151A1 (en) * 2012-12-28 2014-07-03 富士通株式会社 Image processing device and characteristic detection method
JPWO2014104151A1 (en) * 2012-12-28 2017-01-12 富士通株式会社 Image processing apparatus and feature detection method
US9710877B2 (en) 2012-12-28 2017-07-18 Fujitsu Limited Image processing apparatus and feature detection method
JP2015230702A (en) * 2014-06-06 2015-12-21 株式会社リコー Processing flow generation apparatus, processing flow generation method, processing flow generation program, manufacturing method of information processor and manufacturing method of information processing program
WO2017169023A1 (en) * 2016-03-31 2017-10-05 株式会社Screenホールディングス Process flow generating system, process flow generating method, and program
US11461663B2 (en) 2016-10-26 2022-10-04 Fujitsu Limited Information processing apparatus, information processing method for image processing, and storage medium

Also Published As

Publication number Publication date
JP4862150B2 (en) 2012-01-25

Similar Documents

Publication Publication Date Title
Bäck Evolutionary computation 1: Basic algorithms and operators
US7831526B1 (en) Article and method for finding a compact representation to visualize complex decision trees
Bräysy et al. Evolutionary algorithms for the vehicle routing problem with time windows
Purshouse On the evolutionary optimisation of many objectives
JP4862150B2 (en) Evolutionary computation system and evolutionary computation method
Pappa et al. Attribute selection with a multi-objective genetic algorithm
Jeong et al. Optimal weighting of bias and variance in dual response surface optimization
Dziubenko et al. Algorithm for solving optimal sensor devices placement problem in areas with natural obstacles
Garcia-Capulin et al. A hierarchical genetic algorithm approach for curve fitting with B-splines
WO2005109258A1 (en) Method for solving the binary minimization problem and a variant thereof
Kvam et al. Rewards, risks, and reaching the right strategy: Evolutionary paths from heuristics to optimal decisions.
CN116170328A (en) Method and device for predicting bandwidth used for graphic coding
KR20230069578A (en) Sign-Aware Recommendation Apparatus and Method using Graph Neural Network
JP4755516B2 (en) Process organization method
CN112817959B (en) Construction method of ancient biomorphic phylogenetic tree based on multi-metric index weight
Demetriou et al. LandParcelS: A module for automated land partitioning
CN114093426A (en) Marker screening method based on gene regulation network construction
Lafon et al. Hierarchical reorganization of dimensions in OLAP visualizations
Khare et al. Artificial speciation of neural network ensembles
Feyzioglu et al. Hybrid organization of functional departments and manufacturing cells in the presence of imprecise data
Pohlheim Evolutionary algorithms
US20220147830A1 (en) Transition table networks
Varol et al. Neural network estimators for optimal tour lengths of traveling salesperson problem instances with arbitrary node distributions
Henderson et al. Using a genetic algorithm to select parameters for a neural network that predicts aflatoxin contamination in peanuts
Fita Multiobjective programming with continuous genetic algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111011

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350