擬似乱数発生器について語ろうか。その2
前スレ
擬似乱数
http://pc11.2ch.net/test/read.cgi/tech/1146071975/
関連スレ
【危険】とんでもプログラム告発スレッド【悪質】
http://pc11.2ch.net/test/read.cgi/tech/1191860116/
SIMD-oriented Fast Mersenne Twister (SFMT):
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html
疑似乱数2
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2007/10/17(水) 22:34:59398デフォルトの名無しさん
2011/12/11(日) 08:35:49.22 他の人たちは 390 が何をしたいか分かったの?
もっとちゃんと問題を定義したらズバリの答えが出る気がするけど。
>>396
余計なお世話かもしれないが、単精度浮動小数点数の乱数を作るのは
(rand() & 0x7fffff) | 0x3f800000
として [1.0 .. 2.0) を作り、必要に応じて線形変換するのが常道。
バイアス部分にも乱数のビットを埋めるのは好ましくない。
で、もし本当に 32bits 必要なら、単精度じゃなくて倍精度を選ぶべきかもしれない。
> どうも模様が見えてしまう結果になります
これが周期の問題なのだとしたら、余計なことしないで単にメルセンヌツイスターを使うだけの方が乱数性も処理速度も好ましいものになるだろう。
もっとちゃんと問題を定義したらズバリの答えが出る気がするけど。
>>396
余計なお世話かもしれないが、単精度浮動小数点数の乱数を作るのは
(rand() & 0x7fffff) | 0x3f800000
として [1.0 .. 2.0) を作り、必要に応じて線形変換するのが常道。
バイアス部分にも乱数のビットを埋めるのは好ましくない。
で、もし本当に 32bits 必要なら、単精度じゃなくて倍精度を選ぶべきかもしれない。
> どうも模様が見えてしまう結果になります
これが周期の問題なのだとしたら、余計なことしないで単にメルセンヌツイスターを使うだけの方が乱数性も処理速度も好ましいものになるだろう。
399デフォルトの名無しさん
2011/12/11(日) 08:58:54.46400デフォルトの名無しさん
2011/12/12(月) 19:02:48.17 >>398
>(rand() & 0x7fffff) | 0x3f800000
>として [1.0 .. 2.0) を作り、必要に応じて線形変換するのが常道。
これは知らなかった。
rand() / (RAND_MAX_1)とばかり。
>(rand() & 0x7fffff) | 0x3f800000
>として [1.0 .. 2.0) を作り、必要に応じて線形変換するのが常道。
これは知らなかった。
rand() / (RAND_MAX_1)とばかり。
401デフォルトの名無しさん
2011/12/12(月) 19:13:08.54 fmul一回分だけお得と
まあ大抵は再度後から掛けるだろうけど
まあ大抵は再度後から掛けるだろうけど
402デフォルトの名無しさん
2011/12/14(水) 20:11:28.68 9bit損するからじゃね?
403デフォルトの名無しさん
2011/12/21(水) 14:23:42.69 音のノイズなら線形合同のほうがいいよ
偏りや周期を聞き分ける人がいたら神だよ
偏りや周期を聞き分ける人がいたら神だよ
404デフォルトの名無しさん
2011/12/24(土) 15:01:03.98 上位ビット使うんだぞ
405デフォルトの名無しさん
2011/12/24(土) 18:33:56.26 気をつけます。
406デフォルトの名無しさん
2011/12/25(日) 00:38:03.89407デフォルトの名無しさん
2011/12/25(日) 10:38:56.24408デフォルトの名無しさん
2011/12/30(金) 00:08:06.52 もうJKISS32でいいんじゃないか。周期も2^121くらいあるみたいだし。
http://www.cs.ucl.ac.uk/staff/d.jones/GoodPracticeRNG.pdf
/* Implementation of a 32-bit KISS generator which uses no multiply instructions */
static unsigned int x=123456789,y=234567891,z=345678912,w=456789123,c=0;
unsigned int JKISS32()
{
int t;
y ^= (y<<5); y ^= (y>>7); y ^= (y<<22);
t = z+w+c; z = w; c = t < 0; w = t&2147483647;
x += 1411392427;
return x + y + w;
}
http://www.cs.ucl.ac.uk/staff/d.jones/GoodPracticeRNG.pdf
/* Implementation of a 32-bit KISS generator which uses no multiply instructions */
static unsigned int x=123456789,y=234567891,z=345678912,w=456789123,c=0;
unsigned int JKISS32()
{
int t;
y ^= (y<<5); y ^= (y>>7); y ^= (y<<22);
t = z+w+c; z = w; c = t < 0; w = t&2147483647;
x += 1411392427;
return x + y + w;
}
409デフォルトの名無しさん
2011/12/30(金) 16:57:53.03 129ビットぶんの状態があるように見えるけど周期は2^121なのか
加算の使い方がまたなんとも
加算の使い方がまたなんとも
410デフォルトの名無しさん
2012/01/02(月) 18:16:00.13 L・C・G!L・C・G!
411デフォルトの名無しさん
2012/07/24(火) 08:00:03.47 wikipediaにある
'特定の範囲で乱数を求めたいときにはa = rand() % 10とする方法も広く知られているが、線形合同法などの下位ビットの乱数としての品質が低い生成法に備えるため上記のコード例のような上位にあるビットを利用するコードが推奨されている'
ってどいういうこと?
(int)((rand() / ((double)RAND_MAX+1.0)) * 2);
と
rand()%2
で1000000回、乱数を生成して比較してみたけど、平均値と0.5の差はどちらもオーダー的にほとんど変わらないのだけど、
'特定の範囲で乱数を求めたいときにはa = rand() % 10とする方法も広く知られているが、線形合同法などの下位ビットの乱数としての品質が低い生成法に備えるため上記のコード例のような上位にあるビットを利用するコードが推奨されている'
ってどいういうこと?
(int)((rand() / ((double)RAND_MAX+1.0)) * 2);
と
rand()%2
で1000000回、乱数を生成して比較してみたけど、平均値と0.5の差はどちらもオーダー的にほとんど変わらないのだけど、
412デフォルトの名無しさん
2012/07/24(火) 08:24:36.56 面倒だから
乱数 下位ビット
でググってもらっていいかな。
乱数 下位ビット
でググってもらっていいかな。
413デフォルトの名無しさん
2012/07/24(火) 08:26:01.03 >>411
品質が悪いと、奇数偶数が交互にしか出なかったりする。
品質が悪いと、奇数偶数が交互にしか出なかったりする。
414デフォルトの名無しさん
2012/07/24(火) 09:00:13.60415デフォルトの名無しさん
2012/07/24(火) 09:04:24.07 MTはかまわないよ
だめなのは質の悪い乱数に限った話
線形合同法はその代表格
だめなのは質の悪い乱数に限った話
線形合同法はその代表格
416デフォルトの名無しさん
2012/07/24(火) 15:07:40.15 %は法の数が大きいと分布の偏りが大きくなる。
417デフォルトの名無しさん
2012/07/24(火) 16:50:20.82418デフォルトの名無しさん
2012/07/24(火) 17:06:19.28419デフォルトの名無しさん
2012/07/24(火) 17:57:44.60420デフォルトの名無しさん
2012/07/24(火) 19:19:37.18 法(のり)
>>414
今は線形合同法といっても、計算で仕様するビット全部ではなく、上位の一部を表に返す、とかするものもあるようだ。
http://en.wikipedia.org/wiki/Linear_congruential_generator
今は線形合同法といっても、計算で仕様するビット全部ではなく、上位の一部を表に返す、とかするものもあるようだ。
http://en.wikipedia.org/wiki/Linear_congruential_generator
422デフォルトの名無しさん
2012/07/25(水) 06:50:57.92 線形合同法は比較的単純な弱点が多いから、使う側が完全に把握して使うべきであって、
ライブラリ側でそういう配慮をするのはよくない(そういう配慮をして、ブラックボックス的に
使わせるなら他の生成法にすべき)。
ライブラリ側でそういう配慮をするのはよくない(そういう配慮をして、ブラックボックス的に
使わせるなら他の生成法にすべき)。
423デフォルトの名無しさん
2012/07/30(月) 22:53:54.77 久々に見たらスレが進んでいるなと思ったら
>>411
> 1000000回、乱数を生成して比較してみたけど、平均値と0.5の差はどちらもオーダー的にほとんど変わらないのだけど
これは本当にひどい
高校生でさえ鋭い奴は問題に気が付くレベル
>>411
> 1000000回、乱数を生成して比較してみたけど、平均値と0.5の差はどちらもオーダー的にほとんど変わらないのだけど
これは本当にひどい
高校生でさえ鋭い奴は問題に気が付くレベル
424デフォルトの名無しさん
2012/08/01(水) 07:50:35.33 >>413
それを定量的に調べる方法はありますか?
それを定量的に調べる方法はありますか?
425デフォルトの名無しさん
2012/08/01(水) 08:14:03.90426デフォルトの名無しさん
2012/08/03(金) 08:40:44.06 メルセンヌ・ツイスタでseedはどうやって与えれば良いの?
427デフォルトの名無しさん
2012/08/03(金) 08:47:28.71 初期化関数の引数にシードを与えればいいよ。
428デフォルトの名無しさん
2012/08/03(金) 09:07:33.39 それやってみたのですが、最初の方は似たような数字になってしまいます。
429デフォルトの名無しさん
2012/08/03(金) 09:17:44.87 内部状態が2kバイト強あるから、先頭から4kバイト弱ぶんぐらい読み飛ばす。
あと、十分な量のseedを与えることができるインタフェースが用意されてないか、確認する。
あと、十分な量のseedを与えることができるインタフェースが用意されてないか、確認する。
430デフォルトの名無しさん
2012/08/03(金) 09:22:52.54 >>428
それ、小さいシードで初期化するときの実装が古いやつなんじゃないか?
それ、小さいシードで初期化するときの実装が古いやつなんじゃないか?
431デフォルトの名無しさん
2012/08/03(金) 09:27:16.85 何万個か読み捨てればいいよ。
432デフォルトの名無しさん
2012/10/01(月) 07:40:42.45 Perlでメルセンヌツイスタをつかえますか?
433デフォルトの名無しさん
2012/10/01(月) 09:10:34.08 うん
434デフォルトの名無しさん
2012/11/20(火) 11:52:42.11 rand(0)とrand(1)どちらも同じ乱数列を生成するのですが、
そのように決まっているのですか?
それともたまたま使っている処理系が、0と1で同じ乱数列を吐き出すのですか?
そのように決まっているのですか?
それともたまたま使っている処理系が、0と1で同じ乱数列を吐き出すのですか?
435デフォルトの名無しさん
2012/11/20(火) 12:10:19.47 rand()って引数いらんのでは?
説明めんどいからsrandも調べてみ
色々わかるから
ちなみにrand()は精度低い乱数
説明めんどいからsrandも調べてみ
色々わかるから
ちなみにrand()は精度低い乱数
436デフォルトの名無しさん
2012/11/20(火) 12:36:34.27437デフォルトの名無しさん
2012/11/20(火) 13:27:08.91 回答もランダムです
438デフォルトの名無しさん
2012/11/22(木) 12:27:29.80 MATLABやRならrandはメルセンヌツイスタになってるよw
439デフォルトの名無しさん
2013/01/07(月) 21:11:37.12 >>429だな。
少なくともオフィシャルの実装には配列でシードを与える関数がある。
少なくともオフィシャルの実装には配列でシードを与える関数がある。
440デフォルトの名無しさん
2013/02/23(土) 22:05:49.43 static uint64_t x = seed;
x ^= x << 21;
x ^= x >> 35;
x ^= x << 4;
return (uint32_t)x; // doesnt pass
x ^= x << 21;
x ^= x >> 35;
x ^= x << 4;
return (uint32_t)x; // doesnt pass
441デフォルトの名無しさん
2013/02/24(日) 04:19:20.32 そのまま返しちゃだめです
442デフォルトの名無しさん
2013/09/27(金) 00:20:23.10 Kiss99ってのがあるのをここで見て調べたら、L'Ecuyerがそう呼んだだけだった。
つまり、Marsagliaが1999年にユースネットへ投稿した有名な「挑戦状」、
'Random numbers for C: End, at last?'
で紹介されていた'KISS(Keep It Simple Stupid)'のことだった(笑)。
つまり、Marsagliaが1999年にユースネットへ投稿した有名な「挑戦状」、
'Random numbers for C: End, at last?'
で紹介されていた'KISS(Keep It Simple Stupid)'のことだった(笑)。
443デフォルトの名無しさん
2013/09/27(金) 23:42:09.81 monoが
444デフォルトの名無しさん
2013/09/29(日) 16:51:16.72 fortranでのSFMTの最速実装っていまどんなのあるの?
445デフォルトの名無しさん
2013/12/25(水) 18:00:46.47 A simple demonstration of twenty Pseudo Random Number Generators
www.dotup.org/uploda/www.dotup.org4761462.zip.html
Have fun with it !
www.dotup.org/uploda/www.dotup.org4761462.zip.html
Have fun with it !
446デフォルトの名無しさん
2013/12/25(水) 19:02:50.07 擬似乱数が真の乱数に近づく条件は周期を無限大にすること、
周期が長いとどういうことが起きるか?
数値の分布が極所で揺らぎ(歪む)出すってこと
質の良い擬似乱数は使う範囲において一様性の分布が求められる
例えば1から6までのサイコロを演出したとき1万回振って
どの目もほぼ同じ確率になること。
これが1京の1京乗回となる場合に1万回部分の区切りの中が同じ一様性
であるかは別の話しとなる。1京の1京乗回行えば1万回分サイコロを振った
分布より確実にどの目も同じになるわけで、どの側面で優秀かは別の話しである。
暗号のソースである良い擬似乱数とは予測困難性の高いことである、
それは一様性が確実であれば1万回振ったとき最後の1回は高い確率で
予測できてしまう。それはその周期でどの目も一様に分布するから
その性質を維持する為に1万回目は過去のデータから特定できる
ってことである。
周期が長いとどういうことが起きるか?
数値の分布が極所で揺らぎ(歪む)出すってこと
質の良い擬似乱数は使う範囲において一様性の分布が求められる
例えば1から6までのサイコロを演出したとき1万回振って
どの目もほぼ同じ確率になること。
これが1京の1京乗回となる場合に1万回部分の区切りの中が同じ一様性
であるかは別の話しとなる。1京の1京乗回行えば1万回分サイコロを振った
分布より確実にどの目も同じになるわけで、どの側面で優秀かは別の話しである。
暗号のソースである良い擬似乱数とは予測困難性の高いことである、
それは一様性が確実であれば1万回振ったとき最後の1回は高い確率で
予測できてしまう。それはその周期でどの目も一様に分布するから
その性質を維持する為に1万回目は過去のデータから特定できる
ってことである。
447デフォルトの名無しさん
2013/12/25(水) 19:06:16.80 計算で求められる擬似乱数に秩序などないと考えるバカがいるが
擬似乱数を求める式でその擬似乱数を割り切れるという秩序がある。
同じ計算が同じ結果を出すのは当たり前すぎる。
方法が統一されているそれは次の値がでるパターンが前の目で確定している
性質があるってことだ。その連続性が膨大であるから困難だと説明している
のにすぎない。
だが桁数が小さいその擬似乱数が困難だというのは過去の話しである。
いつまで困難だと思っているか、バカには理解できない領域である。
擬似乱数を求める式でその擬似乱数を割り切れるという秩序がある。
同じ計算が同じ結果を出すのは当たり前すぎる。
方法が統一されているそれは次の値がでるパターンが前の目で確定している
性質があるってことだ。その連続性が膨大であるから困難だと説明している
のにすぎない。
だが桁数が小さいその擬似乱数が困難だというのは過去の話しである。
いつまで困難だと思っているか、バカには理解できない領域である。
448デフォルトの名無しさん
2013/12/25(水) 21:50:51.96 どうしたんだ?
449デフォルトの名無しさん
2013/12/26(木) 02:46:31.02 誰と戦ってるんだ。ところでフリーの乱数の性能評価ツールない?
450デフォルトの名無しさん
2013/12/26(木) 08:04:12.61 diehard
451デフォルトの名無しさん
2013/12/26(木) 10:18:01.99 >>446 447 はただのバカ。「疑似乱数列」「暗号学的に安全」「真の乱数」といった言葉を、
まるっきり俺様定義で使ってるから、全くの意味不明なナンセンス文になっている。
まるっきり俺様定義で使ってるから、全くの意味不明なナンセンス文になっている。
452デフォルトの名無しさん
2013/12/26(木) 19:03:55.58 >>450
thx!
thx!
453デフォルトの名無しさん
2014/01/03(金) 20:42:27.35454デフォルトの名無しさん
2014/01/03(金) 23:06:25.84 過去数十年にわたって、数多くの研究者が乱数列の様々な評価法を考えてきたというのに、
それら全てを無視して、俺の能力ならすばらしい評価関数が作れる、ってか? すごい自信だな。
(普通、そういうのを「バカ」と言う)
それら全てを無視して、俺の能力ならすばらしい評価関数が作れる、ってか? すごい自信だな。
(普通、そういうのを「バカ」と言う)
455デフォルトの名無しさん
2014/01/04(土) 19:32:09.42 >>451
人格障害じゃね?貴方
人格障害じゃね?貴方
456デフォルトの名無しさん
2014/01/04(土) 19:47:35.20457デフォルトの名無しさん
2014/01/04(土) 23:19:34.15 数学を知らずに数学を知ったかのように語るやつっているけど、
たんなる感情論だよね、観念の類を定義して方程式で証明する構図は
まったく具体性のない幻想とまで皮肉をいったり悪口を言う輩がいるが
それは間違いない、幻想でいいんだよ。
方程式そのものは美しさとその完璧なる秩序の明確性を説明するもので
現実を表す物理のような実証ではない、証明と実証の区別ができないのが
実証(具体性)ばかりこのみ難しい数学の領域の記号だけの記述になると
3行しか読めないコピーペーの能力ではどうにもならない。
暗記してできるものでもない。
たんなる感情論だよね、観念の類を定義して方程式で証明する構図は
まったく具体性のない幻想とまで皮肉をいったり悪口を言う輩がいるが
それは間違いない、幻想でいいんだよ。
方程式そのものは美しさとその完璧なる秩序の明確性を説明するもので
現実を表す物理のような実証ではない、証明と実証の区別ができないのが
実証(具体性)ばかりこのみ難しい数学の領域の記号だけの記述になると
3行しか読めないコピーペーの能力ではどうにもならない。
暗記してできるものでもない。
458デフォルトの名無しさん
2014/01/06(月) 09:52:48.11 方程式や論理式に現実性がない、だと?
じゃあ、方程式や論理式を駆使して設計されている飛行機やコンピュータはいったいどうなるんだ。
飛行機やコンピュータは幻想なのか?
じゃあ、方程式や論理式を駆使して設計されている飛行機やコンピュータはいったいどうなるんだ。
飛行機やコンピュータは幻想なのか?
459デフォルトの名無しさん
2014/01/07(火) 11:01:34.65 あんな重い鉄の塊が飛ぶわけないだろ
460デフォルトの名無しさん
2014/01/07(火) 11:16:14.23 飛行機は鉄の塊ってほど密じゃないけどね。
そもそも軽金属か樹脂がメインだし。
そもそも軽金属か樹脂がメインだし。
461デフォルトの名無しさん
2014/01/07(火) 11:53:33.12 鉄の塊は、レシプロ機のエンジンぐらいだな。高機能樹脂ができる前は軽合金、その前は木と布だったw
「機」(本来は、織機のように木などで出来た、軽いものを指す語)を使うのは伊達じゃない。
「機」(本来は、織機のように木などで出来た、軽いものを指す語)を使うのは伊達じゃない。
462デフォルトの名無しさん
2014/01/07(火) 14:40:58.24 最近は炭素素材も使われるようになったねぇ
463デフォルトの名無しさん
2014/03/27(木) 03:02:18.88ID:2kZbCKHg 7年も前のスレを読み返すと時代の変遷を実感できる。
>>226や>>390の質問は最近の並列化乱数の流れに繋がる。
ここ2、3年の展開では、
Parallel random numbers: as easy as 1, 2, 3
//www.thesalmons.org/john/random123/papers/random123sc11.pdf
Deterministic parallel random-number generation for dynamic-multithreading platforms
//supertech.csail.mit.edu/papers/dprng.pdf
今、メニーコアのCPUで動的負荷分散したいと皆考えてる。
近々MT以来のブレークスルーがあるような気がするな、、
>>226や>>390の質問は最近の並列化乱数の流れに繋がる。
ここ2、3年の展開では、
Parallel random numbers: as easy as 1, 2, 3
//www.thesalmons.org/john/random123/papers/random123sc11.pdf
Deterministic parallel random-number generation for dynamic-multithreading platforms
//supertech.csail.mit.edu/papers/dprng.pdf
今、メニーコアのCPUで動的負荷分散したいと皆考えてる。
近々MT以来のブレークスルーがあるような気がするな、、
464デフォルトの名無しさん
2014/04/11(金) 20:08:05.30ID:vHcSHc13 ラン スー とくれば最後はもちろん ミキ
465デフォルトの名無しさん
2014/04/12(土) 13:57:47.36ID:cTqY1h51 電線に
466デフォルトの名無しさん
2014/04/25(金) 13:01:06.17ID:bY1/N1n7 一様な分布である乱数(「一様分布に従う乱数」)どうしの和は、一様な分布にならない。
一様乱数の和の確率分布は、個数 n が増えるにつれて急速に正規分布に近づく(「正規分布に従う」)
2個の和
12個の和
図 5-1 Monte-Carlo実験による[0,1)一様乱数の和の分布
2個の和(左)12個の和(右)
http://econom01.cc.sophia.ac.jp/sda/normal.htm
一様乱数の和の確率分布は、個数 n が増えるにつれて急速に正規分布に近づく(「正規分布に従う」)
2個の和
12個の和
図 5-1 Monte-Carlo実験による[0,1)一様乱数の和の分布
2個の和(左)12個の和(右)
http://econom01.cc.sophia.ac.jp/sda/normal.htm
467デフォルトの名無しさん
2014/04/25(金) 20:09:23.50ID:DUkBiaE/ 中心極限定理ですねえ
468デフォルトの名無しさん
2014/04/25(金) 22:34:52.61ID:vRDAArpO 不思議だよね
469デフォルトの名無しさん
2014/04/26(土) 04:34:51.11ID:VGFQwx9o 不思議なの?
結果の数値を表す組み合わせの存在ってだけだと思うんだけど
結果の数値を表す組み合わせの存在ってだけだと思うんだけど
470デフォルトの名無しさん
2014/04/27(日) 21:38:54.17ID:dRMpu4rZ 一様乱数ですら足して足してでガウス分布に近づいていく、というのだからねえ‥‥手元の教科書は証明抜きだ‥‥凡人には理解できない世界なのか?
471デフォルトの名無しさん
2014/04/27(日) 21:57:22.77ID:J+hFW2BD ごく単純に 2D6 とか 3D6 を....6面のサイコロを2個とか3個とか振って、出た目の合計とか、
考えてみればいいじゃないか。
考えてみればいいじゃないか。
472デフォルトの名無しさん
2014/05/01(木) 08:02:06.54ID:txn6O3jo >>471
それは「二項分布はガウス分布に近づく」ってやつだね,でもその証明も手元にないな‥
それは「二項分布はガウス分布に近づく」ってやつだね,でもその証明も手元にないな‥
473デフォルトの名無しさん
2014/11/09(日) 14:21:04.82ID:iOEsToOb メルセンヌツイスタが最強
474デフォルトの名無しさん
2015/12/18(金) 13:17:24.11ID:kGnyy2oJ xorshift128+ってのが今はいいのかな
475デフォルトの名無しさん
2016/01/29(金) 15:49:03.52ID:A091Ig/h 線形合同法の結果を x ^ (x>>n)すると改良できね?
476デフォルトの名無しさん
2016/03/19(土) 17:07:51.05ID:nABaYqd9 xorshift1024*てえのが最高品質なうえに速度もトップクラスだぜとテスト結果を示して自信満々だが
なんだか話がうますぎてほんまかいなという気もする
http://xorshift.di.unimi.it/
32ビット型の扱いが最も効率良い言語の方がまだ多そうだからそっちで返してほしいのもあるな
返し方で調整できるといえばそうなんだけど
なんだか話がうますぎてほんまかいなという気もする
http://xorshift.di.unimi.it/
32ビット型の扱いが最も効率良い言語の方がまだ多そうだからそっちで返してほしいのもあるな
返し方で調整できるといえばそうなんだけど
477デフォルトの名無しさん
2016/03/29(火) 09:31:35.21ID:/c8bAcK4 サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
478デフォルトの名無しさん
2016/03/29(火) 19:54:10.75ID:B5K8vkuQ >>476
やっていることは既存のxorshiftのアルゴリズムだな
内部で保持するシード列が64ビットになってその保持数が増えたって感じだね
速度は早いかもしれんが、乱数列としての質はどうなんだろうな
マジックナンバーの積算があるのが気になるw
汎用性から見てMTが最強には変わらないと思うよ
やっていることは既存のxorshiftのアルゴリズムだな
内部で保持するシード列が64ビットになってその保持数が増えたって感じだね
速度は早いかもしれんが、乱数列としての質はどうなんだろうな
マジックナンバーの積算があるのが気になるw
汎用性から見てMTが最強には変わらないと思うよ
479デフォルトの名無しさん
2016/03/31(木) 20:16:33.23ID:cjJ70n7R とりあえずで利用するならSFMTとは思った
テスト結果どおり,統計的におそろしく性質がいいと分かってきたらまた見方が変わるかもしれん
テスト結果どおり,統計的におそろしく性質がいいと分かってきたらまた見方が変わるかもしれん
480デフォルトの名無しさん
2016/09/21(水) 12:21:52.98ID:CD/L3vnF ゲームに乱数が使われていると思うけど、この計算の占める割合って全計算のどのくらいの割合
なんでしょうか?
なんでしょうか?
481デフォルトの名無しさん
2016/09/21(水) 14:00:56.83ID:ib8am8Zc 全体からみて1/1000000以下くらいじゃね
482デフォルトの名無しさん
2016/09/21(水) 14:06:22.50ID:CD/L3vnF 全然大したことじゃないですか?
ほかのスレで、
ゲームサーバーでも対戦判定に莫大な回数の擬似乱数を回してパワーを食う
って書いてる人がいたんですけど
ほかのスレで、
ゲームサーバーでも対戦判定に莫大な回数の擬似乱数を回してパワーを食う
って書いてる人がいたんですけど
483デフォルトの名無しさん
2016/09/21(水) 14:30:30.69ID:ib8am8Zc この板の他のスレ?
それとも他の板のスレ?
この板のひとでそれを真に受ける人はいないと思いたい
それとも他の板のスレ?
この板のひとでそれを真に受ける人はいないと思いたい
484デフォルトの名無しさん
2016/09/21(水) 14:43:40.10ID:CD/L3vnF ポケモンのような大規模ゲームの場合でも、乱数発生の占める計算パワーは微々たるものですか?
485デフォルトの名無しさん
2016/09/21(水) 15:06:12.43ID:DJrsIBwc ネットワークの処理に比べればゼロに近い
486デフォルトの名無しさん
2016/09/21(水) 17:34:47.65ID:yT1mont5 高速な物理乱数発生器なんて必要性ないですかね
487デフォルトの名無しさん
2016/09/21(水) 20:37:48.08ID:5qi85AkV あらかじめ物理乱数発生器で乱数表を作成
乱数表を順に読み込む
乱数表を順に読み込む
488デフォルトの名無しさん
2016/09/23(金) 10:57:39.17ID:fan7eHym 乱数発生が重くて困るとか、真正乱数がぜひほしいっていう話はないですか?
489デフォルトの名無しさん
2016/10/05(水) 11:24:40.59ID:lpG0enk6 http://d.hatena.ne.jp/tsukaban/20130727/p1
xorshiftについて聞きたいのですが、
x<<11
w>>19
t>>8
この 11 と 19 と 8 ってのはなんですか?
なんでもいいんですか?
64ビットで乱数を作りたいのですが、どう直していいか困ってます。
xorshiftについて聞きたいのですが、
x<<11
w>>19
t>>8
この 11 と 19 と 8 ってのはなんですか?
なんでもいいんですか?
64ビットで乱数を作りたいのですが、どう直していいか困ってます。
490デフォルトの名無しさん
2016/10/05(水) 13:39:42.79ID:39LeL7K0 xorshift64 で検索したらいいじゃん。
491デフォルトの名無しさん
2016/10/05(水) 15:04:31.12ID:lpG0enk6 簡単に言いますが、でしたら解答もらえんでしょうか
492デフォルトの名無しさん
2016/10/05(水) 15:09:17.42ID:ZsK4JXk7493デフォルトの名無しさん
2016/10/05(水) 15:33:16.58ID:lpG0enk6 tだけを64ビットにすればいいってことですか?
494デフォルトの名無しさん
2016/10/05(水) 15:39:10.45ID:lpG0enk6 たぶん分かりました。
ありがとうございます
ありがとうございます
495デフォルトの名無しさん
2016/10/06(木) 07:29:45.67ID:iNNf2EsF こういう厚かましい無能が現れるのも乱数性のなせるわざか。
496デフォルトの名無しさん
2016/10/06(木) 08:30:59.70ID:2aWpWU4C 三木さんに新しい疑似乱数生成方式を考案してほしい
三木乱数で
ミキさんに考えてもらって乱数ミキでもいい
三木乱数で
ミキさんに考えてもらって乱数ミキでもいい
497デフォルトの名無しさん
2016/10/06(木) 12:12:14.44ID:Yw0Cruyw 線形合同法は、下位ビットが偏る
メルセンヌツイスター、1996の方が、周期が長い
Xorshift、2003は高速
メルセンヌツイスター、1996の方が、周期が長い
Xorshift、2003は高速
498デフォルトの名無しさん
2016/10/08(土) 06:01:51.17ID:KfBpvv2w 順番性のテストをしたことあるけど、
xorshiftは異常なほど結果が偏ってるよ。
逆に線形合同法は異常なほど分散する。
結局、統計学や確率論などの乱数の順番が重要になる処理では結局どちらも使えない。
例えば、rand(100)で 5回連続で 20以下が出るかどうか。などの処理確率の信憑性が極めて疑わしい。
ちなみにテストはいろいろやったけど、xorshiftのおかしさが一撃でわかるのが x座標y座標と順番に出して印をつけてく方式。
線形合同法に至っては、rand(100) を100個出すだけで十分。確率上あり得ないくらい重複が少なく綺麗に分散する。
線形合同法は、下位ビットのかたよりがすぐ話題になるが、1/max の精度で乱数を必要とすることがあまりないのでけっこうどうでもいい。
ちなみに俺はここ数年、線形合同法で最初のseed設定時に乱数を1024個プールして、
array[rand(max) % 1024];
みたいな感じでランダムで取り出して使う。(そしてそこに次の乱数をセットする)。
って感じの自作汎用dllを使ってる。
トランプだって、2度シャッフルすればもう最初の並び順との因果関係は誰にも発見出来ないってね。
まぁメモリは多少食うし速度も最速じゃないけど、別に最速最小を求めるような研究者じゃないし。俺は。
xorshiftは異常なほど結果が偏ってるよ。
逆に線形合同法は異常なほど分散する。
結局、統計学や確率論などの乱数の順番が重要になる処理では結局どちらも使えない。
例えば、rand(100)で 5回連続で 20以下が出るかどうか。などの処理確率の信憑性が極めて疑わしい。
ちなみにテストはいろいろやったけど、xorshiftのおかしさが一撃でわかるのが x座標y座標と順番に出して印をつけてく方式。
線形合同法に至っては、rand(100) を100個出すだけで十分。確率上あり得ないくらい重複が少なく綺麗に分散する。
線形合同法は、下位ビットのかたよりがすぐ話題になるが、1/max の精度で乱数を必要とすることがあまりないのでけっこうどうでもいい。
ちなみに俺はここ数年、線形合同法で最初のseed設定時に乱数を1024個プールして、
array[rand(max) % 1024];
みたいな感じでランダムで取り出して使う。(そしてそこに次の乱数をセットする)。
って感じの自作汎用dllを使ってる。
トランプだって、2度シャッフルすればもう最初の並び順との因果関係は誰にも発見出来ないってね。
まぁメモリは多少食うし速度も最速じゃないけど、別に最速最小を求めるような研究者じゃないし。俺は。
■ このスレッドは過去ログ倉庫に格納されています
