ラスベガス法

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:Expand English ラスベガス法(ラスベガスほう、テンプレート:Lang-en-shortテンプレート:Efn)は、間違った解を返さない乱択アルゴリズムを指すテンプレート:Sfn。すなわち、解を返すときは常に正しく、正しい解が求められない場合は失敗を通知する。換言すれば、ラスベガス法は答え(解)については賭けをせず、計算に使用するリソース量についてのみ賭けをする。さらに平均実行時間が入力長の多項式関数で押さられるようなラスベガス法はテンプレート:訳語疑問点範囲(efficient)であるというテンプレート:Sfn。ラスベガス法の単純な例にランダム化されたクイックソートがあるテンプレート:Sfn。ピボット値をランダムに選択するクイックソートではソート結果は常に正しい。一般に無作為な情報に対してラスベガス法を使う際には、定義上、実行時間の上限を設けることが多い。

複雑性クラス

平均実行時間が多項式時間となるラスベガス法をもつ決定問題複雑性クラスZPP と呼ぶテンプレート:Sfn

次のような性質があるテンプレート:Sfn

𝐙𝐏𝐏=𝐑𝐏co-𝐑𝐏.

これは、ラスベガス法に属するアルゴリズムを構築する方法と密接に関係している。RPクラスは、多項式時間の乱択アルゴリズムがある決定問題のクラスであり、解が「no」であるときは常に正しいが、解が「yes」であるときは間違っている可能性がある。そのようなアルゴリズムが、ある問題とその補問題(「yes」と「no」が逆転した問題)について存在するとき、その2つのアルゴリズムを同時にかつ繰り返し実行するとする。すると、最終的にどちらかで間違いのない解が得られる。これが多項式時間を期待できるラスベガス法のアルゴリズムを構築する標準的な方法である。ラスベガス法には最悪実行時間の上限が存在しないことに注意されたい。

モンテカルロ法との関係

実行を途中で打ち切ることにより、ラスベガス法からモンテカルロ法を構築することもできる。モンテカルロ法は、リソースは制限されているが、解が100%正解とは限らないアルゴリズムである。

注釈

テンプレート:Notelist

出典

テンプレート:Reflist

参考文献

関連項目