問題タブ [shuffle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - NSMutableArray をシャッフルする最良の方法は何ですか?
がある場合NSMutableArray
、要素をランダムにシャッフルするにはどうすればよいですか?
(これについては私自身の回答があり、以下に掲載されていますが、私は Cocoa を初めて使用するので、より良い方法があるかどうか知りたいと思っています。)
更新: @Mukesh が指摘したように、iOS 10 以降および macOS 10.12 以降では、-[NSMutableArray shuffledArray]
シャッフルに使用できる方法があります。詳細については、 https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language=objcを参照してください。(ただし、要素をその場でシャッフルするのではなく、新しい配列を作成することに注意してください。)
algorithm - 素朴なシャッフルに関する現実の問題
私はポーカー関連のトピックを使ってプログラミングの概念を始めることを教えることを目的とした多くの記事を書いています。現在、シャッフルのテーマに取り組んでいます。
Jeff AtwoodがCodingHorror.comで指摘しているように、1つの単純なシャッフル方法(配列を繰り返し、各カードを配列内の他の場所のランダムなカードと交換する)は、順列の不均一な分布を作成します。実際のアプリケーションでは、より均一なランダム性のためにKnuthFisher-Yatesシャッフルを使用します。しかし、私は、プログラミングの概念の説明を、はるかにコーダーに適さないアルゴリズムで行き詰まらせたくありません。
これは質問につながります:あなたが52枚のカードのデッキの素朴なシャッフルを使用していることを彼らが知っていたら、ブラックハットはどれだけの利点を持っているでしょうか?非常に小さいようです。
java - Collections API を使用してシャッフルする
コレクションのシャッフルが正しく機能しない理由が分からないので、とてもイライラしています。
randomizer
配列 をシャッフルしようとしているとしましょう。
何らかの理由で、シャッフル メソッドを呼び出すかどうかに関係なく、要素はまったく同じように並べ替えられたままになります。何か案は?
algorithm - 同一の要素が隣り合うのを避けるために、リストをシャッフルします (重複あり)
array[i] == array[i+1] が可能な限り回避されるように、重複を含む要素のリストをシャッフルする「最良の」方法があるかどうか疑問に思っています。
重み付けされた広告表示に取り組んでおり (特定の広告主のローテーションあたりの表示数を調整できます)、同じ広告主が 2 回続けて表示されるのを避けたいと考えています。
algorithm - シャッフルではなく PRNG を使用してシャッフル範囲を生成する
任意のシード値が与えられた場合、線形時間と定数空間 (出力が反復的に生成される場合) でシャッフルされた範囲 [0..n) を生成できる既知のアルゴリズムはありますか?
n が数百万のように大きいと仮定すると、すべての可能な順列を潜在的に生成する必要はありません。特に、それは実行不可能です (シード値のスペースが巨大である必要があるため)。これは、一定のスペースが必要な理由でもあります。(したがって、範囲を長さ n の配列に格納する必要があり、線形空間を使用するため、特に配列シャッフル アルゴリズムを探しているわけではありません。)
私は質問 162606を認識していますが、この特定の質問に対する回答は提示されていません。その質問で指定された順列インデックスから順列へのマッピングには、巨大なシード値スペースが必要になります。
理想的には、周期と範囲がのLCGのように機能しますが、 LCGn
を選択する技術は微妙です。LCG の全期間の制約を満たすだけで、私の要件を満たすことができるかもしれませんが、他にもっと良いアイデアがあるかどうか疑問に思っています。a
c
a
c
java - Knuth shuffle を Stack データ構造に適用する方法はありますか?
プログラミングのクラスで、最初の宿題としてブラックジャック プログラムを作成しています。教授はサンプル カード クラスを提供してくれました。これには、それらをデッキに追加する方法が含まれています。彼女のデッキでは、Collections.shuffle() メソッドを使用して簡単に Knuth シャッフルできる ArrayList を使用しています。
ただし、その方法は (明らかに) スタックでは機能しませんが、カードをデックに出し入れする可能性があるため、このプログラムにはスタック構造が最適であると思います。
shuffle - バイアスされた乱数のシャッフル
この質問について考え、参加者と話し合っていると、明確にバイアスされた乱数の有限集合をシャッフルすると、選択された順序がわからないため、乱数がランダムになるという考えが浮かびました。これは本当ですか?もしそうなら、誰かがいくつかのリソースを指すことができますか?
編集:私は少し不明確だったかもしれないと思います。不正な乱数ジェネレーターを想定します。n個の値を取ります。これらは偏っています(rngは悪いです)。複数の試行にわたるrngの出力を、既知の良好なrngの出力と統計的に一致させる方法はありますか?
python - Pythonで配列をシャッフルし、Pythonで配列項目の順序をランダム化する
Pythonで配列をシャッフルする最も簡単な方法は何ですか?