パラメータフリー遺伝的アルゴリズムによる 最短ネットワー...
TRANSCRIPT
1
電話回線網や石油パイプライン、光ケーブル網といった線的な形態をした施設を設計する場合など、
それらの施設を結ぶネットワークの総延長を最短にする問題を最短ネットワーク問題という[1]。与え
られた施設のみで構築した最短ネットワークを最小木というが、その施設以外の任意の場所に中継点
を設けると最小木よりも短いネットワークを構築できる場合がある。このネットワークをシュタイナ
ー木といい、その中で最も短いネットワークを最小シュタイナー木という。最短ネットワーク問題は、
巡回セールスマン問題(一人のセールスマンが与えられた全ての都市をただ一回のみ訪問して、出発
した都市に戻ってくる経路の総延長を最短にする問題)などのように施設の数が多くなるほど計算時
1.はじめに
*Hirokazu IWASE 共通領域部(Department of General Course)
パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法
岩 瀬 弘 和*
Solving the Minimal Network Problem by Parameter-free Genetic Algorithms
Hirokazu IWASE
<要約>
電話回線網や光ケーブル網など各施設を結ぶネットワークを構築する際に、総延長が最短になるネ
ットワークを求める問題を最短ネットワーク問題という。この問題は施設の数が多くなるほど指数関
数的に計算時間が増加してしまうNP困難問題の一つである。本論文では、関数最適化問題などで利
用されているパラメータフリー遺伝的アルゴリズム(PfGA)を適用して解の探索回数を大幅に減ら
し、最適または準最適なネットワークを求める方法を提案する。既存のPfGAにおける「選択・淘汰」
操作に改良を加え、また、施設集合に対して領域分割を行うことにより、施設の数が多い場合でも短
時間で近似解が得られることを示す。
東京成徳大学人文学部研究紀要 第 15 号(2008)
2
間が指数関数的に増加してしまうNP(Non-deterministic Polynomial)困難問題である。
近年、組合せ最適化問題や関数最適化問題などをヒューリスティックに解く有効的な手法として遺
伝的アルゴリズム(Genetic Algorithms; GA)が注目されており、それを適用した巡回セールスマン
問題の解法が数多く報告されている[2][3]。また、スケジューリング問題[4]やエアコンによる室温制御[5]、
分子系統樹作成[6]など幅広い研究領域でGAの有効性が示されている。
このようにGAは多くの分野で効率的な問題解決の一手法として利用されているが、実際の適用の際
には遺伝的パラメータ(初期集団数、交叉率、突然変異率など)や選択・淘汰の方法などについては、
それぞれの問題に適した設定を行う必要がある。これに関する基本的指針は特になく、対象とする問
題に応じて各研究者が試行錯誤の結果によりパラメータ値や方法を決定しているのが現状である。こ
の問題点を解決するために、澤井らは遺伝的パラメータの設定を必要としないパラメータフリーGA
(PfGA)を提案し、その簡便性や頑健性が優れていることを示した[7][8]。著者らもニューラルネットワ
ークにおけるパラメータ設定問題にPfGAを適用し、その有効性を確認した[9]。
本研究では、最短ネットワーク問題を効率的に解く手法としてPfGAの適用を提案する。最短ネッ
トワーク問題を解くためにGAを利用した研究はほとんど行われておらず、PfGAを適用した例もこれ
までに報告されていない。ランダムに発生させた点集合に対してPfGAによりシュタイナー木を求め、
最小木よりも短いネットワークが得られることを示す。また、点集合の数が多い場合の解法として領
域分割による方法を提案し、その有効性について検討する。
2.1 最短ネットワーク問題とは
最短ネットワーク問題とは、「平面上にn個の点P1、・・・、Pnが与えられているとき、それらを全
て結ぶネットワークのうち最短であるものを探索する問題」である。実際的な問題として、電話回線
網や水道、電気、ガス、石油パイプライン、光ケーブル網といった線的な形態をした施設の設計問題
が挙げられる。
最も簡単な例として、n = 3の場合を考えてみる。3点P1、P2、P3 が正三角形(一辺の長さが1)の
頂点上にあるとき、最短ネットワークとしてまず考えられるのは、三辺のうち二辺を選んで結ぶとい
う案である(図1 (a))。この場合、ネットワークの長さは2となる。ところが、この正三角形の重心に
中継点Sを設けて3点P1、P2、P3 と結ぶと(図1 (b))、その総長P1S+ P2S+ P3Sは√3となり、前案よりも
短いネットワークを作ることができる。このネットワークは与えられた点集合における最短ネットワ
ークである。
2.最短ネットワーク問題
パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法
3
次に、n = 4の例として、4点P1、P2、P3、P4 が図2のような長方形(長辺の長さが4、短辺の長さが
3)の頂点上にある場合を考えてみる。この最短ネットワークとして考えられるのは、短い二辺と残
りの一辺をつないだネットワークである(図2 (a))。このネットワークの長さは10である。しかし、新
たに二つの中継点S1、S2 を付け加えて図2 (b) のようなネットワークを作るとその長さは9.196・・・とな
り、前案よりも短いネットワークを作ることができる。このネットワークは与えられた点集合におけ
る最短ネットワークである。
このように、与えられた n 個の点P1、・・・、Pnの他に、新たに任意の m 個の点S1、・・・、Smを
付け加えることによって、付け加えないときよりも短いネットワークを構築できる場合がある。
与えられた点だけを使って得られる最短ネットワークを最小木という。これに対して、与えられた
点の他に任意の m 個の点S1、・・・、Sm を付け加えることによりできる最短ネットワークを最小シュ
タイナー木といい、付け加える m 個の点をシュタイナー点という。
シュタイナー点Sは次の三つの性質を示す。
(1) Sから出ている線の本数は三本である。
(2) Sから出ているいずれの二辺も120°で交わる。
(3) Sの個数 m は n-2 以下である。
2.2節では最小木を求めるアルゴリズムについて、2.3節では最小シュタイナー木を求めるアルゴリズ
ムについて説明する。
2.2 最小木の求め方
最小木を求めるアルゴリズムはクラスカルの方法やダイクストラの方法などいろいろな方法が提案
されているが、以下ではクラスカルの方法を使って最小木を求めるアルゴリズムを説明する。
P1
P2 P3(a)
P4 P1
P2 P3(b)
P4
S1 S23
4
n
P1
SP2 P3
(a)
P1
P2 P3(b)
n
東京成徳大学人文学部研究紀要 第 15 号(2008)
4
与えられた点集合P = { P1, ・・・, Pn } に対して、以下の操作を行う。
手順1 全ての2点対 { Pi, Pj }(1≦ i < j ≦ n)に対して、距離d (Pi, Pj ) を求める。
手順2 d (Pi, Pj ) の値が最も小さい2点対 { Pi, Pj } を線分で結び、それをネットワークの辺とする。
手順3 閉路を作らないという条件で、まだ結ばれていない2点対に対して、d (Pi, Pj ) の値が最も
小さい2点対 { Pi, Pj } を線分で結び、それをネットワークの辺に加える。
手順4 手順3の操作が遂行できないとき、すなわちPの最小木が作られたとき、この操作を終了
する。
以上の操作は、ちょうど n -1回で終了する。
2.3 シュタイナー木の求め方
3点の場合の最小シュタイナー木を求める方法は、17世紀にトリチェリが2.3.1節で説明するアルゴリ
ズムを発見した。また、4点以上の場合の最小シュタイナー木を求める方法は1961年にメルザクが2.3.2
節で説明するアルゴリズム[10]を発見した。
2.3.1 トリチェリの作図法
平面上の3点P1、P2、P3 に対する最小シュタイナー木は次のいずれかに場合分けされる。
(a) いずれの内角も120°未満のとき
新たに付け加える点をSとする。
∠P1S P2=∠P2S P3=∠P3S P1=120°
となる位置に点Sを置くと、SからP1、P2、P3 の各点を結んだ辺が最短ネットワークとなり、
P1S+P2S+P3S
が最短ネットワークの長さとなる。
(b) ある内角が120°以上のとき
例えば∠P1≧120°とすると、P1とP2、P1とP3 の各点を結んだ辺が最短ネットワークとなり、
P1 P2+P1 P3
が最短ネットワークの長さとなる。
以下に、(a)の場合における点Sを求めるためのトリチェリの作図法について説明する。
3点P1、P2、P3 が図3のように与えられていたとする。まず、辺P1 P2、P2 P3、P3 P1 のうち一辺を選
ぶ。例えば辺P1 P2 を選んだとする。次に、その辺を一辺とする正三角形を残りの点P3 の反対側に作
パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法
5
る。ここでは点P3 の反対側に△P1 P2Xが正三角形になるように点Xを加える。付け加えた点Xを代替
点と呼ぶ。そして△P1 P2Xの外接円を作り、その外接円と線分P3Xとの交点をSとする。この点Sが求
めるシュタイナー点であり、太線のネットワークP1S+P2S+P3Sが最短ネットワーク(最小シュタイ
ナー木)となる。
図3において
P1S+P2S+P3S=P3X
が成り立つ。つまり、この方法で求めたネットワークの総延長は線分P3Xの長さと等しくなる。この
とき∠P1S P2=∠P2S P3=∠P3S P1=120°となる。
2.3.2 メルザクのアルゴリズム
最短ネットワーク問題を解くアルゴリズムとして利用されているものの一つにメルザクのアルゴリ
ズム[10]がある。
このアルゴリズムは、まず与えられた点集合P = { P1, ・・・, Pn } をいくつかの部分集合に分ける。そ
して、その部分集合毎にトリチェリの作図法における代替点Xを使って以下のアルゴリズムを実行す
る。例として、点が5つの場合で説明する(図4)。
与えられた5点P1、P2、P3、P4、P5 に対して、その中から3点、例えばP1、P2、P3 を選ぶ。この3点
に対してトリチェリの作図法により代替点X1 と外接円C1 を求める。ここでは辺P1 P2 を正三角形の辺
としてP3 の反対側にX1 を作る。これによって点P1、P2 がX1 により代替された。次に、点X1、P3、P4、
P1
P2
P3
P4
P5
S1
S2S3
X3
X1
X2
C3
C2
C1
S
X
P1
P2
P3
東京成徳大学人文学部研究紀要 第 15 号(2008)
6
P5 の中から3点、例えば点X1、P3 、P4 を選んだとする。先ほどと同じようにこの3点の中から点X1、
P3 の代替点X2 と外接円C2 を求める。最後に点X2、P4、P5から、点X2、P4 の代替点X3 と外接円C3 を
求める。代替点X1、X2、X3 が求まったら、今度はシュタイナー点を求めていく。
まず、線分P5 X3と円C3 との交点S3 を求める。ここで、
P5 X3 =S3 P5+S3 P4+S3 X2
である。次に、線分S3 X2 と円C2 との交点S2 を求める。ここで、
S3 X2 =S2 S3+S2 P3+S2 X1
である。最後に、線分S2 X1と円C1 との交点S1 を求める。ここで、
S2 X1=S1 S2+S1 P2+S1 P1
である。この操作により図4の太線のネットワーク(シュタイナー木)を求めることができる。しか
し、点を選ぶ順序によってはこのようにうまくシュタイナー木を作ることができない。
以上のようにして求める方法がメルザクのアルゴリズムである。この方法を使うと点の選び方によ
り多くのネットワークができるが、そのうち一番短いシュタイナー木が最小シュタイナー木である。
メルザクのアルゴリズムを用いれば、点を選ぶ順番を与えることによりネットワークを作ることがで
きるので、結局、最短ネットワークを求めるにはどの順番で点を選べばよいかという問題に帰着でき
る。
ところが、この問題は点の数 n が大きくなるとその探索領域が爆発的に増加してしまい、n = 8で
は約130万、n = 10では約9億回の探索が必要となる[11]。効率のよいアルゴリズムを使ってもn = 30程
度が限界である。すなわち、可能性のある全ての組合せを探索することは n が大きくなった場合に実
現不可能となる。そこで、このようなNP困難問題に対してはヒューリスティックな解法がよく用い
られる。本研究では関数最適化問題などに利用され、その有効性が認められているパラメータフリー
遺伝的アルゴリズム(PfGA)を最短ネットワーク問題に適用する。
3.1節では組合せ最適化問題などでよく利用される遺伝的アルゴリズム(GA)について説明する。
3.2節ではGAの改良版であるパラメータフリーGA(PfGA)を用いた最短ネットワーク問題の解法に
ついて詳述する。3.3節では大規模な最短ネットワーク問題へのPfGAの適用方法について述べる。
3.1 GAの基本原理
遺伝的アルゴリズム(Genetic Algorithms; GA)は、生物の進化の過程(選択・淘汰、突然変異)か
ら着想を得たアルゴリズムであり、あらゆる最適化・探索問題に適用可能な手法である。GAの基本的
な考え方は、遺伝子をもつ仮想的な生物を設定し、あらかじめ定めた環境に適応している個体が子孫
を残す確率が高くなるように世代交代シミュレーションを実行し、遺伝子及び生物集団を進化させる、
3.PfGAによる解法
パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法
7
というものである。GAによって問題を解く場合には、その問題に適した生物集団を作り、その問題
に適した遺伝的操作を行う必要がある。
仮想生物の進化シミュレーションを実行する前には、以下のことをあらかじめ設定しておかなけれ
ばならない。
はじめに、個体の染色体を設定する。染色体は世代交代の際に、親の個体から子の個体にどのよう
な内容のデータを伝えていくかを決定するものである。一般的に、染色体は複数の遺伝子から構成さ
れている。それぞれの遺伝子の位置は遺伝子座と呼ばれる一種の座標により定められる。各個体の染
色体の内部表現を遺伝子型という。それに対して、各個体の実態に相当するものを表現型という。定
められた環境に対して、各個体がどの程度適応しているかを表すものが適応度である。適応度の高い
個体ほど生き残る確率、あるいは子孫を作る確率が高くなるようにする。逆に、適応度の低い個体ほ
ど消滅しやすくする。
上で述べた仮想生物と環境の設定の後、GAでは以下に示す手順に従って生物集団を進化させる。
手順1:初期生物集団の発生
探索する初期の段階ではどのような個体が環境に適しているか、すなわち適応度が高いのかは
全く分からない。このため、通常、初期生物集団は乱数を用いてランダムに発生させる。
手順2:各個体の適応度の計算
手順1で発生させた生物集団中の各個体の適応度を、あらかじめ定めた計算法に基づいて求め
る。
手順3:選択・淘汰の実行
次に、生物集団の淘汰と増殖を行う。この操作手法にはいろいろあるが、これらは「適応度の
高いものほど多く残るようにする」という条件をもっていなければならない。これを満たすもの
としてよく用いられている手法の一つとして、ルーレット方式がある。これは、適応度に比例し
た確率で乱数を使って選択する手法である。
以上の操作だけでは、適応度の高い個体が多く残っただけで、新しい探索が行われていない。
よって、GAでは新しい個体を生成するために、以下に述べる遺伝子型の交叉と突然変異を行う。
手順4:遺伝子型の交叉の実行
生成された個体のうち(個体数)×(遺伝子型の交叉率)個を抽出し、二つの個体のペアに対
して交叉を行う。ここで、交叉とは二つの個体の遺伝子型をランダムな位置で部分的に入れ替え
る操作である。これにより個体の遺伝子型のバラエティが豊かになり、遺伝子型の進化が生じる。
手順5:突然変異の実行
遺伝子型の交叉に続いて突然変異と呼ばれる操作を実行する。突然変異は、ある一定の確率
(突然変異率)で遺伝子を変化させる操作である。
手順6:生物集団の評価
東京成徳大学人文学部研究紀要 第 15 号(2008)
8
生成された次世代の生物集団が、進化シミュレーションを終了する評価基準の例を以下に示す。
(1)生物集団の最大値が、ある閾値より大きくなった。
(2)ある一定期間以上、生物集団中の最大適応度あるいは生物集団全体の平均適応度に増加が認
められない。
(3)世代交代の回数が、あらかじめ定めた回数に到達した。
(1)については、ある設定した適応度以上の解が得られれば満足であるという場合に用いられる。(2)
については、最大適応度がこれ以上ない適応度に達してしまった状態、すなわち最適解が得られた
場合か、あるいは局所解に陥ってそこから抜けられない状態、すなわち探索に失敗してしまったか
のどちらかであると考えられる。(3)については、探索する回数や時間を決めておく場合である。終
了条件が満たされた場合は進化シミュレーションを終了し、満たされない場合は手順2に戻り、進
化シミュレーションを続行する。
以上に述べたように、GAの基本操作は、
1.生殖:適応度により個体の生存を決定する
2.交叉:二つの個体の遺伝子を部分的に入れ替える
3.突然変異:遺伝子をある確率で変化させる
の三つで、非常に単純なものであるが、探索が困難と思われる問題でも速やかに実用上の近似解(以
下、準最適解)を見つけられることが多い。しかし、これらの操作における理論的な証明はまだ十分
ではなく、生物集団中の個体の総数や交叉率、突然変異率などのパラメータの最適値については、経
験的に決定しているのが現状である。
3.2 最短ネットワーク問題へのPfGAの適用
3.1節で説明したGAは、これまでに関数最適化問題や組合せ最適化問題などに適用され、効率のよ
い探索手法としてその有効性が示されてきた[2]-[6]。しかし、GAを最適化問題に適用するためには、そ
れぞれの問題に対して適切な初期集団数や交叉率、突然変異率などの遺伝的パラメータをあらかじめ
設定しなければならない。これらのパラメータの適正値は同じ問題を解く場合でも規模の大きさによ
って変化することがあり、研究者によって試行錯誤により決められているのが現状である。
このような遺伝的パラメータの設定を不要とするGAを澤井らは提案し、パラメータフリー遺伝的
アルゴリズム(Parameter-free Genetic Algorithm; PfGA)と名づけた[7][8]。澤井らは関数最適化ベンチ
マーク(最小値探索)問題にPfGAを適用し、従来のGAと比較して、構築の簡便性や解の収束性、頑
健性などPfGAの優れた性質を示した。著者らもニューラルネットワークにおけるパラメータ設定に
PfGAを応用し、その有効性を確認した[9]。
本研究は、最短ネットワーク問題へのPfGAの適用可能性について調べることを目的としている。
澤井らが提案したPfGAを基にして、最短ネットワーク問題を解くために改良したアルゴリズムを以
パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法
9
下に述べる。
はじめに、個体の表現型を決定する。2.3.2節で述べた通り、最短ネットワーク問題をメルザクのアル
ゴリズムで解くためには点の順序を決めなければならない。すなわち、点番号の順列のうちメルザク
のアルゴリズムに適用した際、最短ネットワークを構築するものが求める最適解となる。このことか
ら、1個体の染色体は同一番号を含まない n 個の点番号とする。これらの個体群に対して手順1から手
順6の操作を行う。
手順1:初期集団の設定
全探索空間Fからランダムに2個体を抽出し、これらを副集団F’とする。よって、副集団の個体
数は2となる。
手順2:交叉
副集団F’の2個体を親1(p1)、親2(p2)とする。p1、p2 に対して一点交叉を行い、新たに得ら
れる2個体を子c1、c2とする。ただし、交叉位置は遺伝子座の中央が最も高く、両端が最も低くな
る確率に設定する。これは、スキーマ(正解の木の一部となる有益な部分構造(部分木))が破
壊されにくくするためである。また、交叉の際には一度、遺伝子型(点の番号による表現)を順
序表現に変換して、交叉後に元の遺伝子型に戻す。
ここでの順序表現は、交叉の際に重複する点番号が現れないようにする工夫である。例えば、
表現型が「1-3-5-2-4」ならば、順序表現は「1-2-3-1-1」となる。すなわち、表現型の数字は左から
順に点を除いたときの残った点番号における小さい順の値となる。
手順3:突然変異
交叉によって生成された2個体の子のうち、1個体に対して2点入れ替え(2つの遺伝子を入れ替
える操作)の突然変異を行い、突然変異前の個体と置き換える。2個体の子c1、c2を副集団F’に加
える。
手順4:適応度算出
適応度は良い解ほど値が高くなるように設定する。最短ネットワーク問題ではネットワークの
長さが短いほど良い解であるため、本研究では適応度 を
とする。ただし、M_tree は最小木の長さ、S_tree はシュタイナー木の長さ、R は1より小さい定
数(本研究ではR = 0.9とした)である。これにより、最小木とシュタイナー木の長さが等しいと
きには = 1となり、シュタイナー木が最小木よりも短いときには >1となる。副集団F’中の
個体の適応度 (p i ) および (c i )(i =1, 2)を計算する。
東京成徳大学人文学部研究紀要 第 15 号(2008)
10
手順5:選択・淘汰
親個体p1、p2および子個体c1、c2のうち、最も良い個体(適応度の高い個体)が親個体ならば、
その親個体のみを残す(個体数を2から1へ)。最も良い個体が子個体ならば、その子個体と2番
目に良い個体を残す(個体数は2のまま)。これは、以下の二つを実現させるための操作である。
1.良い解が見つかったら、その近くに存在する、できるだけ良い解を探す。
2.もっと良い解を見つけるために、未探索の領域へ飛ぶ。
すなわち、大域的探索と局所的探索の両方を実現させるための操作方法である。
手順6:増殖
個体数が1ならば、全探索空間Fからランダムに1個体を抽出し、これを副集団F’に加え、副
集団の個体数を2とする。個体数が2ならば、新しい個体を加えない。
手順2へ戻る。
以上の操作を最大試行回数になるまで繰り返す。
3.3 領域分割による解法
3.2節のアルゴリズムにより、最適解または準最適解の探索を試みるが、点集合の数があまりにも大
きくなると探索空間が膨大になり、GAのようなヒューリスティックな解法を用いても限界がある。
そこで、ある程度探索空間を絞り込むために領域分割による解法を提案する。以下に、その手順を示
す。
手順1:
平面上に分布している点集合(点の数n)を x 方向、y 方向共に等間隔に m 区間ずつ分割、す
なわち平面空間を m×m 領域に等分割する。
手順2:
3.2節のアルゴリズムを用いて、各領域内でシュタイナー木を求める。
手順3:
各領域内のシュタイナー木に対してクラスカルの方法を用いて一つのネットワークを構築する。
この方法を用いるためには、点の数 n に対して領域分割数 m をどのように決定するかが問題とな
る。nに対して m が大きすぎると、領域内の点の数が1個や2個など少ないものばかりとなり、最終的
に構築されたネットワークは最小木とほとんど変わらないものになることが予想される。逆に m が
小さすぎると、各領域内の点の数が多くなり、良いシュタイナー木を得るためにはPfGAの試行回数
を増やす必要があり、結局、探索時間が掛かってしまう。
ここでは、各点の位置がランダムに発生していると仮定して、確率に基づき n と m の関係につい
パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法
11
て調べる。
まず、正方形の平面領域を m×m 領域に等分割した場合、ランダムに発生させた点がある領域に
入る確率は1/m2、点が入らない確率は (1-1 /m2) である。n 個の点を発生させたとき、ある領域内に
おける点の数が k である確率 Q ( k ) は、
となる。また、1領域内における点の数の平均値は n /m2となる。
式 (1) より、1領域内における点の数が r 以下である確率R ( r ) は、
により求められる。
例えば、n = 64、m = 4の場合、分割した1領域内に存在する点の数の出現確率は図5であり、その
累積は図6である。これにより、1領域内における点の数が8以下である確率は0.982、10以下である確
率は0.998となる。換言すれば、n = 64のとき、99%以上の確率で1領域内の点の数を10以下に収める
には、m = 4とすればよい。
本節では最短ネットワーク問題に対してPfGAを適用したときの数値実験の結果を示す。
4.1 n = 7の例
4.数値実験
k Q(k)
Q(k) R(r)
東京成徳大学人文学部研究紀要 第 15 号(2008)
12
はじめに、提案アルゴリズムによって最適解あるいは準最適解が得られるかどうかを確かめるため
に、最適解が分かっている点集合[1]に対して本アルゴリズムを適用した。図7の「■」が与えられた
施設(点集合)の配置であり、「○」が付加されたシュタイナー点である。それらを結ぶ実線のネッ
トワークが最短シュタイナー木、すなわち最短ネットワーク(最適解)である。
この点集合に関しては、メルザクの方法における点順序の最適解は、“1-2-3-4-5-6-7”あるいは “7-6-
5-4-3-2-1”である。全ての組合せからこれを求めるには7!/2 = 2520回の探索が必要となる。
ここでは、PfGAにおける最大世代数を1000とした。各世代の個体数は2であり、2000回の探索に相
当する。この設定で1000回のシミュレーションを行ったところ、各世代で得られた「シュタイナー木
の長さ/最小木の長さ」の平均は図8となった。最小木に対するシュタイナー木の比は、値が小さい
ほど短いシュタイナー木が得られたことを意味している。また、最適解である「最小シュタイナー木
の長さ/最小木の長さ」はシュタイナー比と呼ばれる。
この結果から、「シュタイナー木の長さ/最小木の長さ」は40世代までに急激に減少していること
が分かる。図7の点集合におけるシュタイナー比は0.9548であるが、ほぼ100世代までにはこれに近い
値に収束している。すなわち、(個体数)×(世代数)= 2×100=200回以内の探索で最適解に近い解
が得られていることが分かる。
また、この1000回のシミュレーションにおいて最適解、すなわち、図7と完全に一致した最小シュ
タイナー木が得られた世代数の分布を図9に示す。この結果から、1000回のシミュレーションのうち
n
パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法
13
90%が170世代までに最適解を得ている。これは約340回の探索に相当する。また、95%が230世代まで
に最適解を得ている。これは約460回の探索に相当する。つまり、全ての組合せを調べるためには
2520回の探索が必要であるが、PfGAを利用することにより約95%の確率で460回以内の探索で最適解
が得られる。以上のことから、PfGAにより最適解を求めることができ、探索回数も大幅に削減できる
ことが示された。
4.2 PfGAの適用例(7≦n≦10の場合)
前節の結果から、PfGAにより最短ネットワーク問題の最適解が得られることを示した。本節では
点集合の数nが7≦n≦10のデータに対してシミュレーションを行い、最適解または準最適解の得られ
る可能性について調べる。
点集合の数 n = 7,8,9,10の各々に対して100例ずつの点集合(範囲:0≦x≦100、0≦y≦100)を
ランダムに発生させた。これらの点集合に対するシュタイナー木を求める方法として以下の三つを比
較した。
(A) ランダム探索
(B) 選択・淘汰を除くPfGA
(C) PfGA
n 7 8 9 10
S M 79 49 14 5 % 2.902 2.504 2.287 1.965
2000 4000 8000 16000
n 7 8 9 10 S M 78 45 17 5
% 2.599 2.268 1.442 1.212 1000 2000 4000 8000
n 7 8 9 10 S M 93 82 63 49
% 3.060 2.560 1.966 2.017 1000 2000 4000 8000
東京成徳大学人文学部研究紀要 第 15 号(2008)
14
「(A) ランダム探索」は、全探索空間の中からランダムに探索個体数だけ選び、そのうち最も良い
解をシュタイナー木とする方法である。一方、「(C) PfGA」は本研究の提案アルゴリズムであるが、
その特徴の一つとして「選択・淘汰」(3.2節手順5)が挙げられる。これは3.2節で述べた通り、大域的
探索と局所的探索の両方の実現を目指したアルゴリズムである。その目的が達成されているかを調べ
るためには、「(C) PfGA」と「(B) 選択・淘汰を除くPfGA」の効果を比較すればよい。
以上のことから、(A)、(B)、(C) の三手法を用いてシュタイナー木を求めた結果を表1から表3に示す。
表中の「S木<M木」は、それぞれの点の数に対する100例のシミュレーションのうち、最小木(M木)
よりも短いシュタイナー木(S木)が得られた例数である。また、「短縮率」は、最小木の長さに対す
るシュタイナー木の長さの短縮率であり、表中の数値は最小木よりも短いシュタイナー木が得られた
場合の「(M木-S木)/M木」の平均値を示している。
(A)の「探索個体数」は、(B)、(C) の「最大世代数」の2倍に設定している。これは、(B)、(C)の手法
(PfGA)における1世代中の個体数が2個のためである。また、ここで採用した探索回数は、n = 7の
とき全探索個体数(7!)の約40%、n = 8のとき全探索個体数(8!)の約10%、n = 9のとき全探索個
体数(9!)の約2%、n = 10のとき全探索個体数(10!)の約0.4%となっている。nが大きくなると指数
関数的に全探索個体数が増大する。n = 7とn = 10の場合を比較すると、点の数が3つ増えただけで全
探索個体数が720倍にもなる。このような爆発的な個体数増加に合わせて探索個体数を増やすと実用
的時間内では解くことができないため、ここでは n が1つ増加するごとに探索個体数を2倍に設定した。
「S木<M木」の結果に関しては、(A)と(B)の手法に差は見られないが、(C)については他の手法よりも
優れており、特に n が大きくなるにつれて顕著となる。「短縮率」に関しては、(A)と(C)の手法が(B)よ
りも高い値をとっており、よい解が得られ易いことが分かる。
以上の結果から、選択・淘汰を除くPfGAはランダム探索以下の求解能力しか持たないが、選択・淘
汰(3.2節手順5)を入れることにより、解の探索能力が大幅に向上することが示唆された。すなわち、
最短ネットワーク問題に対して本提案アルゴリズムのPfGAが有効であることが示された。
しかし、PfGAが(A)、(B)、(C)の三手法の中で最も優れているものの、 n が増加するにつれて準最適
解(S木<M木となる解、と定義する)の得られる確率が減少している。n = 7では93%と高いものの、
n = 10では50%程度である。これは前述の通り、探索個体数の割合がn = 7の約40%と比べてn = 10で
は約0.4%と極めて少ないためであるが、実用面(計算時間)を考慮すれば妥当な線といえる。
4.3 領域分割の適用例(n = 64の場合)
4.2節の結果より、n = 10を超えると50%以上の確率でPfGAにより得られたシュタイナー木が最小木
よりも長くなる可能性がある。すなわち、準最適解が得られにくくなる。そこで、n = 64の場合にお
いては部分領域の点の数 n' を10以下にするための分割数 m を設定する必要がある。3.3節の例より、
n = 64ではm = 4とすれば部分領域の99%がn' ≦10となる。また、準最適解の得られる確率は式(1)と
表3の結果(S木<M木となる確率を (n' )とする)を合わせて考えると、
パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法
15
となる。ただし、n' ≦6においては全探索個体数の中から最適解を選ぶため、 (n' ) = 1とする。
以上のことから、ここではm = 4として提案アルゴリズムを実行した。ここでは、n = 64の点集合
(範囲:0≦x≦100、0≦y≦100)をランダムに1000例発生させた。このデータに対して、3.3節の領域分
割の方法を用いた。
シミュレーションにより得られたシュタイナー木の例を図10、図11に示す。図中の「■」が与えら
れた施設(点集合)の配置であり、「◇」が付加されたシュタイナー点である。それらを結ぶ実線の
ネットワークがシュタイナー木である。また、それらの点集合に対する最小木を図12、図13に示す。
図10は最小木よりも短いシュタイナー木が得られた例である。図11は最小木よりも長いシュタイナー
木が得られた例である。
図10、図11のいずれも部分領域内では最小シュタイナー木(最適解)が得られているが、これを一
つのネットワークにした場合、図10では最小木よりも短くなる(S木<M木)のに対して、図11では最
小木よりも長くなってしまう(M木>S木)。これらの相違を図から判断すると、図10のシュタイナー
木はその最小木(図12)のネットワーク形状とほとんど変わらず、局所的に最小木よりも短いシュタ
イナー木が形成されている。一方、図11のシュタイナー木はその最小木(図13)と比べて大きく異な
る箇所がいくつも見られる。部分領域を設定する際にX方向とY方向を単純に等間隔に分割している
ため、点集合の分布によっては適切な分割方法となっていないことが原因として考えられる。
実際、1000例の点集合に対するシミュレーションにおいて、よい解が得られたもの(S木<M木とな
ったもの)は243組だけであった。しかし、1000例の点集合のうち短縮率((M木-S木)/M木)が
正となったデータ100組に対してそれぞれ10回ずつのシミュレーション、すなわち延1000例のシュタイ
ナー木を求めたところ、全てがS木<M木となり、準最適解を得られる確率は100%であることが示さ
れた。
以上のことから、n が大きい点集合に対しては、分割領域内でPfGAによるシュタイナー木を求め、
それらを一つのネットワークに終結する方法は有効であるが、点集合を適切に分割する方法が必要と
なることが示唆された。
東京成徳大学人文学部研究紀要 第 15 号(2008)
16
パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法
17
東京成徳大学人文学部研究紀要 第 15 号(2008)
18
本論文では、組合せ最適化問題の一つである最短ネットワーク問題に対してパラメータフリー遺伝
的アルゴリズム(PfGA)を適用することを提案し、その有効性について報告した。具体的には、点集
合の適切な領域分割の後、各領域内でPfGAによりシュタイナー木を求め、各部分木を結合して一つの
ネットワークを構築することで、最小木よりも短いシュタイナー木が得られることを示した。
しかし、点集合の分布によっては、部分領域内で最小シュタイナー木が得られたとしても、全体の
ネットワークが最小木よりも長くなる。このような例にも提案アルゴリズムを適用できるようにする
ためには、領域分割の方法を工夫する必要がある。その一つとしては、最小木を形成するネットワー
クを部分集合に分け、部分集合毎にシュタイナー木を求める方法が考えられるが、これは今後の課題で
ある。
参考文献
[1] 岡部篤行,鈴木敦夫,最適配置の数理,朝倉書店,pp.113-126,1992.
[2] J. Grefenstette, R. Gopal, B. Rosmaita, and D. Van Gucht,“Genetic Algorithms for the Traveling
Salesman Problem”, Proceedings of the 1st International Conference on Genetic Algorithms, pp.160-
168, 1985.
[3] 小西健三,屋鋪正史,瀧 和男,“温度並列シミュレーティドアニーリング法の巡回セールスマン問題へ
の適用と実験的解析”,電子情報通信学会論文誌D,vol.J80-D-I,no.2,pp.127-136,1997.
[4] 村田忠彦,石渕久生,田中英夫,“遺伝的アルゴリズムによるフローショップ・スケジューリングと多目
的最適化への応用”,計測自動制御学会論文集,vol.31,no.5,pp.583-590,1995.
[5] 平原茂利夫,山下哲司,一色正男,“エアコン室温制御器の最適設計 第2報:遺伝的アルゴリズムによ
る制御器設計”,日本冷凍空調学会論文集,vol.14,no.1,pp.65-74,1997.
[6] 川本芳久,松田秀雄,橋本昭洋,“遺伝的アルゴリズムによる分子系統樹の作成”,情報処理学会論文誌,
vol.37,no.6,pp.1107-1116,1996.
[7] 澤井秀文,木津左千夫,遠藤哲郎,“パラメータの設定を不要にした遺伝的アルゴリズム”,電子情報通
信学会論文誌,vol.J81-D-II,no.2,pp.450-452,1998.
[8] 澤井秀文,木津左千夫,遠藤哲郎,“パラメータフリー遺伝的アルゴリズムと定常状態遺伝的アルゴリズ
ムとの性能比較”,電子情報通信学会論文誌,vol.J81-D-II,no.6,pp.1455-1459,1998.
[9] 岩瀬弘和,北岡正敏,“階層型神経回路網のパラメータ決定におけるPfGAの有効性”,日本経営工学会論
文誌,vol.56,no.3,pp.174-181,2005.
[10] Z. A. Melzak,“On the problem of Steiner”, Canadian Mathematical Bulletin, vol.4, pp.143-148, 1961.
[11] E. N. Gilbert and H. O. Pollak,“Steiner Minimal Trees”, SIAM Journal on Applied Mathematics, vol.16,
no.1, pp.1-29, 1968.
5.おわりに