8 メタヒューリスティック あなたは真夜中に 山の頂上を目指す登山者です 8 メタヒューリスティック あなたのいる山には いくつもの小高い丘があり、 周りを見ただけでは そこが頂上か分かりません 8 メタヒューリスティック さて、なるべく早く頂上に登るには どのような戦略を用いれば 良いのでしょうか? メタヒューリスティックの代表的な解法 局所探索法(Local Search) 模擬焼き鈍し法(Simulated Annealing Method) タブーサーチ(Tabu Search) 遺伝的アルゴリズム(Genetic Algorithm) 局所探索法(Local Search) 適当な初期実行可能解を定め、近傍の中に、現在 の解を改良する解があれば、それに移ることを繰り 返して解を改善していく方法 近傍 実行可能解 山頂を目指す夜の登山者 明かりの照らせる範囲に現在地点より高い場所が 周りにあればその方向へ移動する 山頂を目指す夜の登山者 照らした範囲に現在地点よりも標高が高い地点が 見つからなくなった時点で終了 →いつも最も高い地点に到達できるとは限らない ココが頂上? 本当の頂上 模擬焼き鈍し法 (Simulated Annealing Method) 解を改悪することを確率的に許したメタヒュー リスティック 焼き鈍し現象にアナロジーを持つ 温度Tが高い 徐々に冷却 温度T=0 模擬焼き鈍し法 (Simulated Annealing Method) 改悪を許す確率を徐々に小さくすることに よって、非常に長い時間をかけて最適解を得 る保証を持つ 低温 高温 山頂を目指す夜の登山者 照らした場所の標高と現在地点の標高差Δを測定 する 現在の地点より高い地点(Δ≧0)があれば、その場 所に移動する 山頂を目指す夜の登山者 照らした地点の標高が現在地点よりも低ければ(Δ< 0)、寒暖計によって現在の気温Tを測定する 乱数表により[0,1]の一様乱数を得て、その値が eーΔ/Tより小さかったら、その場所に移動。大きかっ たらその場にとどまり、再び適当な場所を懐中電灯 で照らす →局所検索法と違い、現在地点より低い場所へ移動 することもある →局所検索法よりも歩く時間は長くなるが、到着した 丘は局所検索法よりも高いことが期待できる タブーサーチ(Tabu Search) 探索の過去の記憶を利用したメタヒュー リスティック ? 山頂を目指す夜の登山者 同じ場所を巡回しないように、記憶を頼りに、 常に最も高い方向を目指して進む 周りに標高の高い地点がなくなったときでも、 なるべく下り坂の勾配が小さいほうへ歩き続 ける 元の道に戻らないための目印として、属性を タブーリストに記憶する。但し、タブーリストに はタブー長だけしか記憶できず、古いものか ら順に忘れていく 山頂を目指す夜の登山者 タブー長は 2 属性 山頂を目指す夜の登山者 に戻らないよう 高いほうへ進む 山頂を目指す夜の登山者 タブー長は2 山頂を目指す夜の登山者 に戻らないよう に高いほうへ進む 遺伝的アルゴリズム (Genetic Algorithm) 複数の実行可能解を保持し、それら解を進化のア ナロジーを用いて改善していく方法 2つの解から新たな解を合成する交叉(crossover) ランダムに解の一部を変化させる突然変異 (mutation) 遺伝的アルゴリズム (Genetic Algorithm) 交叉や突然変異は実行可能性を破壊してし まう、という問題点もある 山頂を目指す夜の登山者 複数の人がばらばらに登りの方向を目指して 進む 標高の高い位置にいる2人の間に1番低い所 にいる人を移動させる 1番高い 2番目に高い 1番低い 移動後 おわり
© Copyright 2024 ExpyDoc