遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13...

14
告号月 13 究第年 研倒 学巻目 大部位 井学第 福工 39 遺伝的アルゴリズムのナップザック問題への 適用における特徴の解析 謝孟春事山口哲司*小高知宏本小倉久和本 A nAnalysisof Characteristicsof theGeneticAlgorithm inApplicationtotheKnapsackProblem MengchunXIE TetsushiYAMAGUCHI TomohiroODAKA andHisakazuOGURA (Received Feb.28 1994) GeneticAlgorithm(GA)isaninnovativesearchalgorithm basedonnaturalphenomena evolu- tion whosemainadvantageslieingreatrobustnessandproblemindependence. Amongallthe algorithmsusedinthefieldof optimizationproblems GAisquitesuccessful one. Inthispaper westudythegeneticoperators i. e. crossover mutation selection etc. fortheknapsackprob- lem.Inordertoyieldgoodresults wemakeuseof theinformationsof thenon 1i ving geneswhich areproducedinthegeneticoperationsbydesigning thefitnessfunctionsfornonlivinggenes. We discussedtherelatationshipbetweentheresultsobtainedandthefitnessfunctionfornonliving genes.In addition to examine the evolutionary states we introduce an expression for the variety of chromosomesinthepopulation andproposeaheuristic mutationoperatorbased ontheanalysis of the relationbetween thestrict solutionandthe ratiovalt weight. 1 はじめに 遺伝的アルゴリズム (GeneticAlgo 1i thm GA)は、 1970 年代に Holland[l] が生物進化における遺 伝子の役割を模倣して提唱したものである o その枠組みが、適用分野に比較的依存しない、汎用的な アルゴリズムであるため、近年その応用研究が盛んに行われるようになってきた。 GA がランダムな 確率的探索と区別されるのは、操作論的には交叉や突然変異といった遺伝的操作と、理論的には染色 体の優秀な断片の結合と成長が進化の主役であるとするビルデイングブロック仮説である O しかし、 GA の数学的基礎は未だほとんど確立していないため、遺伝子操作がどのような特徴をもち、進化に おいてどのような役割を果すのか、また、ビルデイングブロックそのものをどのように表現するか、 その形成と成長が世代とともにどのように進化していくのか、よくわかっていないのが現状である O ナップザック問題とは、異なる重量と価値を併せ持つ複数の術物が与えられたとき、重量の合計 が制限重量を越えない範囲で価値の合計が最大になるようにいくつかの荷物の選び方を求める、とい う制約条件付き組合せ最適化問題である o この極めて単純な組み合せ最適化問題であるナップザック 問題は、 GAの応用が困難な問題とされている o ナップザック問題におけるビルデイングブロックが 染色体の一部を占める訳ではなく、一般にはモザイク的に形成されるため、遺伝的操作がその特徴を *工学部情報工学科

Upload: others

Post on 03-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

告号月

報13

究第年

大部位

井学第

福工

39

遺伝的アルゴリズムのナップザック問題への

適用における特徴の解析

謝孟春事山口哲司*小高知宏本小倉久和本

An Analysis of Characteristics of the Genetic Algorithm in Application to the Knapsack Problem

Mengchun XIE, Tetsushi YAMAGUCHI, Tomohiro ODAKA, and Hisakazu OGURA

(Received Feb. 28, 1994)

Genetic Algorithm(GA) is an innovative search algorithm based on natural phenomena evolu-

tion, whose main advantages lie in great robustness and problem independence. Among all the

algorithms used in the field of optimization problems, GA is quite successful one. In this paper

we study the genetic operators, i.e., crossover, mutation, selection, etc., for the knapsack prob-lem. In order to yield good results, we make use of the informations of the non1iving genes which are produced in the genetic operations by designing the fitness functions for nonliving genes. We

discussed the relatationship between the results obtained and the fitness function for nonliving

genes. In addition, to examine the evolutionary states we introduce an expression for the variety of chromosomes in the population, and propose a heuristic mutation operator based on the analysis

of the relation between the strict solution and the ratio valt吋weight.

1 はじめに

遺伝的アルゴリズム (GeneticAlgo1ithm, GA)は、 1970年代に Holland[l]が生物進化における遺

伝子の役割を模倣して提唱したものであるo その枠組みが、適用分野に比較的依存しない、汎用的な

アルゴリズムであるため、近年その応用研究が盛んに行われるようになってきた。 GAがランダムな

確率的探索と区別されるのは、操作論的には交叉や突然変異といった遺伝的操作と、理論的には染色

体の優秀な断片の結合と成長が進化の主役であるとするビルデイングブロック仮説である O しかし、

GAの数学的基礎は未だほとんど確立していないため、遺伝子操作がどのような特徴をもち、進化に

おいてどのような役割を果すのか、また、ビルデイングブロックそのものをどのように表現するか、

その形成と成長が世代とともにどのように進化していくのか、よくわかっていないのが現状である O

ナップザック問題とは、異なる重量と価値を併せ持つ複数の術物が与えられたとき、重量の合計

が制限重量を越えない範囲で価値の合計が最大になるようにいくつかの荷物の選び方を求める、とい

う制約条件付き組合せ最適化問題である o この極めて単純な組み合せ最適化問題であるナップザック

問題は、 GAの応用が困難な問題とされているo ナップザック問題におけるビルデイングブロックが

染色体の一部を占める訳ではなく、一般にはモザイク的に形成されるため、遺伝的操作がその特徴を

