乱択アルゴリズム 応用

乱択アルゴリズム

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/04/16 01:16 UTC 版)

応用

実用的なアルゴリズムとしては最も有名なクイックソートでも、ランダム性が有効である。このアルゴリズムの決定的なバージョンで n 個の数をソートするのに要する時間は最悪で O(n2) となる(既にソートされている入力を使った場合)。しかし、事前にランダムに要素を入れ替えてからクイックソートを行うと、どんな入力であっても高い確率で O(n log n) の時間で完了する。ソート対象が大きければ大きいほど、この違いは重要となる。

より複雑な例として、グラフ理論での乱択アルゴリズムの利用として、以下のような最小カットを求める乱択アルゴリズムがある。

   procedure find_min_cut(無向グラフ G) is
       while グラフ G 中に2つ以上のノードが存在する do
           G から無作為にエッジ (u,v) を選ぶ
           そのエッジが多重辺であれば縮約する
           すべてのループを削除する
       end while
       残っているエッジを出力する
   end procedure

ここで、エッジ (u,v) を縮約するとは、新たなノード w を追加し、(u,xi) や (v,xi) といったエッジ(枝)を(w,xi)と置換し、グラフ G から u と v を削除することを意味する。

縮約の図示

n = |V[G]| とすると、このアルゴリズムが最小カットを出力する確率は最低でも n-2 であり、n2log(n) 回試行してその中で最小の出力を選べば、非常に高い確率で最小カットが得られる。


  1. ^ : expected runtime






乱択アルゴリズムと同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「乱択アルゴリズム」の関連用語

乱択アルゴリズムのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



乱択アルゴリズムのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの乱択アルゴリズム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS