Q and A about `Massive Multimodality Deception and GeneticAlgorithms'
- [Q1] シェアリング(スケーリング)関数とσの値の関係は?
σshare(ニッチサイズ)が大きい場合,そのニッチ範囲に含まれる解も比例して多くなるため,miも比例して大きくなります.その結果,その解に与えられる重み(シェアリング値,sh(d))も大きくなり,適応度が見かけ上減少します.
- [Q2] σの値に対応した集団数の変化は?
説明の際,「従来の population-sizing を用いた niched GA では,集団数が大きすぎる.その集団数を減少させるためにσを変更させる」と述べたましたが,これは私(愛晃)の個人的な解釈でした.σが集団サイズの計算式に含まれていないことから考えると,「計算式を改善するという直接的な解決ではなく,別のアプローチとしてσの変更を検討した」というのが妥当かも.
- [Q3] 個体 i に関するニッチ数の決定法は?
まず,ニッチサイズ(σshare)の大きさによってニッチ範囲を決定します.次に,個体iの「ニッチ範囲に含まれる他の全ての解」の距離の総和として求めます.
- [Q4] 集団数 n の決定法(スケーリングに関して)は?
各個体iについてスケーリングにより決定される「サブ集団」を求め,それらの「総和」を全体の集団数nとします.
- [Q5] 交叉率と,ジェネレーションギャップの,エリート保存戦略の違いは何か?
交叉確率は,自然界においてある個体の誕生する可能性が100%となることは決してない,という確率要素・曖昧さを表現するために用いられていると考えています.エリート保存戦略や,ジェネレーションギャップは,ある程度以上優位な個体を次世代へ保存する,という選択手法でしょう.この両者の手法は,GAが進化現象を模倣したアルゴリズムであるのに対し,「収束することが求められる」例えば最適化というような問題に適用したために考えられた措置といえます.しかしながら,エリート保存戦略・ジェネレーションギャップは,局所解へ陥りやすい,という問題もあるため,問題の特質なども検討して適切な遺伝子操作オペレータを用いることがGAによる問題解決において重要な要素である.
- [Q6] 動的に適応度を調節することによって、探索点が振動することはないか?
まさしくその通りで,fitness scalingは常に適応度を変化させています.この変化を適切に設定することが可能であれば「全ての峰に対応する最適解」を獲得可能である,というアプローチですが,では,どのようにすれば適切に設定できるのか,のが課題として残っています.
- [Q7] 「だまし」ってなんですか?
一般に,探索空間の局所解を含む峰が,最適解を含む峰よりも比率が大きい場合,騙し問題と呼びます.そして,最適解を獲得したいのですが,「より良い解を求める」ような探索を行った結果,局所解を発見してしまい,その局所解に収束してしまうことを「だま」された,と考えます.
例えば,関数最適化を考えた場合,最適化のための手段が必要になります.この手段としては,関数の傾きを求めることにより,より関数値の高い解のある方向へ探索を進めるというアプローチ(山登り法などに代表されるグリーディング法)があります.このような手法を用いた場合,初期の探索点が局所解を含む峰に位置されていた場合,最適解を発見すことができません.
- [Q8] 解を収束させないようにする研究のテーマは,具体的に我々の社会に置ける状況で,どのような応用の範囲が考えられるのですか?
解を収束させないようにする,というよりは「全ての峰に対応する最適解」を獲得することを目的としています.何故全ての最適解を獲得したいのかというと,次のような利点があるからです.
- 基本的に,解の良し悪しを決定しているものは「適応度関数」です.その適応度関数は,制約条件が含まれていることが一般的です.その制約条件は,一般社会における必要経費・開発期間・マンパワーなどを指しており,それらが何らかの影響により変化してしまうという状況は多々あります.そのとき,変化してしまった適応度関数を元に最初から問題解決をやり直すというのはあまりにも非効率です.複数の最適解や局所解を獲得していれば,それらを代替案として用いることも可能でしょう.
- また,適応度関数は複数の制約条件を課しており,それらは「優先順位」がつけられていることでしょう.その優先度が変化した場合にも,複数の最適解を探索しておくことにより,より柔軟な問題解決を行うことが可能です.