*工学部情報工学科

Page 2: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

40

発揮しにくいのではないかと考えられる O 本論文では、このナップザック問題を対象に、 GAの特徴

を検討する。

交叉、突然変異、選択・淘汰という基本的な遺伝的操作方法はいろいろ提案されているが、どの

ような方法がナップザック問題によりよく適用するのかは自明ではない。第 2章では、ナップザック

問題に GAを適用するためのモデルを設定し、このような遺伝的操作についていくつかの方法を試

み、その効果を検討するo

制約条件を満足しない解候補に対応する染色体は致死遺伝子となる O しかし、致死遺伝子にもビ

ルデイングブロックは形成されており、致死遺伝子が進化過程に参加することにより優秀な個体が生

成される可能性がある O 第3章では、非致死遺伝子の島(此岸)と致死遺伝子の島(彼岸)からなる

此岸-彼岸モデルを提案し、致死遺伝子の進化における影響を考察する。

GAでは進化につれて集団の多様性が変化する O 多様性は局所解からの脱出の保証であるが、高

速な収束の妨げでもある o 第 4章では、この集団の多様性を表現する方法を提案し、検討する O ま

た、この表現方法により示されるナップザック問題の一般的特徴を突然変異の生起に関するヒューリ

スティックとして取り入れる試みについて述べる O

2 ナップザック問題と遺伝的操作

2.1 GAのナップザック問題への適用

ナップザック問題において、荷物の数を Nとすると、荷物の選び方は 2N通りであり、その中で

制約条件を満たす選び方だけが解となる。解の中で価値の合計が最大なものを厳密解という O 理論的

には NP完全問題であり、一般に厳密解を多項式時間で求めるアルゴリズムは知られていない。

ナップザック問題は、荷物の総数を Nとして、 i番目の荷物の重さと価値をそれぞれ問、旬、制

限重量を LIMITとして、

v=乞叩t

に対してN

w=乞ωiXi三LIMITl=l

の条件下で Vを最大とする (Xl,X2," ., Xn)の組合せを決定する問題と定式化できる O ただし、 Xiは、

i番目の荷物の状態を表し、 Xiが 1の場合は荷物を詰め、 Xiが0の場合は荷物を詰めないことを意味

するo

xiE{O,l}, i=lぅ2,..., N

N個の荷物を対象とするナップザック問題における一つの解候補を一つの染色体で、表わすO 染色

体は遺伝子の列からなり、遺伝子座(遺伝子の染色体での位置)を荷物の番号に対応させる O ナップ

ザックにその荷物を詰めるかどうかで、対応する遺伝子座に遺伝子 0または 1を割り振る O したがっ

て、遺伝子型としての染色体は長さが Nの0と1の並びであるピット列となる。例えば、荷物の数

が全部で 10個であり、 1、3、8、9番目の荷物が選択された解候補は、遺伝子型として 1010000

110、その表現型は 1389となる。

長さ Nの任意のピット列が解候補になり得るが、重量の合計が制限重量を越える個体は、問題の

有効な解に対応、しない致死遺伝子となる O

N個の荷物を扱うナップザック問題を考える。まず、個体の集団(初期集団)を構成する o 1つ

の個体は、各遺伝子の値をランダムに Oか 1に選んで長さ Nの染色体を形成することによって生成

される O このような個体の集団を遺伝子プールという O 初期集団は K個の個体からなる O 集団中の各

Page 3: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

41

図 1:遺伝的操作の流れ

染色体は、ランダムに相手を選んで交叉を行い、子供を集団に残すことにより、増殖を行う。次に、

集団からいくつかの個体をランダムに選ぴ、突然変異を施す。どのような交叉と突然変異の方法を用

いるかということは GAにとって本質的な課題であり、次節で考察する。

こうして初期集団から増殖した集団は、次に選択・淘汰される o ある個体 kの適応度 ik(kニ

1,2,… K)をその個体の遺伝子から求められる価値の総和、

4ut:: (W三LIMIT)

(W> LIMIT)

とする C 制限重量を越えた致死遺伝子に対しては、適応度は 0とする O 各個体は適応、度に応じて生き

残り選択され、残りは淘汰されて、遺伝子プールのサイズは初期集団と同じサイズ Kとなる O さら

に、本研究では、エリート保存戦略も用いている。これは、遺伝子操作前の集団中で最大の適応度を

持つ個体を無条件に生き残り選択する方法である。選択の戦略も GAにとって大きな影響がある O 選

択法についても次節で検討する。

ある個体集団から始めて、交叉、突然変異、選択・淘汰を行って、再び同じサイズの個体集団を

得る。これを世代交代という D 初期集団を第 0世代として、このような世代交代を次々に行うことに

より、第 P世代 (P= 1,2,.. .)が得られる口

2.2 遺伝的操作の考察

遺伝的操作とは古い個体から新しい個体を作る方法である。ナップザック問題に対して、交叉、

突然変異、選択などの基本的な遺伝的操作を繰り返すことによって、最適解(または近似最適解)を

得ょうとする。一般に 2つの個体の遺伝子のコードが類似しているからといってその表現型あるいは

適応度が類似しているとは限らない。遺伝子のコードが変化しても表現型や適応度が殆ど変化しない

場合もあるし、逆に極めて大きな変化を引き起こす場合もある。したがって、一般に遺伝的操作の方

法は、 GAを適用した結果に大きな影響を与える。この節では、ナップザック問題に GAを適用した

試行結果に基づき、選択、交叉、突然変異の遺伝的操作について、考察し、評価する O

Page 4: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

42

(1)選択法

ここでは、 2つの選択戦略、ルーレット選択法と順序選択法を比較検討する。

ルーレット選択法は各個体をその適応度に比例した確率で選択し、 K個生き残らせる方法であるo

この方法では、個体の適応度が高いほど選択されるチャンスが多いが、適応度が低い個体も選ばれる

可能性がある D 順序選択法では、集団中の全ての個体を適応度の値の)11買に並べ、上位の個体K個を生

き残らせる。この選択方法は淘汰圧力が強いので、適応度の低い個体は確実に淘汰され、適応度の高

い個体だけが残ることになる。そうすると、集団の遺伝子の組成変化に強い指向性をもたらし、収束

が早いと思われるが、反面、集団の多様性が失われてしまい局所的な解に陥る可能性もある O

この二つの選択方法を用いて、荷物の数 N=25、100について 200世代で終了として、 解を求

める過程における最大適応度の遷移を図 2に示す。図は 10回の試行の平均で、破線はルーレット選

択法、実線は順序選択法の結果である。図からわかるように、 JII貢序選択法はルーレット選択法に比べ

て、集団中の全体個体の適応度がより高く、適応度の高い個体に応じている問題の解を良く見つける

ことができる。

しかし、順序選択法では、適応度の高い個体が急速に増え、早い時期に集団の多様性が失われて

しまうことがある。何世代か経過した後に、個体集団の遺伝子が殆ど同一になってしまうのである O

特に集団のサイスが小さいほど、このようなことが早い世代で起る。この場合の例の探索過程を図 3

に示す。左図は荷物が25、集団のサイスが25の例であるが、 26世代で進化が止まった。右図は荷物

50で、集団のサイズも 50の場合であるが、 39世代で進化が止まった。その時、集団の染色体は一種

類になってしまている o もっともこのような状態は多かれ少なかれどのような手法でも生じている考

えられるが、検討を要する課題である。

(2)交叉法

適応度 x103

43.00

42.00

41.00

40.00

39.00

38.00-

37.00

36.00

35.00

34.00

33.00

32.00

O

order

100 200 世代

図 2:二つの選択方法の適応度の遷移

一点交叉と一様交叉の 2つの交叉方法を比較検討する D 交叉の対象となる染色体対は常に異なる

対となるように選択する。

一点交叉では、二つの染色体をランダムに選んだ位置で交叉させ、遺伝子を入れ換えて二つの子

供をつくる。一様交叉では、あらかじめ染色体と同じ長さのランダムな 0,1の系列からなるマスクを

用意しておき、マスクが 1の遺伝子座の遺伝子を、二つの染色体の問で入れ替えて、子供をつくる。

一点交叉と一様交叉では、染色体を組み換えるパターン数が大きく異なるo である。一点交叉で

は、交叉点の数の N-1通りの組み換えパターンがあるのに対して、一様交叉では、 2N-1通りのマ

スクのパターンの組み換えが可能で、生成される探索領域が異なる。ナップザック問題に対して、染

色体によって遺伝される情報は、荷物の詰め方である。一点交叉では、交叉前後で、交叉点の片側の

Page 5: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

適応度 x 103

10.00 9.80 9.60 9.40一日-

9.20 9.00 8.80 8.60 8.40

8.20 8.00 7.80

O 100 200 世代

適応度 x103

21.50 21.00 20.50 20.00 19.50 19.00 18.50

18.00 17.50 17.00 16.50 16.00 15.50

O

正ord

ドJ/

図 3:順序選択法における進化の停滞

43

ー,,...r._-t."一".....幽

.------r0111ct.t.e-

100 200 世代

染色体の遺伝子の組合せは変化しない。一点交叉では、探索空間でみると、現在の探索点に近い所を

探索点とすることになる O 多様なビルデイングブロックを形成させようとする立場から見ると、この

ような方法は適当ではない。

ビルデイングブロックは個体の適応度を高めるのに貢献する部分的な形質である。ナップザック

問題におけるビルデイングブロックは厳密解と一致する染色体中の遺伝子の並びであるo 一様交叉は

ランダムに生成されたマスクの各ピットの値によって、親の遺伝子を子供に継承させる方法を決定す

るから、次の世代に、多様な子孫を生成できる G つまり、集団の多様性を維持できると期待される。

二つの交叉方法を用いて、それぞれの荷物の数に対して、 200世代まで、 100回ずつの試行を行っ

たo 1回の試行で、最終的いくつかの解を得ることができるが、その中で最も優秀解をその試行で得

た解とする o よって、 100回の試行により 100個の解が得られる。その 100個の解中で、最も良い解

(best1 ~ best5)と最も悪い解(worst 1 ~ 1 worst5)を表 1に示す。表の結果を見ると、荷物数 N =25

、100の時、一様交叉からより良い解が得られた (N= 25の時、一点交叉により得た厳密解は 10回、

一様交叉により得た厳密解は 12回である)。他の場合ではあまり大きな差はみられないo

表 1:二つの交叉法の結果

一点父叉 一様交叉

荷物数 25 50 100 150 25 50 100 150

厳密解 9923 21381 42993 66138 9923 21318 42993 66138

best1 9923 21214 40605 60280 9923 21025 40638 59273

