他のシャッフルアルゴリズムとの比較とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 他のシャッフルアルゴリズムとの比較の意味・解説 

他のシャッフルアルゴリズムとの比較

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/27 02:05 UTC 版)

フィッシャー–イェーツのシャッフル」の記事における「他のシャッフルアルゴリズムとの比較」の解説

フィッシャー–イェーツのシャッフル極めて効率的であり、時間的空間的な計算量最適である。偏りのない良質な乱数をもとにするならば、生成結果偏りがないことが保証される。他のアルゴリズム比較してもその長所変わらない。もしも結果順列一部のみが必要であれば必要な数の順列生成され時点で処理を中断すればよい。 異なシャッフルの手法としては、集合それぞれの要素ランダムな番号付与しその後にそれらをソートする方法がある。ソートによる手法は、フィッシャー–イェーツのシャッフルとは時間的計算量同一である。ただし、一般的なソート法の計算量は O(n log n) であり、効果的に処理するためには時間的計算量が O(n) の基数ソート用い必要があるソートによる手法も、フィッシャー–イェーツのシャッフル同じく偏りのない結果生成するが、ランダムな番号付与する際に重複しないように注意しなければならない。なぜならソートアルゴリズムは同じ値の要素並べる際はランダムにならないからである。さらにこの手法では、付与する番号のために空間的計算量 O(n) となる追加領域を必要とする。対してフィッシャー–イェーツのシャッフルでは O(1) である。ソートによる手法番号付与するため、フィッシャー–イェーツのシャッフルとは異なり並列的動作を行う。 シャッフルによる手法派生として、プログラミング言語サポートしている、ユーザ独自拡張比較機能使用して比較時にランダムな値を返すようにしてシャッフルを行う方法がある。しかし、これは「きわめて悪い方法」であり、この方法は結果がまったく均等に分布せず、ソートアルゴリズムきわめて重い。ソートアルゴリズムクイックソート実装されている場合考える。このとき、はじめに選択されるピボット英語版)は固有の要素とする。このアルゴリズムピボットその他の要素すべてを比較し大小分割し大小それぞれのグループサイズによりピボット要素最終位置決められる乱数列均一に分布されるためには、ピボット要素最終位置どの位置にも等しく配置される可能性なければならない。しかし、はじめの比較において、「より小さい」「より大きい」の判定等しく行ってしまうため、ピボット要素位置確率は p = 1/2 の二項分布をとる。つまり、両端よりも中央に近い方に配置されてしまう可能性が高い。マージソートのような違ったソート法でランダムな比較使用した場合、より均一な結果取得できることもある。しかしそれも完全ではない。マージソート場合二つ数列の中からどちらか数値を同確率選択していくことで、その数列結合する。この「コイントス」のような、2通りからランダムに取得する手法繰り返す場合、(数列が2よりも大き場合は)均一な分布となることはない。なぜなら、この方法による、ある順列生成される確率は2の階乗分母とする値であるはずであり、求められている確率は 1/n! となるからである。 そしてこのシャッフル方法は、原理的に無限ループアクセス違反などのプログラム実行時のエラー引き起こすことさえある。なぜなら、ソートアルゴリズムがランダムに動作する場合順序関係例え推移関係)が正しく提供されないためである。以前比較結果依存するような、確実に結果予測されうるような比較を行うような振る舞いソートの手順の中で行われるべきではないが、意図的にこのような比較を行う明確な理由がある場合は別である。例えば、効率化のために、番兵として自分自身との比較を行うような場合は、ランダムな比較関数はこのソートアルゴリズム破壊するだろう。

※この「他のシャッフルアルゴリズムとの比較」の解説は、「フィッシャー–イェーツのシャッフル」の解説の一部です。
「他のシャッフルアルゴリズムとの比較」を含む「フィッシャー–イェーツのシャッフル」の記事については、「フィッシャー–イェーツのシャッフル」の概要を参照ください。

ウィキペディア小見出し辞書の「他のシャッフルアルゴリズムとの比較」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



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

辞書ショートカット

すべての辞書の索引

「他のシャッフルアルゴリズムとの比較」の関連用語

他のシャッフルアルゴリズムとの比較のお隣キーワード
検索ランキング

   

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



他のシャッフルアルゴリズムとの比較のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのフィッシャー–イェーツのシャッフル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS