問題タブ [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.
vb6 - Vb6 0〜9のランダムな文字列とx文字のazを作成するにはどうすればよいですか
0〜9とaz / AZを使用して長さがx文字のランダムな文字列を作成しようとしていますが、良い例が見つからないようです。アイデアはありますか?
java - SecureRandom: 1 回または必要なたびに初期化しますか?
私たちのチームは、SecureRandom を使用して鍵ペアのリストを生成しています (SecureRandom は KeyPairGenerator に渡されます)。次の 2 つのオプションのどちらを使用するかについては、合意できません。
キーペアを生成する必要があるたびに新しいインスタンスを作成する
静的インスタンスを初期化し、それをすべてのキー ペアに使用する
一般的にどのアプローチが優れているか、またその理由は?
追加: 私の直感では、2 番目のオプションの方が安全です。しかし、私の唯一の議論は、疑似ランダム性が現在のタイムスタンプから導出されるという仮定に基づく理論的な攻撃です。誰かがキーペアの作成時間を見て、周囲の時間間隔でタイムスタンプを推測し、可能な疑似乱数シーケンスを計算し、キー素材。
追加: タイムスタンプに基づく決定論に関する私の仮定は間違っていました。それが、Random と SecureRandom の違いです。したがって、答えは次のようになります。セキュリティの観点からは、それほど重要ではありません。
.net - System.Randomは同じ値を返し続けます
アプリケーション全体で固定シードを使用してインスタンス化されるSystem.Randomオブジェクトを使用しています。NextDoubleメソッドを呼び出していますが、しばらくすると0.0になります。
これに対する救済策はありますか、他の誰かがこれに遭遇しましたか?
編集:便宜上、実行全体で1つのシードを1000に設定しています。random.NextDoubleは数十万回呼び出されます。これはオプティマイザーアプリケーションであり、数時間実行できますが、これは実際には10〜0分の実行後に発生します。最近、アプリにランダムな呼び出しをもう少し追加しました。
theory - 代替エントロピーソース
さて、これは完全に主観的なものだと思いますが、乱数ジェネレーターのエントロピーソースについて考えていました。ほとんどのジェネレーターには現在の時刻がシードされていますよね?さて、私は他のどのソースを使用して完全に有効なランダムな(緩い定義の)数値を生成できるかについて興味がありました。
複数のソース(時間+現在のHDDシーク時間[ここでは素晴らしい]など)を一緒に使用すると、単一のソースよりも「ランダムな」数値が作成されますか?ソースの量の論理的な制限は何ですか?本当にいくらで十分ですか?便利だからといって時間が選ばれるのでしょうか?
このようなことが許されないのならすみませんが、情報源の背後にある理論については興味があります。
python - リストからアイテムをランダムに選択するにはどうすればよいですか?
次のリストがあるとします。
このリストからアイテムをランダムに取得する最も簡単な方法は何ですか?
c# - グラフで明確に異なる RGB カラーを生成する
グラフを生成してさまざまなデータ セットを表示する場合、通常はセットを色で区別することをお勧めします。したがって、1 つの線は赤で、次の線は緑などです。問題は、データセットの数が不明な場合、これらの色をランダムに生成する必要があり、多くの場合、互いに非常に近い色 (緑、薄緑など) になることです。
これを解決する方法と、はっきりと異なる色を生成する方法についてのアイデアはありますか?
C# および RGB ベースの色の例 (問題と解決策について簡単に説明できる場合は、例を挙げずに自由に議論してください) があれば幸いです。
random - 乱数ジェネレーター: クラス レベルまたはメソッド レベル?
乱数ジェネレーターを使用する場合、これは新しい値のランダム性を高めるために使用するより良い方法です。
毎回 RNG の新しいインスタンスをインスタンス化し、値を返すメソッドがありますか?
クラス レベルで RNG のインスタンスがあり、これはコンストラクターで一度インスタンス化され、既存のインスタンスを使用して新しいランダム値の後続のすべての呼び出しが行われますか?
問題は、多くの場合、互いに接続されていない異なるスコープで、乱数の呼び出しが多数ある可能性があることです。
これはパフォーマンスの問題ではないため、各呼び出しが新しいインスタンスをインスタンス化する可能性があるという事実は違いはありません。これはすべて、戻り値のランダム性に関するものです。
php - 乱数生成アルゴリズム
乱数を生成し、特定の user_id のデータベース内のテーブルに発行しようとしています。問題は、同じ番号を 2 回使用できないことです。これを行う方法は無数にありますが、アルゴリズムに非常に熱心な人が、次の基準が満たされているという点で、洗練されたソリューションで問題を解決する賢い方法を持っていることを願っています。
1) データベースへのクエリが最小限に抑えられます。2) メモリ内のデータ構造のクロールが最小限に抑えられます。
基本的に、アイデアは次のことを行うことです
1) 0 から 9999999 までの乱数を作成します
2) その数が存在するかどうかを確認するためにデータベースをチェックします
または
2) すべての数についてデータベースにクエリを実行します
3) 返された結果がデータベースから取得したものと一致するかどうかを確認します
4) 一致する場合は、繰り返しますステップ1、そうでない場合、問題は解決されています。
ありがとう。
c++ - srand を初期化する推奨方法は?
C++ で疑似乱数ジェネレーターを初期化する「良い」方法が必要です。次のような記事を見つけました。
乱数のような数値を生成するために、srand は通常、実行時間に関連する値など、特定の値に初期化されます。たとえば、関数 time によって返される値 (ヘッダー ctime で宣言) は 1 秒ごとに異なります。これは、ほとんどのランダム化のニーズに対して十分に特徴的です。
Unixtime は、私のアプリケーションには十分に特徴的ではありません。これを初期化するより良い方法は何ですか? 移植可能であればボーナス ポイントですが、コードは主に Linux ホストで実行されます。
int を取得するために pid/unixtime の計算を行うか、/dev/urandom
.
ありがとう!
編集
はい、実際にアプリケーションを 1 秒間に複数回起動していますが、衝突が発生しました。
c++ - C++で何かが起こる可能性が1/4であるかどうかを計算する最良の方法は?
スマートに調べる方法がないか考えてみた
1/4の確率で何かが起こる。
rand() % 4 を使用してこれを実行し、それが 0 に等しいかどうかを確認できることはわかっていますが、rand() を使用しない方法はありますか? C ++で、ありがとう。