TL;DR
評価関数の極値を探す、代表的な局所探索のアルゴリズム。今の解の近傍で最も良い解に移ることを、改善できなくなるまで繰り返す。
仕組み
Wikipedia によると、山登り法は、最良優先探索の探索対象を現在の解だけに限ったものである。手順は次のとおり。
- 現在の解の近傍から、最も成績の良い解を選ぶ
- その解が現在の解より良ければ、現在の解と入れ替える
- 近傍の解が現在の解を上回らなくなったら、探索を終えてその解を返す
注意点
極値を見つけた時点で止まるので、評価関数全体の最大値や最小値を探す方法としては不完全である。対策として、初期値をランダムに(または等間隔に)複数選んで探索し、見つかった極値の中から最も良いものを選ぶ方法がある。