局所探索法

局所探索法(きょくしょたんさくほう、: local search)や逐次改善法(ちくじかいぜんほう、: iterative improvement)や近傍探索法(きんぼうたんさくほう)は、探索アルゴリズムの一種である。

概要

局所探索法とは近似アルゴリズムの中でも最も単純なアルゴリズムの枠組みの一つである。広義には後述する手法の枠組みを持つアルゴリズムの総称として使われており、狭義には山登り法の意味で使われている。今日のメタヒューリスティクスの多くの手法がこの枠組みを使用している。

「局所探索法」という言葉は主に探索アルゴリズムに対しての言葉であり、数値解析の分野に於いては「反復法」という言葉が用いられる。両者の違いとしては反復法は対象となる関数の連続性や1階微分方程式などが解っていることが前提の場合が多く、また求める解も最適解を要求されることが多いのに対し、局所探索法では離散的な関数や関数の内容自体が不明なときでも出来る限り良質な近似解を求めるということを主な目的としたものが多い。

アルゴリズムの枠組み

このアルゴリズムは以下の枠組みで実装される。

  1. 解を一つランダムに生成する。
  2. 現在の解の近傍の内一つをある条件で選び近傍解とする。
  3. 定義した条件を満たすなら、近傍解を現在の解と入れ換える。
  4. 終了条件を満たすまで 2. 以下を繰り返す。

実装にあたって定義するパラメータは以下の通りである。

  • 近傍の定義
  • 近傍解を選ぶ条件
  • 近傍解と現在の解を入れ換える条件
  • 終了条件

一般に近傍の定義は現在の解とのハミング距離が近いものや、探索状態をグラフで表したときに現在の解に近い状態などが用いられる。

終了条件は繰り返しの回数を設定するか、解の入れ換えが起こらなくなったら終了するなどがある。

近傍解を選ぶ条件と近傍解と現在の解を入れ換える条件はさまざまなものが提案され、いくつかの方法は独立のアルゴリズムとして認知されている。

局所探索法の一覧

  • 山登り法 - 全ての近傍の内で最も成績の良いものを近傍解に選び、現在の解より近傍解の成績が良ければ入れ換える方法、局所探索法の代名詞的存在である。
  • 焼きなまし法 - 近傍の内一つをランダムで選び、ある遷移確率(主にメトロポリス法)で入れ換えを行う手法。
  • タブーサーチ - 近傍を複数(全てではない)探索しその中で最も良い解を選び、必ず入れ換える方法、ただし入れ換えられた解はしばらくの間、再度入れ換える事ができない。

中には遺伝的アルゴリズムを含める者もいるが、この手法は近傍の定義が曖昧なので厳密には誤用(交叉した個体をもとの個体の近傍とすることに関して異論が多いため)。

  • 表示
  • 編集
非線形(無制約)
… 関数 
勾配法
収束性
準ニュートン法
その他の求解法
ヘッセ行列
  • 最適化におけるニュートン法(英語版)
The graph of a strictly concave quadratic function is shown in blue, with its unique maximum shown as a red dot. Below the graph appears the contours of the function: The level sets are nested ellipses.
Optimization computes maxima and minima.
非線形(制約付き)
一般
微分可能
凸最適化
凸縮小化
  • 切除平面法(英語版、デンマーク語版、ドイツ語版、スペイン語版)
  • 簡約勾配法
  • 劣勾配法(英語版)
線型 および
二次
内点法
ベイズ-交換
  • 単体法
  • 改訂シンプレックス法(英語版)
  • 十字法(英語版)
  • レムケの主ピボット操作法(英語版)
組合せ最適化
系列範例
(Paradigms)
グラフ理論
最小全域木
最大フロー問題
メタヒューリスティクス
  • カテゴリ(最適化 • アルゴリズム) • ソフトウェア(英語版)