ランダム化アルゴリズムの分類


14

ウィキペディア乱択アルゴリズムについて

予想される実行時間またはメモリ使用量を減らすためにランダム入力を使用するアルゴリズムを区別する必要がありますが、限られた時間内で常に正しい結果で終了します。また 、ランダム入力に応じてチャンスがある確率的アルゴリズム間違った結果を生成する(モンテカルロアルゴリズム)または失敗を通知するか終了しないことで結果を生成しない(ラスベガスアルゴリズム)。

  1. 最初の種類のアルゴリズムでは、ランダム入力を使用して、予想される実行時間またはメモリ使用量を削減しますが、制限された時間内に正しい結果で常に終了する方法を疑問に思いましたか?
  2. 結果の生成に失敗する可能性があるラスベガスアルゴリズムとラスベガスアルゴリズムの違いは何ですか?
  3. 正しく理解すれば、確率的アルゴリズムとランダム化アルゴリズムは同じ概念ではありません。確率的アルゴリズムはランダム化アルゴリズムの一種であり、他の種類はランダム入力を使用して予想実行時間またはメモリ使用量を削減しますが、制限された時間内に常に正しい結果で終了しますか?

回答:


12
  1. そのようなアルゴリズムの例は、ランダム化されたクイックソートです。ここでは、リストをランダムに並べ替えるか、ピボット値をランダムに選択し、通常どおりクイックソートを使用します。クイックソートの実行時間は最悪の場合ですが、ランダムリストの予想実行時間はであるため、常に後に終了しますただし、ランダム化されたインスタンスは、ステップの後に終了し、常に正しい答えが返されることを期待できます。On2OnログnOn2Onログn

  2. これにより、ラスベガスのアルゴリズムのサブセットが提供されます。ラスベガスのアルゴリズムでは、少しの時間で終了するだけでなく、(低い確率で)まったく終了しない可能性も考慮されています。

  3. これらは、実際には、モンテカルロアルゴリズムの一種にすぎず、答えが間違っている可能性があります(確率が低い)。

もちろん、私が残した詳細はたくさんあります。これらのアイデアを形式化する複雑度クラスZPP、RP、およびBPPを調べてください。


ありがとう!ランダム化アルゴリズム、モンテカルロアルゴリズム、および確率的アルゴリズムは同じ概念ですか?
ティム

はい。ただし、モンテカルロアルゴリズムは特定のタイプの確率的アルゴリズムです(クラスBPPに対応-確率的であるPPのような他のクラスがありますが、おそらく!-BPP以上を含みます)。なぜその文章がウィキペディアの記事に載っているのかわかりません。おそらく誰かが確率分析と混同してしまいました。
ルークマティソン

8

ランダム化アルゴリズム確率的アルゴリズムという2つの用語は、2つの異なるコンテキストで使用されます。ランダム化アルゴリズムは、使用しない決定論的アルゴリズムとは対照的に、ランダム性を使用するアルゴリズムです。確率的アルゴリズム、たとえば素数性テストの確率的アルゴリズムは、ランダム性を使用するアルゴリズムであり、(可能であれば)わずかな確率でエラーを発生させる可能性があります。

モンテカルロアルゴリズムラスベガスアルゴリズムの間で重要な区別をする必要があります。ラスベガスのアルゴリズムは、常に正しい答えを返すランダム化されたアルゴリズムですが、その実行時間はコインの投げに依存します。例は整数因数分解アルゴリズムです。それらは常に正しい因子を返しますが、実行時間はランダム性に依存します。ラスベガスのアルゴリズム(ファクタリングアルゴリズムなど)の実行時間を示す場合、実際に予想される実行時間を示します。運が悪ければ、アルゴリズムの実行時間が長くなる可能性があります。

一方、モンテカルロアルゴリズムは、実行時間が事前に設定されているランダム化アルゴリズムです。このようなアルゴリズムは間違いを犯す可能性がありますが、通常、エラーの確率は非常に低くなります。良い例は、確率的素数テストです。これらのアルゴリズムは非常に高速ですが、エラーが発生する可能性があります。ただし、エラーの確率は低く、実際にはミスを犯すことはありません。

すべてのラスベガスアルゴリズムは、十分な時間の経過後に実行を停止することでモンテカルロアルゴリズムに変換できるため、ラスベガスアルゴリズムはある意味でモンテカルロアルゴリズムよりも「優れています」。


これらの定義の参照を引用できますか?
R.ショパン

ウィキペディアには、関連する参考文献がいくつかあります。
ユヴァルフィルマス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.