問題タブ [random-seed]
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.
ruby - これらのランダムシードが「Hello World」を出力するのはなぜですか?
これらのランダム シード値を使用すると が生成されます'Hello Word'
が、なぜでしょうか?
random - シード疑似乱数ジェネレーター
シード整数と他の 2 つの整数 x と y に基づいて動作するパーリン ノイズ ジェネレーターを開発しています。
ここまでで、疑似乱数ジェネレーターは次のようになります。
しかし、この実装にはいくつかの問題があります。まず、戻り間隔が一定ではなく (理想的には、[-1, 1] または [0, 1] で作業したい)、負の x および y 値の場合、パターンがブロック状になり、有機的に見えなくなります。私のニーズに合うように私の式(またはまったく新しいもの)を変更する方法はありますか?
c++ - 異なるスレッドでランダムにシードする方法
各スレッドで多くの乱数を必要とするマルチスレッド C++ アプリケーションがあります。
C++ 11 の前は、関数を使用してメインスレッドでいくつかのランダムを生成し、rand()
各サブスレッドに異なるランダムを渡す「ランダマイザー」を使用していました。次に、すべてのサブスレッドがメインスレッドに参加し、ランダマイザーが再び使用され、新しいサブスレッドが呼び出されN
ます。
rand()
ここで、ランダマイザーを回避し、各スレッドで乱数を生成するために、C++11 に置き換えたいと思います。
次のように乱数ジェネレーターをシードしたいと思います: * シードのシーケンスは実行ごとに変化します * 各スレッドの乱数のシーケンスはスレッドごとに異なります (スレッドが異なるループで呼び出された場合も)
私はそのような種付けを考えました:
this_thread::get_id().hash()
これは「乱数」である ため、私にとっては良いことですが、異なるループで同じ ID を取得できる場合があります。
一部のスレッドで乱数の同じシーケンスを取得しないようにするために、乱数ジェネレーターをランダムにシードするにはどうすればよいですか?
java - バージョンとプラットフォーム間で一貫した乱数
パスワードの生成に使用する乱数 (完全ではない) を取得する必要があります。
私がしていること: 現在、私はSecureRandomでそれらを生成しています。
でオブジェクトを取得しています
そして、このようにシードします
Target : 乱数を作成する (できれば高速な) 方法で、少なくとも SHA1PRNG SecureRandom 実装と同様に暗号学的に安全です。これらは、JRE と Android の異なるバージョンで同じである必要があります。
編集: シードはユーザー入力から生成されます。
問題: 次SecureRandom.getInstance("SHA1PRNG", "SUN");
のように失敗します:
java.security.NoSuchProviderException: SUN
. 省略, "SUN"
すると乱数が生成されますが、それらはデフォルト(JRE 7) の数値とは異なります。
質問: どうすれば目標を達成できますか?
あなたはそれが予測可能であることを望んでいません:同じ前提条件が同じ出力をもたらすように予測可能性が必要なので、私は望んでいます。それらが同じでない場合、ユーザーがアプリケーションに期待することを実行するのは不可能 です。
編集: 予測可能とは、1 バイト (または 100) を知っている場合は次を予測できないはずですが、シードを知っている場合は最初 (および他のすべて) を予測できるはずです。たぶん、別の単語が再現可能です。
もっと直感的な方法を知っている人がいたら教えてください!
c# - システム間の決定論的乱数生成
同一の乱数列をアプリケーションの分散ネットワークに送信する必要があります。
このようなシーケンスは非常に長くなる可能性があるため、(ランダムに生成された) 集中シード初期化番号と目的のシーケンスの長さだけを送信することを考えていました。
受信側のすべてのコンポーネントが同じ .NET バージョンを使用することを考えると、すべてのノードで同一のランダム データを生成することは実行可能なソリューションでしょうか?
java - JavaのランダムシードMath.random
私のコードでは、さまざまなクラスで乱数を使用しています。ランダムシードを定義するには? メイン コードのすべてのクラスに対してこのシードを定義できますか?
java - SecureRandom (SHA1PRNG) シードの秘密を保持します - シードする前にハッシュを計算しますか?
SHA1PRNG で SecureRandom を使用して、ランダムなシーケンスを生成しています。私は SecureRandom 自体にシードを許可しません。独自の値を使用してシードしています。(これが安全でないと言わないでください。私にはこれを行う理由があります)。
ただし、使用したシードを誰にも知られたくありません。シードは秘密のままにしておく必要があり、ランダム シーケンスからシードを再計算することはできません。
私の値から SHA-512 を計算し、それを SecureRandom にシードすることは理にかなっていますか? それとも、SecureRandom はシード自体から SHA1 ハッシュを作成しますか?
簡単に言えば、「値」を秘密にしたい場合、「値」.getBytes() または「値」の SHA-512 ハッシュを使用して SecureRandom をシードする必要がありますか?
SHA1PRNG アルゴリズムの仕組みに関する情報はどこで入手できますか?