TL;DR

評価関数の極値を探す、代表的な局所探索のアルゴリズム。今の解の近傍で最も良い解に移ることを、改善できなくなるまで繰り返す。

仕組み

Wikipedia によると、山登り法は、最良優先探索の探索対象を現在の解だけに限ったものである。手順は次のとおり。

  1. 現在の解の近傍から、最も成績の良い解を選ぶ
  2. その解が現在の解より良ければ、現在の解と入れ替える
  3. 近傍の解が現在の解を上回らなくなったら、探索を終えてその解を返す

注意点

極値を見つけた時点で止まるので、評価関数全体の最大値や最小値を探す方法としては不完全である。対策として、初期値をランダムに(または等間隔に)複数選んで探索し、見つかった極値の中から最も良いものを選ぶ方法がある。

関連

出典