タグ付けされた質問 「random」

このタグは、疑似ランダムか真にランダムかに関わらず、乱数とそのジェネレーターに関する質問に使用します。


17
遅いSecureRandomジェネレータをどのように処理しますか?
Javaで暗号的に強力な乱数が必要な場合は、を使用しますSecureRandom。残念ながら、SecureRandom非常に遅くなる可能性があります。/dev/randomLinux で使用する場合、十分なエントロピーが増加するのを待つことをブロックできます。パフォーマンスの低下をどのように回避しますか? 誰かがこの問題の解決策としてアンコモン数学を使用しましたか? このパフォーマンスの問題がJDK 6で解決されたことを誰かが確認できますか?

8
MD5が衝突を起こす前のランダム要素の数は?
Amazon S3に画像ライブラリがあります。画像ごとに、サーバー上のソースURLと一意のファイル名を取得するためのタイムスタンプをmd5します。S3はサブディレクトリを持つことができないため、これらの画像をすべて1つのフラットフォルダーに保存する必要があります。 生成されるMD5ハッシュ値の衝突について心配する必要がありますか? おまけ:MD5が生成するハッシュ値で衝突が発生し始める前に、いくつのファイルを取得できますか?
164 random  md5  hash 

2
161803398は「特別な」番号ですか?Math.Random()の内部
答えは「数学のため」ではないかと思いますが、誰かが基本的なレベルでもう少し洞察を与えてくれることを望んでいました... 今日は、BCLソースコードをざっと見て、以前に使用したクラスの一部が実際にどのように実装されているかを確認しました。(疑似)乱数を生成する方法についてこれまで考えたことがないので、どうやってそれを行うかを確認することにしました。 ここで完全なソース:http : //referencesource.microsoft.com/#mscorlib/system/random.cs#29 private const int MSEED = 161803398; このMSEED値は、Random()クラスがシードされるたびに使用されます。 とにかく、私はこの「マジックナンバー」-161803398-を見ました、そして私はそのナンバーが選ばれた理由について最も曖昧な考えを持っていません。これは素数でも2の累乗でもありません。より重要であるように見える数の「中間」ではありません。私はそれを2進数と16進数で見て、まあ、それは私には数のように見えました。 Googleで番号を検索してみましたが、何も見つかりませんでした。
162 c#  .net  algorithm  random 