best2 9923 20939 40440 59979 9923 21017 40187 59106

best3 9923 20910 40212 59927 9923 20925 39910 59075

best4 9923 20853 40134 59832 9923 20899 39854 58922

best5 9923 20851 40131 59663 9923 20866 39778 58991

worst1 9448 19252 37153 54411 9364 18650 37318 55435

worst2 9466 19292 37481 54578 9368 19468 37322 55517

worst3 9515 19464 37500 54582 9428 19542 37419 55574

worst4 9522 19592 37600 54638 9440 19546 37518 55767

worst5 9535 19599 37610 55182 9469 19575 37610 55929 L 一一一 一一」一一

Page 6: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

44

(3)突然変異法

反転変異と異点交換変異の二つの突然変異方法を比較検討する D

反転変異は、変異を発生する個体と変異点をランダムに指定し、変異点で個体の遺伝子に相当す

るピットを、 0を1、あるいは 1を0に変更する方法である。異点交換変異は選んだ個体に対して、

二つの変異点を選択し、それらで遺伝子を交換する方法である O

反転変異と異点交換変異の二つの方法では、突然変異による個体の重量と価値の変化の仕方に違

いがある o 反転は、荷物を新たに追加するか、あらかじめ詰められている荷物を取り出すかという操

作であるため、突然変異の対象となる荷物の重量と価値が、そのまま突然変異前と突然変異後の変化

量となる O これに対して異点交換は、詰められた荷物を取り出し、別の荷物を新たに追加するという

操作なので、突然変異前と突然変異後の変化量は、突然変異の対象となる二つの荷物の差となる O つ

まり、平均的に見ると、反転は異点交換に比べて個体の重量と価値の変化量が大きくなるo また、反

転では重量と価値は同時に増減するのに対して、異点交換は対象となる荷物の重量と価値によって

は、重量は滅少し価値が増加する(または、その逆)といったことが起こり得る o

ところで、何世代か経過し、集団がある程度成長した段階では、集団中の各個体の重量は制限重

量LIMITの近くに分布するようになる D 致死遺伝子でない個体に対して反転を行う場合、遺伝子の

値が1から 0に反転すると、突然変異の対象となる荷物の価値だけ個体の価値の合計が減少し、個体

の適応度が下がるo 逆に遺伝子の値を 0から 1に反転すると、価値の合計は増加するが、それにとも

なって重量も必ず増加する O このため重量がLIMITに近い個体では、重量がLIMITを越えて致死

遺伝子となる可能性が高い。これに対して、異点交換では、反転に比べて重量の平均的な増加量が少

ないので、致死遺伝子になる可能性が低い。しかし、重量と同様に価値の平均的な増加量も反転より

少ないので、個体の適応度が飛躍的に高くなることは期待できない。

二つの突然変異の方法を用いて、 200世代まで、それぞれの荷物に対して、 10回ずつ実行中に最

良解、最悪解、および10回の解の平均値を表に示す。表の結果からわかるように、荷物数が100の場

合を除いて、反転変異が異点交換変異に比べてより良い解が得られた O これは反転変異を用いると、

重量が減少し価値が増加する染色体がよく生成されるためだと考えられる。

荷物数 11 50

best 11 20991

worst 1119588

average 11 20291

表 2:二つの突然変異法の結果

反転変異 11 異点交換変異

3 致死遺伝子を用いた此岸一彼岸モデル GA

前章で述べた交叉と突然変異という遺伝的操作を行う際に、制限重量 LIMITを越えた致死遺伝

子を発生する可能性がある。通常の GAではこれを淘汰するが、しかし、一概に致死遺伝子といって

も、遺伝子型データに着目すれば、なかには優秀な遺伝子の生成に貢献し得る部分を有するものが存

在するはずである o すなわち、致死遺伝子は厳密解の染色体と一致する部分的な構造を持っている可

能性がある。交叉と突然変異を行う時、そのようなビルデイングブロックが保存され、他の部分が変

化されると、非致死遺伝子になって、優秀な個体が生成される可能性が十分にある O 本章では、致死

遺伝子を淘汰せず、積極的に用いた GAを検討する。

Page 7: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

45

3.1 致死遺伝子を用いる GAのモデル

ここで提案する致死遺伝子を用いた GAのモデルでは、まず非致死遺伝子が住んでいる“此岸"と

致死遺伝子が住んでいる“彼岸"というこつの島を作る O “此岸"は非致死遺伝子だけに存在を許すo

u彼岸"では致死遺伝子だけが生存できる O 処理の流れは図 4のようになる O

図 4:致死遺伝子を用いた GAの流れ

此岸一彼岸モデルでは、前章で述べた一様交叉と異点交換変異を用いて、“此岸"と“彼岸"で別々

に交叉や突然変異などの遺伝的操作を行なう。交叉と突然変異を行った後に、二つの島の設定した環

境に相応しない個体が出てくる場合がある O すなわち、“此岸"で致死遺伝子が発生し、“彼岸"で遺

伝子が復活して非致死遺伝子となる場合がある。個体の重量をチェックし、“此岸"で発生した致死

遺伝子を“彼岸"に移住させ、同じように、“彼岸刊で復活した個体を“此岸"に移住させる O 移住は

適応、度と無関係に個体の重量だけで決める。個体は各々の適応する環境に着いてから、評価値に比例

