問題タブ [random]
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.
assembly - アセンブラでプログラミングして、クロックから乱数発生器のシードを取得する方法
コンパイラ、TASM 5
アーキテクチャ x86。
乱数生成アルゴリズムの場合、クロックをシードとして使用します。
私はその解決策を見つけました:
c++ - POSIXでランダムダブルを生成する最良の方法は何ですか?
[0.0, 1.0) の範囲で一様分布を取得したい
可能であれば、実装で/dev/urandom からのランダム バイトを使用できるようにしてください。
あなたのソリューションがthread-safeであればそれもいいでしょう。不明な場合は、その旨をご指示ください。
他の回答を読んだ後に考えた解決策を見てください。
arrays - 0 と上限 N の間の K 個の非反復整数のリストを効率的に生成するにはどうすればよいですか?
この質問は、必要なすべてのデータを提供します。指定された間隔[0,N-1]内でK個の非反復整数のシーケンスを生成する効率的なアルゴリズムは何ですか。Kが大きく、 Nに十分近い場合、簡単なアルゴリズム (乱数を生成し、それらをシーケンスに追加する前にそれらが既に存在するかどうかを調べます) は非常にコストがかかります。
リンクされたリストから一連のランダムな要素を効率的に選択するで提供されているアルゴリズムは、必要以上に複雑に見え、いくつかの実装が必要です。関連するすべてのパラメーターを1回のパスで知っている限り、問題なく機能するように見える別のアルゴリズムを見つけました。
c++ - マップ内のランダム要素
マップからランダムな要素を選択する良い方法は何ですか? C++. マップにはランダム アクセス イテレータがないことを理解しています。キーは long long で、マップはまばらに入力されています。
objective-c - Objective-C での乱数の生成
私は主に Java ヘッドであり、0 から 74 までの疑似乱数を生成する方法が必要です。Java では、次のメソッドを使用します。
シードや真のランダム性についての議論には興味がありません。Objective-C で同じタスクをどのように達成するかということだけです。私はGoogleを精査しましたが、多くの異なる情報や矛盾する情報がたくさんあるようです.
algorithm - Iterating shuffled [0..n) without arrays
I know of a couple of routines that work as follows:
Xn+1 = Routine(Xn, max)
For example, something like a LCG generator:
Xn+1 = (a*Xn + c) mod m
There isn't enough parameterization in this generator to generate every sequence.
Dream Function:
Xn+1 = Routine(Xn, max, permutation number)
This routine, parameterized by an index into the set of all permutations, would return the next number in the sequence. The sequence may be arbitrarily large (so storing the array and using factoradic numbers is impractical.
Failing that, does anyone have pointers to similar functions that are either stateless or have a constant amount of state for arbitrary 'max', such that they will iterate a shuffled list.
sql - MS SQL Server 2005でRAND()を使用するときに何が間違っていますか?
小さなテーブルからランダムに10%のサンプリングを選択しようとしています。RAND()関数を使用して、乱数が0.10未満の行を選択すると思いました。
しかし、私はすぐにRAND()が常に同じ数を返すことを発見しました!このxkcdの漫画を思い出させます。
OK、問題ありません。RAND関数はシード値を取ります。このクエリは定期的に実行しますが、別の日に実行すると異なる結果が得られるようにしたいので、日付と一意の行IDの組み合わせをシードします。
まだ結果が出ません!RANDから返された乱数を表示すると、それらがすべて狭い範囲内にあることがわかります。RANDから乱数を取得するには、ランダムシードを使用する必要があるようです。そもそも乱数シードがあれば、乱数は必要ありません!
私はこの問題に関連する以前の議論を見てきました:
SQL ServerランダムソートSQL
でランダム行を要求するにはどうすればよいですか?
彼らは私を助けません。TABLESAMPLEはページレベルで機能します。これは大きなテーブルには最適ですが、小さなテーブルには適していません。WHERE句の前に適用されるようです。必要な行数が事前にわからないため、NEWIDを使用したTOPは機能しません。
誰かが解決策、または少なくともヒントを持っていますか?
編集:私の特定のケースで機能するソリューションを提供してくれたAlexCuseに感謝します。さて、より大きな質問に、RANDをどのように動作させるか?
c++ - 手続き型コンテンツ用の高速疑似乱数ジェネレーター
各数値を生成する前にシードが与えられたときに高速に動作するように特化された疑似乱数ジェネレーターを探しています。私がこれまで見てきたほとんどのジェネレーターは、シードを一度設定してから、長い数列を生成することを前提としています。これまで見てきたのと少し似ているのはパーリン ノイズだけですが、あまりにも「滑らかな」データを生成します。同様の入力に対して、同様の結果が生成される傾向があります。
ジェネレーターの宣言は次のようになります。
または:
入力をハッシュして結果を RandomNumber1 に渡すことで RandomNumber3 を実装することができるため、適切な RandomNumber1 があれば十分だと思いますが、一部の実装で独立した入力を使用できる場合に備えて、2 番目のプロトタイプを作成しました。
このジェネレーターの使用目的は、グリッドに木を配置し、ランダムな樹種と各場所のランダムな空間オフセットを決定することで森林を生成するなど、手続き型コンテンツ ジェネレーターに使用することです。
プロシージャルコンテンツはレンダリング中にリアルタイムで大量に作成されるため、ジェネレーターは非常に効率的 (500 CPU サイクル未満) である必要があります。
sql - SQL Server 2005 の複数のランダム値
SQL Server 2005 で複数のランダム値を生成する必要がありますが、どういうわけかこれはうまくいきません
推奨される回避策は何ですか?
unit-testing - 疑似乱数ジェネレーターを単体テストする方法は?
単体テストしたい疑似乱数ジェネレーター (PRNG) クラスがあります。次の 2 つの方法があります。
- 大量のサンプルを取るテスト ケースを作成し、それらが適切に配布されているかどうかをテストします。この方法では、テスト ケースの実行時間がかなり長くなる可能性があります。
- サンプルの小さなシリーズを「手作業で」計算し、PRNG アルゴリズムがそれを再現するかどうかを検証します。このアプローチは、気づかれずにランダムではないシーケンスが生成される可能性があります。
最初のアプローチは、ジェネレーターのホワイト ボックス テストを実行しないため、ユニット テストではないと思いますが、クラスの責任を適切にテストします。2 番目のアプローチは、アルゴリズムに焦点を当てた実際の単体テストに似ていますが、クラスがその責任を果たしているかどうかについての証拠はあまりありません。
どちらのアプローチを好みますか、またその理由は何ですか?