14
列挙型からランダムな値を選びますか?
私がこのような列挙型を持っている場合: public enum Letter { A, B, C, //... } ランダムに1つを選択する最良の方法は何ですか?本番品質の完全なものである必要はありませんが、かなり均等に配布することをお勧めします。 私はこのようなことができました private Letter randomLetter() { int pick = new Random().nextInt(Letter.values().length); return Letter.values()[pick]; } しかし、もっと良い方法はありますか?これは以前に解決された問題だと思います。
161 java  random  enums 

8
乱数ジェネレータを正しくシードする方法
私はGoでランダムな文字列を生成しようとしています、そしてこれが私がこれまでに書いたコードです: package main import ( "bytes" "fmt" "math/rand" "time" ) func main() { fmt.Println(randomString(10)) } func randomString(l int) string { var result bytes.Buffer var temp string for i := 0; i < l; { if string(randInt(65, 90)) != temp { temp = string(randInt(65, 90)) result.WriteString(temp) i++ } } return result.String() …
160 random  go 


13
範囲からランダムな整数を生成する
特定の範囲(境界値を含む)でランダムな整数を生成する関数が必要です。不合理な品質/ラン​​ダム性の要件はありません。4つの要件があります。 私はそれが速くなる必要があります。私のプロジェクトでは数百万(場合によっては数千万)の乱数を生成する必要があり、現在のジェネレーター関数がボトルネックであることが判明しています。 私はそれが適度に均一である必要があります(rand()の使用は完全にうまくいきます)。 min-maxの範囲は、<0、1>から<-32727、32727>までです。 シード可能でなければなりません。 現在、次のC ++コードがあります。 output = min + (rand() * (int)(max - min) / RAND_MAX) 問題は、それが実際に均一ではないことです。maxは、rand()= RAND_MAXの場合にのみ返されます(Visual C ++の場合は1/32727です)。これは、<-1、1>のような小さな範囲の主要な問題であり、最後の値はほとんど返されません。 だから私はペンと紙をつかんで、次の式を思いつきました((int)(n + 0.5)整数の丸めのトリックに基づいています): しかし、それでも均一な分布は得られません。10000サンプルで繰り返し実行すると、値-1、0、1の比率は37:50:13になります。 より良い処方を提案していただけませんか?(または全体の疑似乱数ジェネレータ関数)
157 c++  random 

11
Railsでユニークなトークンを作成する最良の方法は?
これが私が使っているものです。トークンは、推測のために必ずしも聞かれる必要はありません。それは何よりも短いURL識別子のようなものであり、私はそれを短く保ちたいです。私はオンラインで見つけたいくつかの例に従いましたが、衝突が発生した場合、以下のコードでトークンが再作成されると思いますが、確信が持てません。しかし、これは縁のあたりが少し荒く感じられるので、より良い提案を見つけたいと思っています。 def self.create_token random_number = SecureRandom.hex(3) "1X#{random_number}" while Tracker.find_by_token("1X#{random_number}") != nil random_number = SecureRandom.hex(3) "1X#{random_number}" end "1X#{random_number}" end トークンのデータベース列は一意のインデックスでありvalidates_uniqueness_of :token、モデルでも使用していますが、これらはアプリでのユーザーのアクションに基づいて自動的にバッチで作成されるため(注文してトークンを購入します)、それはアプリにエラーをスローさせることはできません。 また、衝突の可能性を減らすために、最後に別の文字列を追加することもできます。これは、時間に基づいて生成されたものなどですが、トークンが長くなりすぎないようにします。

12
2つの2進数の間の乱数
2つのdoubleの間の乱数を生成することは可能ですか? 例: public double GetRandomeNumber(double minimum, double maximum) { return Random.NextDouble(minimum, maximum) } それから私はそれを次のように呼びます: double result = GetRandomNumber(1.23, 5.34); どんな考えでもいただければ幸いです。
156 c#  random 

8
JAVAでUUID文字列を生成する効率的な方法(ダッシュなしのUUID.randomUUID()。toString())
ユニークなバイトシーケンスを生成するための効率的なユーティリティが必要です。UUIDは良い候補ですが、そのUUID.randomUUID().toString()ようなものを生成します44e128a5-ac7a-4c9a-be4c-224b6bf81b20が、私はダッシュなしの文字列を好みます。 英数字のみ(ダッシュやその他の特殊記号なし)からランダムな文字列を生成する効率的な方法を探しています。
154 java  random  uuid 

30
予測可能なランダムジェネレーターの必要性
私はウェブゲームの開発者で、乱数に問題がありました。プレーヤーが剣でクリティカルヒットを得る確率が20%であるとしましょう。つまり、5ヒットのうち1ヒットが重要です。問題は、実際の結果が非常に悪いことです。5ヒットで3クリティカル、15ヒットでまったくクリティカルにならない場合があります。戦いはかなり短い(3-10ヒット)ので、良いランダム分布を得ることが重要です。 現在はPHPを使用していますがmt_rand()、コードをC ++に移動しているだけなので、ゲームの新しいエンジンでこの問題を解決したいと考えています。 解が均一な乱数発生器であるかどうか、または適切な分布を強制するために以前のランダムな状態を覚えているかもしれません。
151 c++  algorithm  random 

25
ActiveRecordのランダムレコード
ActiveRecordを介してテーブルからランダムなレコードを取得する必要があります。私は2006年からのJamis Buckの例に従いました。 ただし、Google検索を介して別の方法に遭遇したこともあります(新しいユーザーの制限により、リンクに属性を付けることはできません)。 rand_id = rand(Model.count) rand_record = Model.first(:conditions => ["id >= ?", rand_id]) ここにいる他の人がどのようにそれをしたのか、または誰かがどの方法がより効率的であるかを知っているのかどうか知りたいです。


11
C ++で乱数を生成する方法は?
私はサイコロでゲームを作ろうとしています、そしてその中に乱数を入れる必要があります(サイコロの側面をシミュレートするために。1と6の間でそれを作る方法を知っています)。使用する #include <cstdlib> #include <ctime> #include <iostream> using namespace std; int main() { srand((unsigned)time(0)); int i; i = (rand()%6)+1; cout << i << "\n"; } プログラムを数回実行すると、次のような出力が得られるため、うまく機能しません。 6 1 1 1 1 1 2 2 2 2 5 2 したがって、5回続けて同じものではなく、毎回異なる乱数を生成するコマンドが必要です。これを行うコマンドはありますか?
150 c++  random 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.