した確率で選択される O このようにして、形質の異なる遺伝子を持つ個体が拡散・増殖することがで

き、遺伝子の情報を十分に利用することができると考えられる O

評価関数は優秀なビルデイングブロックを含む個体により高い適応度が与えられるように設定す

る必要がある。“此岸"での評価関数は 2.1節と同じように設定すればよいが、“彼岸"では、どのよ

うな致死遺伝子が優秀なのかという判断は容易ではない。そこで、次の四つの方法を比較する O

・方法 1:直線型の重み付けによる評価法 11 =若手去Ce

-方法 2:自乗型の重み付けによる評価法 12 =市芳子Ce

-方法 3:LIMITとの差の逆数による評価法 f3=己WICe

・方法 4:“0"評価法 14 =計ヨfcd

ここで、 ωe= l:f=l WiXi、Ce 乞?=1C42t、Cd= l:f=l ci(l -Xi)である o Wmは遺伝子の最大重量、

切 fは制限重量 LIMIT、XiとCiは前の定義と同じである o

方法 1では、遺伝子の価値の和だけを用いるのではなく、価値と重量との関係も重視し、なるべ

く制限重量に近いところの遺伝子の評価値が高くなるようにする D 方法 2では、重量の重みが大きく

なるようにする O 方法 3は、重量の少ない個体ほど高い適応度を与えようというものである O 致死遺

伝子である個体は染色体の中に、遺伝子をつ刊とする数が多い。方法4では、遺伝子を“0"とする個

体により高い適応度を与える。

Page 8: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

46

3.2 此岸一彼岸モデル GAの試行結果

致死遺伝子を用いた GAと、致死遺伝子を全て淘汰した GAによって探索した結果を表3に比較

して示す。試行結果は、それぞれの問題に対して 100回の試行をおこなったもので、それぞれの試行

は200世代までおこなう。試行の対象とするナップサック問題には、荷物数が 25、50、100、150の

4種類を用意し、荷物の重量と価値の設定は、次のようになっている o

・各荷物の重量は 5~200、価値は 100-1000 の整数とする o

• LIMITの値は全荷物の総重量の半分とする。

・各島の遺伝子プールのサイズは荷物数と同じとするo

表3から、致死遺伝子をうまく利用することにより解の精度を上げることが可能であることが推測で

きる o

表 3:異なる遺伝的操作の比較

-員〉FL乙F疋ι乙, 荷物の数 25 50 100 150

厳密解 9923 21381 42993 66138

厳密解の数 2 。 。 。保留法 best 9923 21047 40177 59441

αverαge 9553 19372 37025 54760

厳密解の数 1 。 。 。淘汰法 best 9923 20669 39493 58632

averαge 9425 19155 36707 54602

“彼岸"で設定した四つの評価関数のどれが致死遺伝子を評価するのに適当かを確認するため実験

した結果を表4に示す。パラメータの設定は、荷物数が 150個、各島の初期集団のサイズが 150、他

の設定は上と同じである D なお、厳密解は 66138である o

この表から、探索結果が“彼岸"の評価関数に強く依存することがわかる D 評価関数として、自乗

の重みを付ける方法 2は、他の方法に比べよりよい解が得られている D “彼岸"では、異なる評価関

数によって異なる形質を持っている致死遺伝子を一時保留することになる O これらの致死遺伝子は最

適解に対して異なった方法で貢献をしていると思われる o

表 4:各試行における最適値の分布

||最高値|誤差率|平均値|最低値|

Page 9: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

47

4 集団の多様性の検討

4.1 集団多様性の表現

これまで試行によって得られた表面的な結果について述べてきたが、以下では個体の内部的表現

である染色体(遺伝子型データ)に着目し、世代が経過するにつれて、染色体がどのように変化して

いくかを、集団の多様性と関連させて観察する。集団中の個体の染色体の様子を、例えば、次のよう

な記号列を用いて表現することにする。

10*牢0i01本牢10*牢io牢1

この記号列は染色体と同じ長さであり、各記号は染色体の同じ位置にあたる遺伝子座と対応してい

る。集団中の全個体に対して、各遺伝子座の遺伝子の値を調べた結果によって、その遺伝子座に対応

する記号を決める O 記号の意味は次のようにである o

1… 各個体の遺伝子のうち 90%個以上が‘ 1'であり、厳密解と一致している

o… 各個体の遺伝子のうち 90%個以上が‘ 0'であり、厳密解と一致している

i… 各個体の遺伝子のうち 90%個以上が‘ 0'であり、厳密解と一致していない

。… 各個体の遺伝子のうち 90%個以上が‘ 0'であり、厳密解と一致していない

*… それ以外

このようにして得られる記号列は、集団の様子を表現している。例えば記号列中に‘*'が多く

含まれていれば、集団の多様性が維持されていることがわかる。また、‘*'が少なく‘ i'や‘ o

が多く含まれていれば、局所解へ収束していることになる。

この記号列を用いて、荷物数が 25、200の場合に、 2章で述べた遺伝子操作のうち一様交叉、異

点交換変異、ルーレット選択法を行った場合の各世代の集団プールにおける染色体の様子を表すと次

のようになる o

〈荷物数 25の場合〉

4世代 *1材料*料材料牢1科料牢牢牢牢件

6世代牢1材料林牢牢牢寧草刈牢牢*0件牢料*

8世代 *1材料*料10件牢1牢牢*0牢O件付

10世代 *1料牢11林 1*科卒1*0牢O牢O牢辛料

13世代 111*111料 1村本材料ホ0*.0牢00*

15世代牢11材竹村1牢牢0*110材牢01村*

18世代 1110**11*1牢牢0*11牢*0*010牢1

20世代 11101111叫料牢牢11**0ヰ010牢1

23世代 111*1111牢10牢0*11牢*0キ01001

25世代 111*1111*10牢Oホ110*01010叫

30世代 111牢1111*10牢O牢110*01010牢1

35世代 111牢1111叫 O刊本110101010ヰ1

40世代 11101111010料牢110*01010牢1

45世代 111*11110*0*0*110101010草1

50世代 111本1111010*0寧11010牢010牢1

〈荷物数 200の場合〉

5世代*牢**材牢料牢牢*牢牢材料牢牢牢O件牢料材料材料材料*申牢*材料材料材料*材料・・

10世代材料1*辛料牢材料牢1料牢O料 1牢牢牢牢牢料牢料村O牢牢料材料率1材 料 件*0牢O材料・・

15世代材料11材料牢1村*1料率O牢牢1料材料*牢牢村101件 1材料*1材料村本O牢O料率0・・

Page 10: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

48

20世代牢**牢11*1林 *li料11*牢0001*0料牢1*0村牢料1牢011材料1*牢牢*1料0*00牢村一

25世代 0牢1111料*0*1*牢*l11i牢001率 的 判1*0料i1*1*011i料牢1**0牢1牢10*00件十・

30世代 011111*1ホ001i1牢111ioo01件。料牢*0牢牢i1*l*Olli材申10*001110*000*0・・

40世代 *11111i**001i1*111io*010101*1牢O件i101*011il1叫 *00*1札 Oヰ00牢村口

50世代 011111i1*0牢1i1*111牢O事010101本10011i10料011i11料*00*1110*00料0・・

60世代 011111i110*li1*111*0ヰ010101*10011叫 010011i11*1*00*1110000草00"

70世代 011111i11011i1*111牢料010101叫ホ011*1010011i11*11*0*1110000*00"

80世代 011111*11011i1*1110牢0010杓 1*1*01101010011i11*11*01111000料 00"

90世代 011111011011i札 1110*0010**101i01101010011i11011*01111000辛料0・・

100世代 011111011011ili11101*0101*101i01101010011i11011本011110001100"

150世代 011111011011ili11101牢01010101i01101010011i110110011110001牢00"

200世代 011111*11011刈申1110110101*101ホ01101010011il10110011110001100"

250世代 01111101101101011101101010101iOl101010011i110110011110001牢00"

このように初期の世代は‘*'の記号が多いが、世代を経過するごとに‘*'の数は急速に減少する。

このことから、突然変異によって集団中の個体の種類数は保たれているが、それぞれの個体の染色体

は世代が経過するにつれて非常に似かよってくることがわかる O 荷物数 25の場合は‘や‘ o

が、ほとんど現れないが、荷物数が多くなるにしたがって‘や‘ o が多く現れるようになる。

特に初期の段階において多く現れる。図 5は各世代の‘*'の数(点線)と‘と‘ o の合計数

(実線)をグラフにしたものである。左図は荷物数が25であり、右図は荷物数が 200である O

数 数25 200

180 20 160

140 15 120

100 10 80

60 5 40

20 O O

O 100 200 世代 O 200 世代

図 5:集団の多様性

このように‘*'の数は荷物数に関係なく 50世代あたりまでに急速に減少し、集団の多様性が失

われる。このとき荷物数 25の場合のように‘や‘ o がなければ、うまく厳密解を求めること

ができる O 荷物数 200の場合のように多様性が失われた時点で‘や‘ o がたくさんあると、以

後の世代でその数を減らすことはできても最終的にはいくつか残り、局所的な収束から脱却するのは

困難であるo‘i 'や‘ o があると必ずしも厳密解を得ることができないわけではないが、‘や

‘o があるということは、対応する遺伝子座の遺伝子が厳密解と異なる値に収束していることにな

るので、このような集団の状態からでは厳密解を求めるのは困難である。

なぜこのように荷物数が多くなると初期の段階で‘ i'や‘ o が多く現れるようになるのかを検

討する o 図6は、荷物数 200の試行におけるエリート個体の染色体と厳密解を表す染色体とのハミン

グ距離を表すグラフである c 縦軸がそのハミング距離であり、横軸は正の方向に向かうほど遅い世代

Page 11: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

49

に現れたエリート個体に対応しているo この図からわかるように初期の段階におけるエリート個体の

染色体は厳密解を表す染色体とのハミング距離が大きく、あとに現れるほどハミング距離は小さくな

るo このため初期の段階で現れるエリート個体の形質が選択、交叉によって集団中に広まると、厳密

解と異なる遺伝子が集団中で支配的になり、この結果‘ i'や‘ o がたくさん現れる。あとに現れ

るエリート個体ほど厳密解とのハミング距離が小さいので、その形質が集団中に広まった結果‘

や‘ o の数が減少する。しかし、進化が停滞し始めると新たなエリート個体が現れなくなり、その

時点でのエリ←ト個体の形質が集団中で強く支配的になり集団の多様性が失われてしまう O このよう

な状態になると交叉が有効に作用しなくなり、それ以上の進化には突然変異がうまい具合に起こるな

どの偶然が必要となる。

距離90.00

80.00

