V. Operators of GA


遺伝的アルゴリズの概要をみてわかるように、 交叉と突然変異は遺伝的アルゴリズムでもっとも重要な部分です。 パフォーマンスは、主にこの2つのオペレータによって影響されます。 交叉と突然変異をもっと説明する前に、染色体に関するいくつかの情報を与えたいと思います。

As you can see from the genetic algorithm outline, the crossover and mutation are the most important part of the genetic algorithm. The performance is influenced mainly by these two operators. Before we can explain more about crossover and mutation, some information about chromosomes will be given.

染色体の暗号化(Encoding of a Chromosome)

染色体はいろいろな方法で、それが表現する解に関する情報を含んでいます。 もっともよく使われる暗号化の方法はバイナリー文字列です。 その染色体はこのように見えます。

染色体 1 1101100100110110
染色体 2 1101111000011110

The chromosome should in some way contain information about solution which it represents. The most used way of encoding is a binary string. The chromosome then could look like this:

Chromosome 1 1101100100110110
Chromosome 2 1101111000011110

どの染色体もバイナリー文字列を1つもっています。 この文字列の中のどのビットも解の特徴を表現しています。 または、文字列全体で1つの数を表わします。−これは基本GA applet.で使われています。

Each chromosome has one binary string. Each bit in this string can represent some characteristic of the solution. Or the whole string can represent a number - this has been used in the basic GA applet.

もちろん、他にもたくさんの暗号化の方法があります。 これは解決すべき問題によります。 例えば、直接整数や実数に暗号化することもできますし、順列などに暗号化するのも役立ちます。

Of course, there are many other ways of encoding. This depends mainly on the solved problem. For example, one can encode directly integer or real numbers, sometimes it is useful to encode some permutations and so on.


どのような暗号化をするかを決めた後、交叉の手段を決めることができます。 交叉は両親の染色体から遺伝子を選び、新しい子孫を作ります。 これを行うもっとも単純な方法は、ランダムに交叉点をえらび、この点までを父親(染色体1)から、この点以降を母親(染色体2)からコピーすることです。

After we have decided what encoding we will use, we can make a step to crossover. Crossover selects genes from parent chromosomes and creates a new offspring. The simplest way how to do this is to choose randomly some crossover point and everything before this point point copy from a first parent and then everything after a crossover point copy from the second parent.

交叉はこのようになります。 交叉点は | で表わされます

染色体 1 11011 | 00100110110
染色体 2 11011 | 11000011110
子孫 1 11011 | 11000011110
子孫 2 11011 | 00100110110

Crossover can then look like this ( | is the crossover point):

Chromosome 1 11011 | 00100110110
Chromosome 2 11011 | 11000011110
Offspring 1 11011 | 11000011110
Offspring 2 11011 | 00100110110

他にも交叉を行う方法はあります。 例えばもっと多くの交叉点を選ぶことができます。 交叉は より複雑で、染色体の暗号化の方法に非常に依存します。 特殊な問題に対する特殊な交叉は遺伝的アルゴリズムのパフォーマンスを改善します。

There are other ways how to make crossover, for example we can choose more crossover points. Crossover can be rather complicated and very depends on encoding of the encoding of chromosome. Specific crossover made for a specific problem can improve performance of the genetic algorithm.


交叉が行われた後で、突然変異がおこります。 これは個体群のすべての解がが解決すべき問題の局所解に落ち込んでしまうことを防ぎます。 突然変異は新しい子孫にランダムに変更を加えます。 バイナリー暗号化ならば、ランダムに選ばれたいくつかのビットを0から1へ、また1から0へと反転させることができます。 突然変異は次のようになります

元の子孫 1 1101111000011110
元の子孫 2 1101100100110110
突然変異した子孫 1 1100111000011110
突然変異した子孫 2 1101101100110110

After a crossover is performed, mutation take place. This is to prevent falling all solutions in population into a local optimum of solved problem. Mutation changes randomly the new offspring. For binary encoding we can switch a few randomly chosen bits from 1 to 0 or from 0 to 1. Mutation can then be following:

Original offspring 1 1101111000011110
Original offspring 2 1101100100110110
Mutated offspring 1 1100111000011110
Mutated offspring 2 1101101100110110

突然変異も交叉同様暗号化の方法に依存します。 例えば、順列を暗号化したのであれば、突然変異は2つの遺伝子を交換することで行われます。

The mutation depends on the encoding as well as the crossover. For example when we are encoding permutations, mutation could be exchanging two genes.

prev             next

(c) Marek Obitko, 1998
Japanese translation (c) Ishii Manabu, 1999
- Terms of use