70.00

60.00

50.00

40.00

30.00

20.00

10.00

0.00

O

長は

ムに"¥.. 、、、

山℃50 世代

図 6:厳密解との hαmming距離

4.2 ナップザック問題の特徴を利用した突然変異操作

GAの実際問題への応用において、問題の特別な知識、または問題の性質を用いなくても、最適

な解が得られることは GAの大きな特徴である。しかし、問題の知識と特性を GAに取り入れば、そ

れを利用することでより探索能力が向上する GAを構築することができる可能性がある O そこで、前

節の結果から得られたナップザック問題の知識を取り入れた GAについて考察する。

厳密解を表す染色体の遺伝子座を、対応する荷物の(価値/重量)の値の大きい順に並べ変えると

染色体は次にようになる。

荷物数 50 11111…111111011111000000000" '00000

このように荷物数に関係なくどの染色体も左端から 1、右端から 0が並び、 1と0の境のかなり狭い

範囲で 1と0が入り混じって並んでいる D そして、前節で説明した集団中の染色体の様子を表す記号

列を染色体と同じように遺伝子座を並べ変え、上の厳密解を表す染色体と照らし合わせると次のよう

になる o

荷物数 50 …111111111110001000000" . 厳密解

…μ111111*1*000牢O申00*0… 500世代目の記号列

次に、荷物数 50の場合の並べ換えを行なった記号列を世代}II買に並べると次のようになる O

5世代牢1材 料 村 牢 材 料 牢 牢 * 牢 * 牢 材 料 率 牢 * 材料*牢材料牢O牢材料材料***

10世代 11村本1料率1牢*1材料材料材料材料牢村O材料料O材料料材料

Page 12: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

15世代 111牢11*1川本11材料料材料1牢牢0**牢*牢0***牢O本O牢牢00牢0*0牢0

20世代 111111111111111料 1*材料1叫 * 材 料ホO材料0*0牢牢00本000牢0

25世代 111111111111牢111牢11村牢牢1*10材料率O材料O本O牢OOOiOホO牢0

30世代 1111111111111*11*1料 *1叫料率材料材料*刊本O事0*0*00000

35世代 1111111111111111*1村 *1111牢0*100i*00材 料0*000牢00000

40世代 111111*11111牢111牢11*1111110件 oOi*oO林 000事000*0*00*

45世代 1111111111111111111料 1料 1100100i申00料 0*0刊本0*0000*

50世代 111111111111牢111111*11牢*11001牢O件。0*00牢00000000000

55世代 111111111111牢111111ヰ111*11001叫が時特0000000刈 0000

60世代 111111牢11111本111111*11*11*001牢Oi叫 0*0000000本000000

このように染色体の両端から‘*'以外の記号が現れはじめ、世代が経過するにしたがって徐々に染

色体の中央部にも‘*'以外の記号が現れてくる o つまり、染色体の両端に位置する遺伝子座の遺伝

子ほど初期の世代で収束する傾向があることになる。しかも、これらの遺伝子が厳密解と異なる値に

収束することはほとんどなく、収束しでもその状態がそのままずっと続くこともほとんどない。この

ようなナップサック問題の性質は一般的なもので、.多くの場合はこのような性質をもっていると期待

されるo もちろん、全く逆の状況となるも考えられる。

上のようなナップサック問題の性質を突然変異に対するヒューリスティックとして、次のように

して GAに取り入れることを考える o まず対応する荷物の(価値/重量)の値の大きい}IIIiに遺伝子座を

並べ変えたものを個体の染色体とする。このような染色体をもっ個体集団に対して、今までと同じよ

うに選択、交叉をおこなう O 交叉で生成された K個の新しい個体集団に対して、‘ 1'、‘ o'、‘*'

の3つの記号列を上と同様にして生成する。それぞれの記号の意味は次のようである o

1…K個の個体の遺伝子がすべて‘ 1'である

0…K個の個体の遺伝子がすべて‘ 0'である

牢…それ以外

このような条件で生成した記号列を用いて、突然変異を起こす遺伝子座の限定をおこなう。生成

した記号列に、左端からγ が連続している部分、あるいは右端から‘ 0'が連続している部分があれ

ば、その連続している部分に対応する遺伝子座を突然変異を起こす対象から除く。例えば、ある世代

における遺伝子プールに対して次のような記号列が生成されたとすると、

111申 *1・・・・・・・・・0牢000*

この集団における突然変異は 4番目以降の遺伝子座を対象とすることになる O 以上の手続きを各世代

で突然変異を操作する前におこなう。したがって、突然変異の対象となる遺伝子座は、世代を経過す

るごとに徐々に減ってゆくことになる口

このようなヒューリスティックを利用した突然変異と単純な突然変異操作の比較を表5に示す。た

だし致死遺伝子をもっ個体は淘汰し、交叉は一様交叉、突然変異は異点交換を採用する O 打ち切り世

代は 500世代、試行回数は 50である。どの荷物数においても、よい結果を得ることができた。また、

厳密解が求まらなかった試行でもより厳密解に近い解を得ている。荷物数200で厳密解を得た回数が

他の場合よりもかなり少なくなっているが、これは、厳密解の染色体において 1と0が入り混じって

いる範囲が広いことが原因だと考えられる o

Page 13: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

51

表 5:試行結果

ヒューリスティックを利用する ヒューリスアイツクを利用しない

荷物数 50 100 150 200 50 100 150 200

厳密解 1697 4006 6278 8474 1697 4006 6278 8474

worst 1 1695 4006 6268 8465 1695 3994 6255 8438

worst 2 1695 4006 6271 8465 1695 3995 6255 8443

worst 3 1697 4006 6271 8465 1695 3995 6257 8445

worst 4 1697 4006 6271 8466 1695 3995 6258 8445

worst 5 1697 4006 6273 8466 1697 3995 6260 8446

平均 1696.92 4006.00 6276.86 8470.10 1696.24 4001.40 6268.16 8459.02

直室解数 48 50 38 5 31 16 9 。

5 考察

本論文では、ナップザック問題に対する GAの適用において、いくつかの検討と提案を行った O

まず、ナップザック問題における遺伝的操作の方法について検討した。また、此岸一彼岸モデルを提

案し、致死遺伝子におけるビルデイングブロックを積極的に利用する方法についても検討した。さら

に、 GAにおける 1つの重要な指標である多様性に関する表現方法を提案し、それを利用したナップ

ザック問題のヒューリスティックを利用した GAを試みた。

遺伝的操作は、遺伝子コーデイングの方法に大きく依存する o 本研究で採用した二進コーデイン

グにおいては、問題の性質からみるならば、交叉では一様交叉、突然変異では異点交換が基本的には

有利であると考えられ、ここで報告しなかった試行結果もそのような傾向を示しているが、しかし、

それは統計的なレベルであり、決定的に有利であるということにはならなかった。これがどのような

ことを意味するかは不明であるが、他のコーデイング方法でどうなるかを含めて、今後の検討課題と

して残されている o

通常、致死遺伝子は無条件に淘汰される口一般に、致死遺伝子は、ある個体の染色体が、遺伝子

コーデイングの手法に反映できていない制約条件を満足しないために発生するのであるから、染色体

上のどこか一部あるいは全部が「致死Jを引き起こしているのである O 実際、ある致死遺伝子の遺伝

子コーデイングを最適解の遺伝子コーディングと比較すれば部分的にはビルデイングブロックを含ん

でいることがある。ここで扱ったナップザック問題の設定では、ほとんどの致死遺伝子は有効なビル

デイングブロックを含んでいる O 第 3章で提案・検討した此岸一彼岸モデルの試行結果は、致死遺伝

子を積極的に扱うことにより、このように「死に体Jとなったビルディングブロックの利用が可能と

なることを示していると思われる o しかし、致死遺伝子をどのよっに評価することがよいのかは自明

でない。ここでは制限重量との差の自乗に逆比例する評価関数を中心にいくつかの手法を比較検討し

たが、これは今後の重要な課題の一つであるo

GAのシミュレーションにおいて、集団の染色体の様子をどのように表現するかは容易ではない。

たとえば、初期集団ではさまざまな形をもっ染色体があるけれども、進化につれて集団中の染色体の

種類が少なくなってくるが、そのようすをどう表現するのかということである O 第 4章で述べた手法

によれば、それがどのように進んでいくのか簡単に手に取るようにかわかる。さらに工夫することに

よりビルデイングブロックがどのように成長していくか観察する手段となると考えられる D しかし、

この手法のこのような特徴はナップザック問題を二進コーデイングしたための特徴であり、 GAでい

つもこのような表現が可能なわけではない。一般の GAにおけるピjレディングブロックの成長過程を

Page 14: 遺伝的アルゴリズムのナップザック問題への 適用 …報告号月 13 研倒究第年 福工井学第大部位学巻目 39 遺伝的アルゴリズムのナップザック問題への

52

観察・測定する手段を検討する必要がある口

4.2節で示した簡単なモデルシミュレーションの結果によれば、突然変異の対象となる遺伝子座

に関するヒューリスティックによって突然変異確率を操作することは、探索結果に大きなもたらす。

このような突然変異確率の操作を工夫することにより、さらに改善が期待できる o

参考文献

[1] Holla凶,J.H.:"Adaptationin Natural and Artificial SystemsぺTheUniv. Michigan Press(1975),

MIT Press(1992)

[2] Syswerda,G.:旬 niformCrossover in Genetic Algorithms", Proc.of ICGA-89,pp2引1989)

[3] Grefenstette J ohn J.:勺 ptimizationof Control Parameters for Genetic Algo町n江th田ms

Tra叩ns.S匂yst句ems叫,Ma叩n,ar凶 Cybernetics,Vol.SMC-16 No.1,pp122-128(1986)

[4] Goldberg D.E. and Rudnick M.:匂 eneticAlgorithms and the Variance of FitnessぺComplex

Systems, Vo1.5 No.3,pp265-278(1991)

[5]北野宏明:遺伝的アルゴリズム,産業図書 (1993)

[6] 和田健之介:“進化スシテム論遺伝的アルゴリズムの基礎 (1)~(7)" , Computer Today,No .47~

No.54,(1992.1 ~1993.3)

[7]小林重信:“遺伝的アルゴリズムの現状と課題ぺ計測と制御,Vo1.32No.1,ppふ 9(1993.1)

[8]波田野寿昭:“遺伝的アルゴリズムペ人工知能学会誌,Vo1.8Noムpp312-319(1993.5)

[9] 謝孟春、小高知宏、小倉久和:“ナップザツク問題への適用における GAの課題"平成 5年度電

気関係学会北陸支部連合大会論文集♂・357(1993.9)