1 名前:デフォルトの名無しさん [2007/10/17(水) 22:34:59 .net] 擬似乱数発生器について語ろうか。その2 前スレ 擬似乱数 pc11.2ch.net/test/read.cgi/tech/1146071975/ 関連スレ 【危険】とんでもプログラム告発スレッド【悪質】 pc11.2ch.net/test/read.cgi/tech/1191860116/ SIMD-oriented Fast Mersenne Twister (SFMT): www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html
348 名前:デフォルトの名無しさん mailto:sage [2011/06/16(木) 21:37:26.52 .net] >>340 rand_r()は実装されてないの? シミュレーションとかに使うなら、当然もっとまともな乱数使うべきなんだけど
349 名前:デフォルトの名無しさん mailto:sage [2011/06/16(木) 22:04:02.90 .net] randってアルゴリズムからして処理系依存だから ドキュメント読むしかないと思うが
350 名前:天使 ◆uL5esZLBSE mailto:sage [2011/07/03(日) 19:51:40.73 .net] 2011年、Ruby,Perl,PHP,Pythonって並べたときにさ ここで、Ruby以外を選ぶ奴ってマジでなんなんだろうな ゴミは何いってもゴミ
351 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 20:36:04.58 .net] おや知らないうちに、MTの周期の短い奴が
352 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 21:16:56.21 .net] 内部ベクトルぽ周期がxorshift128に似てるね テストしてみるか
353 名前:デフォルトの名無しさん [2011/07/18(月) 01:12:26.71 .net] 初カキコというか質問があるんですが
354 名前:デフォルトの名無しさん mailto:sage [2011/07/18(月) 01:23:00.97 .net] うーん… XorShiftでいいや。
355 名前:デフォルトの名無しさん [2011/07/18(月) 01:27:26.98 .net] パワフルプロ野球スレでcupsを256にすれば天才選手(低確率で出る
356 名前:初期能力が強い選手)が出ると聞きました 乱数のことはよくわからないんですがそのcupsという項目があって それを256に合わせればいいという認識でよろしいんでしょうか それがあってるとして、 乱数は数値化しないとそれにあわせることはできないのでしょうか もしくは数字だけが分かっていればなんとかなるものですか? [] [ここ壊れてます]
357 名前:デフォルトの名無しさん mailto:sage [2011/07/18(月) 01:28:07.97 .net] すいません…ageてしましました…
358 名前:デフォルトの名無しさん mailto:sage [2011/07/18(月) 01:35:15.25 .net] ゲームの話は板違い
359 名前:デフォルトの名無しさん [2011/07/18(月) 01:37:58.95 .net] >>351 しゅません、ここしか見つからなくて…
360 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 07:45:02.26 .net] >>348 ttp://raluck.exblog.jp/7153886/
361 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 19:27:51.78 .net] 乱数の「精度」って記述初めて見たぞ?言いたいことは判らなくも無いが。
362 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 19:32:37.26 .net] 普通、品質って言うわな。 シードとサンプルの長さと、どのような検定で、どういう風に結果が悪いのか、 定量的なことが書いてあれば一読に値すると思うが、これではわけわからん。
363 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 19:37:41.28 .net] ゲームに使うとかいろいろな種を試したとか 乱数の事なんか何にも分かってないんだろう 悪いけどそんな個人ブログなんか読む価値ないよ
364 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 19:37:53.89 .net] つーかウィキペディアのXorShiftの記事にも「精度」って言葉が使ってある。 誰だよほんとにもう。
365 名前:デフォルトの名無しさん mailto:sage [2011/07/26(火) 12:24:34.03 .net] ja.wikipedia.org/w/index.php?title=Xorshift&action=history > 2011年7月25日 (月) 22:05 MetaNest (会話 | 投稿記録) (1,890バイト) > (疑似乱数列の評価として「精度」なんて形容を使うのは聞いたことがない) 自分が聞いたことがないから間違っている、 という理由で編集する前に他の記事を確認してください。 www.google.co.jp/search?q=%E4%B9%B1%E6%95%B0+%E7%B2%BE%E5%BA%A6+site%3Aja.wikipedia.org 「精度」はどのくらいのビット数で示される範囲で乱数になっているかという意味で使われているようです。 つまり品質の一部分ですね。
366 名前:デフォルトの名無しさん mailto:sage [2011/07/26(火) 12:37:39.46 .net] それはwikipediaのノート内で議論すべきでは
367 名前:デフォルトの名無しさん mailto:sage [2011/07/26(火) 19:22:02.57 .net] 漏れは精度っていうのは誤差の大小だと思っていた。
368 名前:デフォルトの名無しさん mailto:sage [2011/07/26(火) 19:28:23.63 .net] 一体何の誤差なのか
369 名前:デフォルトの名無しさん mailto:sage [2011/07/26(火) 20:21:03.30 .net] 理想的な分散から外れる誤差というのはあるんじゃね
370 名前:ななし。 [2011/07/27(水) 14:04:51.54 .net] カ オ ス ラ ウ ン ジ ゆ る せ な ぁ い ー
371 名前:デフォルトの名無しさん mailto:sage [2011/07/27(水) 16:02:15.11 .net] the art of computer programinngの2巻の証明の行間が開きすぎだったから 細部まで証明しましたが何か?
372 名前:デフォルトの名無しさん mailto:sage [2011/07/27(水) 22:37:01.04 .net] 頭いいね!
373 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 16:16:05.44 .net] 擬似乱数の偏りってビットごとの偏りとか周期性もちゃんと見たほうがいいと思うんだけどねえ。 乱雑性検定の一覧とか出したほうがいいんじゃないの
374 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 16:42:04.28 .net] まさにそれをやってるのがdiehard testsじゃないの
375 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 19:08:01.33 .net] その、「ビットごとの」は「周期性」にもかかってる? ていうか現代的な生成法で特定のビット位置のみ変な特性があるとかまず考えられないように思うけど。 線形合同法ぐらいだと下の桁はダメダメだが。
376 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 19:15:45.81 .net] >「精度」はどのくらいのビット数で示される範囲で乱数になっているかという意味で使われているようです。 これ、初期値によっちゃ10個ぐらい0が続いてもどうする?
377 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 19:17:27.23 .net] >>367 そうなんだけど>353の人にお勧めしたい。 ちゃんと
378 名前:した統計を取る気があるが知らないだけのようなので。 >>368 両方。ビットの周期性も、全体としての周期性も。 線形合同法を意識して書いたからその通りですね。 [] [ここ壊れてます]
379 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 19:45:25.22 .net] > どのくらいのビット数で示される範囲で乱数になっているかという意味 数式で書いてくれ、で終わりだろこんな文
380 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 04:39:55.82 .net] それより問題は>>348 がTinyMTを試した結果なぜXorshiftを選択したかだな
381 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 19:21:14.73 .net] 内部ベクトルって見て楽しいのかね
382 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 19:57:03.18 .net] 見て楽しいかどうかは人それぞれ 4ビットでシフトレジスタ ttp://upload.wikimedia.org/wikipedia/commons/7/7f/LFSR-F4.GIF
383 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 00:13:01.69 .net] 楽しくなければ乱数じゃない!
384 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 09:30:26.00 .net] グレイコードってやつだな。
385 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 10:37:52.94 .net] グレイコードは1度にハミング距離が1しか変化しないコードだろ
386 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 10:48:53.38 .net] なんだ・・・ただ1づつ足していくだけかクダラネ。
387 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 12:02:14.43 .net] ハミング距離も知らんのか
388 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 12:20:06.08 .net] すごいすごいすごい ハミング距離を知っているなんて凄いねーー エライネー 天才だね〜
389 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 19:22:19.62 .net] いやあそれほどでも(クィッ!
390 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 11:30:52.08 .net] 復帰
391 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 00:15:56.56 .net] 擬似乱数ではないのでスレ違いかもしれないが ちょっとコンセプトを思いついたので実装してみた。 netrand-test.appspot.com/
392 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 00:34:50.29 .net] 何に使うんだそれは
393 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 07:01:49.82 .net] /dev/random のような用途?
394 名前:デフォルトの名無しさん [2011/11/23(水) 11:19:10.85 .net] なんか加減算だけでそれっぽいのができたぜ www42.atwiki.jp/syugyou?cmd=upload&act=open&pageid=250&file=mon13.html
395 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 22:49:37.46 .net] >>386 SFMTに対して、どこがアドバンテージあるの? 周期2^216091-1とかだぞ。
396 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 22:57:01.60 .net] 出力範囲が1000(10ビット未満)というのもな 32ビット精度必要なら4個を組にして使うわけだが,その上での一様性も相当疑わしい
397 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 08:38:35.87 .net] 出現回数をカウントできるようにしたぜ
398 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 20:48:49.64 .net] お知識拝借 次のような擬似乱数生成方法を探しております シード(頻繁には変化しない入力値)のほかにいくつかの入力値(頻繁に変化、1,2,3など近い値が入力される) があって、それら入力値を入れると必ず決まった擬似乱数を生成する、というような乱数生成方法 当初XorShiftをアレンジすれば出来ると思ったのですが、シード以外の入力値が近いと 結果返ってくる値も近いようなものしか出来ず使えませんでした。 こういったタイプの擬似乱数関数として良好なものはありますでしょうか もしくはどういった風にXorShiftを改造すればこういったものが実現できそうでしょうか 乱文失礼、お力添えお願い申し上げます
399 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 01:02:45.31 .net] 要するにハッシュ関数的な要素が欲しいんでしょ 入力値のハミング距離が近くても出力値のハミング距離が遠くなるように ハッシュ関数通せばいいよ
400 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 01:04:32.98 .net] ハッシュ関数、初耳ですがちょっと調べてみます
401 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 01:13:57.92 .net] 毎回srandしてるようにも読めるな そうでないなら適当に読み捨てれば?
402 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 01:37:08.54 .net] >>390 どれぐらい「近いようなもの」でなければよいのか、 はっきりしてもらわないと何ともならんのじゃないか?
403 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 01:39:31.04 .net] ハッシュ関数知らないレベルだから改善の余地は大いにありそうだが
404 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 02:29:28.25 .net] >>393 お恥ずかしながらおそらくそれをしていました >>394 32bitですねfloat精度程度 入力値もfloat3つ程度、シェーダーでノイズを作るような目的です だから欲しいのは ulong32 Noise(ulong32 x,ulong32 y,ulong32 z,ulong32 seed) で当初XorShiftの4つにこれを当てはめて数回振っていましたが どうも模様が見えてしまう結果になります ハミング距離が遠くなるようなハッシュ関数考えてみます
405 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 02:45:34.85 .net] 典型的にはZobrist Hashingが使える
406 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 08:35:49.22 .net] 他の人たちは 390 が何をしたいか分かったの? もっとちゃんと問題を定義したらズバリの答えが出る気がするけど。 >>396 余計なお世話かもしれないが、単精度浮動小数点数の乱数を作るのは (rand() & 0x7fffff) | 0x3f800000 として [1.0 .. 2.0) を作り、必要に応じて線形変換するのが常道。 バイアス部分にも乱数のビットを埋めるのは好ましくない。 で、もし本当に 32bits 必要なら、単精度じゃなくて倍精度を選ぶべきかもしれない。 > どうも模様が見えてしまう結果になります これが周期の問題なのだとしたら、余計なことしないで単にメルセンヌツイスターを使うだけの方が乱数性も処理速度も好ましいものになるだろう。
407 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 08:58:54.46 .net] >>396 低周波成分(いわゆる模様)の無いノイズが欲しいなら それは乱数ではなく、乱数から低周波成分を除く加工をして作る数列 ブルーノイズとか
408 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 19:02:48.17 .net] >>398 >(rand() & 0x7fffff) | 0x3f800000 >として [1.0 .. 2.0) を作り、必要に応じて線形変換するのが常道。 これは知らなかった。 rand() / (RAND_MAX_1)とばかり。
409 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 19:13:08.54 .net] fmul一回分だけお得と まあ大抵は再度後から掛けるだろうけど
410 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 20:11:28.68 .net] 9bit損するからじゃね?
411 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 14:23:42.69 .net] 音のノイズなら線形合同のほうがいいよ 偏りや周期を聞き分ける人がいたら神だよ
412 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 15:01:03.98 .net] 上位ビット使うんだぞ
413 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 18:33:56.26 .net] 気をつけます。
414 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 00:38:03.89 .net] >>403 ダイナミックレンジ広いと偏りはわからんが、周期は聞こえるぞ
415 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 10:38:56.24 .net] 線形合同法でノイズ作ったぜ www42.atwiki.jp/syugyou?cmd=upload&act=open&pageid=250&file=oto2.html
416 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 00:08:06.52 .net] もうJKISS32でいいんじゃないか。周期も2^121くらいあるみたいだし。 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; }
417 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 16:57:53.03 .net] 129ビットぶんの状態があるように見えるけど周期は2^121なのか 加算の使い方がまたなんとも
418 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 18:16:00.13 .net] L・C・G!L・C・G!
419 名前:デフォルトの名無しさん [2012/07/24(火) 08:00:03.47 .net] wikipediaにある '特定の範囲で乱数を求めたいときにはa = rand() % 10とする方法も広く知られているが、線形合同法などの下位ビットの乱数としての品質が低い生成法に備えるため上記のコード例のような上位にあるビットを利用するコードが推奨されている' ってどいういうこと?
420 名前: (int)((rand() / ((double)RAND_MAX+1.0)) * 2); と rand()%2 で1000000回、乱数を生成して比較してみたけど、平均値と0.5の差はどちらもオーダー的にほとんど変わらないのだけど、 [] [ここ壊れてます]
421 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 08:24:36.56 .net] 面倒だから 乱数 下位ビット でググってもらっていいかな。
422 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 08:26:01.03 .net] >>411 品質が悪いと、奇数偶数が交互にしか出なかったりする。
423 名前:デフォルトの名無しさん [2012/07/24(火) 09:00:13.60 .net] >>412 よく分からなかったけど、メルセンヌツイスターとかでも%で余りを求めるやり方はいけないの? それとも線形合同法に限った問題なん?
424 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 09:04:24.07 .net] MTはかまわないよ だめなのは質の悪い乱数に限った話 線形合同法はその代表格
425 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 15:07:40.15 .net] %は法の数が大きいと分布の偏りが大きくなる。
426 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 16:50:20.82 .net] >>411 酷い実験してるなw 頼むからブログとかでどっちも変わりませんでしたとか書かないでくれよww
427 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 17:06:19.28 .net] >>416 それって RAND_MAX が 16 だとして、rnd % 10 とかで計算したら、って話? そりゃ普通は、はみ出る部分の値が出たら捨てるだろ。
428 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 17:57:44.60 .net] >>418 普通の知能の持ち主が剰余を使うならそうだが、剰余を使うほとんどの連中はそんなことはしないだろう
429 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 19:19:37.18 .net] 法(のり)
430 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 20:14:18.94 .net] >>414 今は線形合同法といっても、計算で仕様するビット全部ではなく、上位の一部を表に返す、とかするものもあるようだ。 en.wikipedia.org/wiki/Linear_congruential_generator
431 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 06:50:57.92 .net] 線形合同法は比較的単純な弱点が多いから、使う側が完全に把握して使うべきであって、 ライブラリ側でそういう配慮をするのはよくない(そういう配慮をして、ブラックボックス的に 使わせるなら他の生成法にすべき)。
432 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:53:54.77 .net] 久々に見たらスレが進んでいるなと思ったら >>411 > 1000000回、乱数を生成して比較してみたけど、平均値と0.5の差はどちらもオーダー的にほとんど変わらないのだけど これは本当にひどい 高校生でさえ鋭い奴は問題に気が付くレベル
433 名前:デフォルトの名無しさん [2012/08/01(水) 07:50:35.33 .net] >>413 それを定量的に調べる方法はありますか?
434 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 08:14:03.90 .net] >>424 csrc.nist.gov/groups/ST/toolkit/rng/index.html
435 名前:デフォルトの名無しさん [2012/08/03(金) 08:40:44.06 .net] メルセンヌ・ツイスタでseedはどうやって与えれば良いの?
436 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 08:47:28.71 .net] 初期化関数の引数にシードを与えればいいよ。
437 名前:デフォルトの名無しさん [2012/08/03(金) 09:07:33.39 .net] それやってみたのですが、最初の方は似たような数字になってしまいます。
438 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 09:17:44.87 .net] 内部状態が2kバイト強あるから、先頭から4kバイト弱ぶんぐらい読み飛ばす。 あと、十分な量のseedを与えることができるインタフェースが用意されてないか、確認する。
439 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 09:22:52.54 .net] >>428 それ、小さいシードで初期化するときの実装が古いやつなんじゃないか?
440 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 09:27:16.85 .net] 何万個か読み捨てればいいよ。
441 名前:デフォルトの名無しさん mailto:sage [2012/10/01(月) 07:40:42.45 .net] Perlでメルセンヌツイスタをつかえますか?
442 名前:デフォルトの名無しさん mailto:sage [2012/10/01(月) 09:10:34.08 .net] うん
443 名前:デフォルトの名無しさん [2012/11/20(火) 11:52:42.11 .net] rand(0)とrand(1)どちらも同じ乱数列を生成するのですが、 そのように決まっているのですか? それともたまたま使っている処理系が、0と1で同じ乱数列を吐き出すのですか?
444 名前:デフォルトの名無しさん mailto:sage [2012/11/20(火) 12:10:19.47 .net] rand()って引数いらんのでは? 説明めんどいからsrandも調べてみ 色々わかるから ちなみにrand()は精度低い乱数
445 名前:デフォルトの名無しさん mailto:sage [2012/11/20(火) 12:36:34.27 .net] >>434 お使いの処理系のマニュアルをご覧ください。 つーか、言語も何も判らんのに答えられるわけないとは思わないもんなのだろうか。
446 名前:デフォルトの名無しさん mailto:sage [2012/11/20(火) 13:27:08.91 .net] 回答もランダムです
447 名前:デフォルトの名無しさん mailto:sage [2012/11/22(木) 12:27:29.80 .net] MATLABやRならrandはメルセンヌツイスタになってるよw
448 名前:デフォルトの名無しさん mailto:sage [2013/01/07(月) 21:11:37.12 .net] >>429 だな。 少なくともオフィシャルの実装には配列でシードを与える関数がある。
449 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:05:49.43 .net] static uint64_t x = seed; x ^= x << 21; x ^= x >> 35; x ^= x << 4; return (uint32_t)x; // doesnt pass
450 名前:デフォルトの名無しさん mailto:sage [2013/02/24(日) 04:19:20.32 .net] そのまま返しちゃだめです
451 名前:デフォルトの名無しさん mailto:sage [2013/09/27(金) 00:20:23.10 .net] Kiss99ってのがあるのをここで見て調べたら、L'Ecuyerがそう呼んだだけだった。 つまり、Marsagliaが1999年にユースネットへ投稿した有名な「挑戦状」、 'Random numbers for C: End, at last?' で紹介されていた'KISS(Keep It Simple Stupid)'のことだった(笑)。
452 名前:デフォルトの名無しさん mailto:sage [2013/09/27(金) 23:42:09.81 .net] monoが
453 名前:デフォルトの名無しさん mailto:sage [2013/09/29(日) 16:51:16.72 .net] fortranでのSFMTの最速実装っていまどんなのあるの?
454 名前:デフォルトの名無しさん [2013/12/25(水) 18:00:46.47 .net] A simple demonstration of twenty Pseudo Random Number Generators www.dotup.org/uploda/www.dotup.org4761462.zip.html Have fun with it !
455 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 19:02:50.07 .net] 擬似乱数が真の乱数に近づく条件は周期を無限大にすること、 周期が長いとどういうことが起きるか? 数値の分布が極所で揺らぎ(歪む)出すってこと 質の良い擬似乱数は使う範囲において一様性の分布が求められる 例えば1から6までのサイコロを演出したとき1万回振って どの目もほぼ同じ確率になること。 これが1京の1京乗回となる場合に1万回部分の区切りの中が同じ一様性 であるかは別の話しとなる。1京の1京乗回行えば1万回分サイコロを振った 分布より確実にどの目も同じになるわけで、どの側面で優秀かは別の話しである。 暗号のソースである良い擬似乱数とは予測困難性の高いことである、 それは一様性が確実であれば1万回振ったとき最後の1回は高い確率で 予測できてしまう。それはその周期でどの目も一様に分布するから その性質を維持する為に1万回目は過去のデータから特定できる ってことである。
456 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 19:06:16.80 .net] 計算で求められる擬似乱数に秩序などないと考えるバカがいるが 擬似乱数を求める式でその擬似乱数を割り切れるという秩序がある。 同じ計算が同じ結果を出すのは当たり前すぎる。 方法が統一されているそれは次の値がでるパターンが前の目で確定している 性質があるってことだ。その連続性が膨大であるから困難だと説明している のにすぎない。 だが桁数が小さいその擬似乱数が困難だというのは過去の話しである。 いつまで困難だと思っているか、バカには理解できない領域である。
457 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 21:50:51.96 .net] どうしたんだ?
458 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 02:46:31.02 .net] 誰と戦ってるんだ。ところでフリーの乱数の性能評価ツールない?
459 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 08:04:12.61 .net] diehard
460 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 10:18:01.99 .net] >>446 447 はただのバカ。「疑似乱数列」「暗号学的に安全」「真の乱数」といった言葉を、 まるっきり俺様定義で使ってるから、全くの意味不明なナンセンス文になっている。
461 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 19:03:55.58 .net] >>450 thx!
462 名前:デフォルトの名無しさん mailto:sage [2014/01/03(金) 20:42:27.35 .net] >>449 おまえ馬鹿だろ、そんなの自分で作れずどうするの? 目的によって違うんだから(ry
463 名前:デフォルトの名無しさん mailto:sage [2014/01/03(金) 23:06:25.84 .net] 過去数十年にわたって、数多くの研究者が乱数列の様々な評価法を考えてきたというのに、 それら全てを無視して、俺の能力ならすばらしい評価関数が作れる、ってか? すごい自信だな。 (普通、そういうのを「バカ」と言う)
464 名前:デフォルトの名無しさん mailto:sage [2014/01/04(土) 19:32:09.42 .net] >>451 人格障害じゃね?貴方
465 名前:デフォルトの名無しさん mailto:sage [2014/01/04(土) 19:47:35.20 .net] >>454
466 名前:デフォルトの名無しさん mailto:sage [2014/01/04(土) 23:19:34.15 .net] 数学を知らずに数学を知ったかのように語るやつっているけど、 たんなる感情論だよね、観念の類を定義して方程式で証明する構図は まったく具体性のない幻想とまで皮肉をいったり悪口を言う輩がいるが それは間違いない、幻想でいいんだよ。 方程式そのものは美しさとその完璧なる秩序の明確性を説明するもので 現実を表す物理のような実証ではない、証明と実証の区別ができないのが 実証(具体性)ばかりこのみ難しい数学の領域の記号だけの記述になると 3行しか読めないコピーペーの能力ではどうにもならない。 暗記してできるものでもない。
467 名前:デフォルトの名無しさん mailto:sage [2014/01/06(月) 09:52:48.11 .net] 方程式や論理式に現実性がない、だと? じゃあ、方程式や論理式を駆使して設計されている飛行機やコンピュータはいったいどうなるんだ。 飛行機やコンピュータは幻想なのか?
468 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 11:01:34.65 .net] あんな重い鉄の塊が飛ぶわけないだろ
469 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 11:16:14.23 .net] 飛行機は鉄の塊ってほど密じゃないけどね。 そもそも軽金属か樹脂がメインだし。
470 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 11:53:33.12 .net] 鉄の塊は、レシプロ機のエンジンぐらいだな。高機能樹脂ができる前は軽合金、その前は木と布だったw 「機」(本来は、織機のように木などで出来た、軽いものを指す語)を使うのは伊達じゃない。
471 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 14:40:58.24 .net] 最近は炭素素材も使われるようになったねぇ
472 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 03:02:18.88 ID:2kZbCKHg.net] 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以来のブレークスルーがあるような気がするな、、
473 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 20:08:05.30 ID:vHcSHc13.net] ラン スー とくれば最後はもちろん ミキ
474 名前:デフォルトの名無しさん mailto:sage [2014/04/12(土) 13:57:47.36 ID:cTqY1h51.net] 電線に
475 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 20:09:23.50 ID:DUkBiaE/.net] 中心極限定理ですねえ
476 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 22:34:52.61 ID:vRDAArpO.net] 不思議だよね
477 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 04:34:51.11 ID:VGFQwx9o.net] 不思議なの? 結果の数値を表す組み合わせの存在ってだけだと思うんだけど
478 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 21:38:54.17 ID:dRMpu4rZ.net] 一様乱数ですら足して足してでガウス分布に近づいていく、というのだからねえ‥‥手元の教科書は証明抜きだ‥‥凡人には理解できない世界なのか?
479 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 21:57:22.77 ID:J+hFW2BD.net] ごく単純に 2D6 とか 3D6 を....6面のサイコロを2個とか3個とか振って、出た目の合計とか、 考えてみればいいじゃないか。
480 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 08:02:06.54 ID:txn6O3jo.net] >>470 それは「二項分布はガウス分布に近づく」ってやつだね,でもその証明も手元にないな‥
481 名前:デフォルトの名無しさん [2014/11/09(日) 14:21:04.82 ID:iOEsToOb.net] メルセンヌツイスタが最強
482 名前:デフォルトの名無しさん [2015/12/18(金) 13:17:24.11 ID:kGnyy2oJ.net] xorshift128+ってのが今はいいのかな
483 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 15:49:03.52 ID:A091Ig/h.net] 線形合同法の結果を x ^ (x>>n)すると改良できね?
484 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 17:07:51.05 ID:nABaYqd9.net] xorshift1024*てえのが最高品質なうえに速度もトップクラスだぜとテスト結果を示して自信満々だが なんだか話がうますぎてほんまかいなという気もする xorshift.di.unimi.it/ 32ビット型の扱いが最も効率良い言語の方がまだ多そうだからそっちで返してほしいのもあるな 返し方で調整できるといえばそうなんだけど
485 名前:デフォルトの名無しさん [2016/03/29(火) 09:31:35.21 ID:/c8bAcK4.net] サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足 サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題 春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残 コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題 マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了 校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント 高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
486 名前:デフォルトの名無しさん mailto:sage [2016/03/29(火) 19:54:10.75 ID:B5K8vkuQ.net] >>475 やっていることは既存のxorshiftのアルゴリズムだな 内部で保持するシード列が64ビットになってその保持数が増えたって感じだね 速度は早いかもしれんが、乱数列としての質はどうなんだろうな マジックナンバーの積算があるのが気になるw 汎用性から見てMTが最強には変わらないと思うよ
487 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 20:16:33.23 ID:cjJ70n7R.net] とりあえずで利用するならSFMTとは思った テスト結果どおり,統計的におそろしく性質がいいと分かってきたらまた見方が変わるかもしれん
488 名前:デフォルトの名無しさん [2016/09/21(水) 12:21:52.98 ID:CD/L3vnF.net] ゲームに乱数が使われていると思うけど、この計算の占める割合って全計算のどのくらいの割合 なんでしょうか?
489 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 14:00:56.83 ID:ib8am8Zc.net] 全体からみて1/1000000以下くらいじゃね
490 名前:デフォルトの名無しさん [2016/09/21(水) 14:06:22.50 ID:CD/L3vnF.net] 全然大したことじゃないですか? ほかのスレで、 ゲームサーバーでも対戦判定に莫大な回数の擬似乱数を回してパワーを食う って書いてる人がいたんですけど
491 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 14:30:30.69 ID:ib8am8Zc.net] この板の他のスレ? それとも他の板のスレ? この板のひとでそれを真に受ける人はいないと思いたい
492 名前:デフォルトの名無しさん [2016/09/21(水) 14:43:40.10 ID:CD/L3vnF.net] ポケモンのような大規模ゲームの場合でも、乱数発生の占める計算パワーは微々たるものですか?
493 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 15:06:12.43 ID:DJrsIBwc.net] ネットワークの処理に比べればゼロに近い
494 名前:デフォルトの名無しさん [2016/09/21(水) 17:34:47.65 ID:yT1mont5.net] 高速な物理乱数発生器なんて必要性ないですかね
495 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 20:37:48.08 ID:5qi85AkV.net] あらかじめ物理乱数発生器で乱数表を作成 乱数表を順に読み込む
496 名前:デフォルトの名無しさん [2016/09/23(金) 10:57:39.17 ID:fan7eHym.net] 乱数発生が重くて困るとか、真正乱数がぜひほしいっていう話はないですか?
497 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 11:24:40.59 ID:lpG0enk6.net] d.hatena.ne.jp/tsukaban/20130727/p1 xorshiftについて聞きたいのですが、 x<<11 w>>19 t>>8 この 11 と 19 と 8 ってのはなんですか? なんでもいいんですか? 64ビットで乱数を作りたいのですが、どう直していいか困ってます。
498 名前:デフォルトの名無しさん [2016/10/05(水) 13:39:42.79 ID:39LeL7K0.net] xorshift64 で検索したらいいじゃん。
499 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 15:04:31.12 ID:lpG0enk6.net] 簡単に言いますが、でしたら解答もらえんでしょうか
500 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 15:09:17.42 ID:ZsK4JXk7.net] >>488 (・∀・)つ ホレ! ttps://www.jstatsoft.org/article/view/v008i14/xorshift.pdf Marsaglia先生が詳しく解説してくれてる
501 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 15:33:16.58 ID:lpG0enk6.net] tだけを64ビットにすればいいってことですか?
502 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 15:39:10.45 ID:lpG0enk6.net] たぶん分かりました。 ありがとうございます
503 名前:デフォルトの名無しさん [2016/10/06(木) 07:29:45.67 ID:iNNf2EsF.net] こういう厚かましい無能が現れるのも乱数性のなせるわざか。
504 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 08:30:59.70 ID:2aWpWU4C.net] 三木さんに新しい疑似乱数生成方式を考案してほしい 三木乱数で ミキさんに考えてもらって乱数ミキでもいい
505 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 12:12:14.44 ID:Yw0Cruyw.net] 線形合同法は、下位ビットが偏る メルセンヌツイスター、1996の方が、周期が長い Xorshift、2003は高速
506 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 06:01:51.17 ID:KfBpvv2w.net] 順番性のテストをしたことあるけど、 xorshiftは異常なほど結果が偏ってるよ。 逆に線形合同法は異常なほど分散する。 結局、統計学や確率論などの乱数の順番が重要になる処理では結局どちらも使えない。 例えば、rand(100)で 5回連続で 20以下が出るかどうか。などの処理確率の信憑性が極めて疑わしい。 ちなみにテストはいろいろやったけど、xorshiftのおかしさが一撃でわかるのが x座標y座標と順番に出して印をつけてく方式。 線形合同法に至っては、rand(100) を100個出すだけで十分。確率上あり得ないくらい重複が少なく綺麗に分散する。 線形合同法は、下位ビットのかたよりがすぐ話題になるが、1/max の精度で乱数を必要とすることがあまりないのでけっこうどうでもいい。 ちなみに俺はここ数年、線形合同法で最初のseed設定時に乱数を1024個プールして、 array[rand(max) % 1024]; みたいな感じでランダムで取り出して使う。(そしてそこに次の乱数をセットする)。 って感じの自作汎用dllを使ってる。 トランプだって、2度シャッフルすればもう最初の並び順との因果関係は誰にも発見出来ないってね。 まぁメモリは多少食うし速度も最速じゃないけど、別に最速最小を求めるような研究者じゃないし。俺は。
507 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 07:32:49.80 ID:U+ATce89.net] >>497 とりあえず、全bit使おうとするのは良くないというのは基本だと思うが だからこそ、内部で32bitとかで種を持っているにもかかわらず、 標準Cでの要求が14bitとかそういう話になる 単純に割って使う(シフトでの下位bit切り捨てに相当)んじゃなく、上位もマスクして切り捨てて使うのが常識
508 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 07:47:16.98 ID:PgGGpXVn.net] >>497 >ちなみに俺はここ数年、線形合同法で最初のseed設定時に乱数を1024個プールして、 >array[rand(max) % 1024]; >みたいな感じでランダムで取り出して使う。(そしてそこに次の乱数をセットする)。 それはDonald Knuth先生のリオーダーアルゴリズムBに近いな 内部のバッファリングは256だけどC++のstd::knuth_b(シャッフルオーダーね)がある
509 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 14:10:54.10 ID:PgGGpXVn.net] >>497 >rand(max) % 1024 この部分は下位ビットの偏りが諸に関連しているよ 因みにstd::knuth_bではstd::minstd_rand0を元にバッファサイズで正規化して 値を取り出しているから、その演算のせいで他のに比べると重い 周期も数学的に不明だったかな
510 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 18:34:54.73 ID:KfBpvv2w.net] あんま深く考えてなかったけどそうかもね。 ただし検定は通ってるから、まあいいっちゃいいけど。 実用上の実質的な周期はそのまま線形合同法と同じだよ。 まあ300回くらいなら多く回しても実用上にも問題ないけど、そんなのは計算しない。 >rand(max) % 1024 これは素数にすることでノーコストで解決できるから気が向いた時にでもやっとくよ。 ただ、どんなに下位ビットが偏ってた所で、 araay[988]の中身 と araay[986]の中身の因果関係、もしくは共通点は何か、と聞かれても判明させるのは不可能に近いと思うけどね。 >上位もマスクして切り捨てて使うのが常識 ただ線形合同法はそれでいいとしてxorshiftは捨てるべきビットが特定できないような? まあ俺はシャッフルして何も捨てないのが好きらしい。 全部が若干遅いんだけどね。特にseed植える時。
511 名前:デフォルトの名無しさん mailto:sage [2016/10/26(水) 12:50:05.40 ID:X3TP1P6r.net] 奥村先生のアルゴリズム事典にある乱数の改良法だぬ xorshiftは生で使うと俺も気持ち悪さを感じるので線形合同法を足してる
512 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 11:46:44.94 ID:DCOx50tb.net] 統計の知識は中高どまり(平均・中央値・分散程度か)なので 乱数用に内部状態が32ビットしか確保できないソフトに対して単にxorshiftを採用して「検定もいい結果らしいし」と気にしていなかった 思ったより良くないとなると,プールしておいてランダムに取り出す方法も使えないし悩むな
513 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 12:22:06.08 ID:7W6mxi0O.net] 1個使ったら100個捨てるとか RNGが保証してるのは周期だけだと割りきって頑張って調律するとか
514 名前:デフォルトの名無しさん [2016/12/14(水) 23:07:36.84 ID:2UzQxrtp.net] 素人の生半可なオレオレ乱数はやらない方が身のため
515 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 21:32:49.60 ID:VVtKGmEj.net] 2017は素数か
516 名前:デフォルトの名無しさん mailto:sage [2017/01/01(日) 11:37:31.32 ID:DY9bt0tG.net] あけましておめでとうございます return x = x * 2017 + 1;
517 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 01:13:53.38 ID:yRe7g27Q.net] 一個使って100個捨てるとか馬鹿の極み コストを101倍にしてどうする。 コスト2倍も出せば問題のない乱数を作れるのに
518 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 06:28:07.10 ID:42rV0dht.net] S/N比最低の2ちゃんでドヤっってる場合じゃないよな
519 名前:デフォルトの名無しさん [2017/01/05(木) 20:10:30.85 ID:atmVS5w4.net] S/N比最低というのは、乱数としては素晴らしいことだ。
520 名前:デフォルトの名無しさん mailto:sage [2017/01/06(金) 09:49:58.47 ID:zAIptLYs.net] つまり2chの書き込みをもとに乱数列を作る生成器を作れば…?
521 名前:デフォルトの名無しさん mailto:sage [2017/01/06(金) 12:01:18.30 ID:CHjfjTiP.net] 片寄りが多くて一様じゃないからなあ……
522 名前:デフォルトの名無しさん mailto:sage [2017/01/06(金) 14:32:25.52 ID:eb3De0HO.net] >>512 ワロタ 一様分布じゃなく、一応分布が2chらしい
523 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 09:39:50.93 ID:BVjvbr4Q.net] BIG 不正 いまGoogleで検索したら、すごいのがでますね
524 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 09:56:53.06 ID:BVjvbr4Q.net] 「14試合×5口分の予想結果が2回続けて全く同じという極めて不自然な結果が出力され、 システムの不具合や不正ではないかと一騒動となっている(中略) 日本スポーツ振興センターと楽天から調査結果の発表がなされたのだが、 くじは確かに販売されたものである」 スポーツくじ「BIG」でランダムなはずの予測結果が2連続で一致するも「偶然」との回答 - エキサイトニュース www.excite.co.jp/News/it_g/20170221/Slashdot_17_02_20_1619238.html 2017年2月22日 09時50分
525 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 12:02:19.51 ID:Acz49b5N.net] 一人が予想して当たればその確率かもわからんけど、 1000人が予想した場合の期待値は1000倍になるんじゃね
526 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 07:14:10.76 ID:WFbVQHcp.net] 2回とも当たったんならすごいけどな
527 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 07:17:16.12 ID:WFbVQHcp.net] 数枚買ったうちの2枚が連続して同じだったのか そりゃ金返せってなるな 最初から買わんけど
528 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 07:23:45.91 ID:WFbVQHcp.net] セキュリティ上の理由から アルゴリズム公開しないって書いてあるけど 全組み合わせを逐次予想するんじゃなくて 元々予想したくじを用意してあって そこから適当に買った枚数分選んでくるとかだったら 重複確率は上がりそうだな たまたま購入者が気付いただけで 気付かずに捨てられた券で 過去の重複してたのもっとあるんじゃないか
529 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 08:54:22.37 ID:907E0Xet.net] どんな擬似乱数でも、内部的に状態を示す値を保持していて、それを元に次回の乱数を計算で出す その値を初期化するのがsrand等だけど、その時に限らず常に値は持っているので 偶然内部の値が同じなんてこともよくある ただし、普通は同じ値であっても、別の用途に乱数を使うので、同一であったことが問題になることはない けれど、もし、14試合分の予想の直前の段階での内部的な値が、前回と全く同じ値だったとすると そこから算出される各試合結果を示す乱数も、全く同じ値が出て 予想結果も全く同じものになる 偶然同じ状態値を持っている時に同じ買い方をしたために、全く同じ予想値になった 状態値のbit数が少ない(例えば普通に線形合同法だと32bitか)のを修正するか、 あるいはアルゴリズム的に同じ擬似乱数だけで順番に算出することを見直すか そういうことをしないと、同じことが再び起こる可能性はある 擬似乱数だと防げないけどね 宇宙が始まるより低い確率云々ってのはナンセンス 擬似乱数の内部値が一致していて、単純に擬似乱数を利用するアルゴリズムだったというだけ これは珍しいけど起こりうること
530 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 13:04:42.59 ID:UXkH84Wv.net] 宇宙云々はあくまで真の乱数が使われていた場合でしょ
531 名前:デフォルトの名無しさん [2017/02/23(木) 13:15:51.47 ID:eG9NqkD/.net] >>520 状態機械で内部の値が一緒だったらその次もその次もずっと同じ値を出し続けるんじゃね
532 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 13:37:51.43 ID:lN59Dhjm.net] 真の乱数なら、種の設定は (少なくとも実用上は) いかなる場合も最初の一度きりで二度と結果がループすることはない
533 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 13:40:24.47 ID:lN59Dhjm.net] と言っても宇宙の何かの物理法則が真の乱数を作ることはないのだろうと思うけど。 全ては必ず有限らしいし、その中でのチューリング完全なんだろうだし。
534 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 13:59:17.36 ID:7wYQlXII.net] 一つずつ乱数生成してないのかもね
535 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 16:45:07.24 ID:eG9NqkD/.net] >>523 真じゃない乱数は ループの長さが長いか短いかだけで いずれはループするんだよな
536 名前:デフォルトの名無しさん [2017/02/23(木) 16:46:44.91 ID:WFbVQHcp.net] >>525 なんらかのバグで内部状態が変化しなくなって 2回連続で同じ値を出してしまったら 再起動がかかるシステムだったりするかもしれない
537 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 21:50:11.33 ID:5geihC2S.net] >>522 「前回(の乱数取得時)と同じ」という意味ではなく 「前回試合予想をした時と同じ」という意味ね どちらも、同じ値から同じ試合の予想をして、 結果、前週と全く同じ予想が14試合x5口分で起きた
538 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 14:00:51.79 ID:xRGcfmim.net] メルセンヌツイスタ使ってなかったんだろ
539 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 19:02:56.20 ID:3z/u0Cfz.net] 用途が用途だから暗号論的擬似乱数の適応だろ /dev/urandomでもCryptGenRandomでも
540 名前:デフォルトの名無しさん [2017/02/25(土) 15:09:25.02 ID:u8Ry8YI7.net] 状態変数が同じになったから同じ数列が出たんじゃねーよ。 二セット分繰り返す数列を出力する状態変数だっただけだろ。 science3.2ch.net/test/read.cgi/math/1088351567/424-425 円周率の 93299341 桁目から 07214545 という数列が出るそうだ。 まあ大体その辺で出そうな桁数だ。 おそらく無限に調べれば 1/10,0000,000 より少しだけ少ない頻度で出現するだろう。 そしてそのうちの 1/10,0000,000 は二回続く、つまり 1/10+E16 程度で 0721454507214545 という数列が出現するであろう。 目立つ組み合わせだから話題だが、どの二セットを取っても、その組み合わせが発生する確率は同じだ。
541 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 16:57:29.92 ID:usTDxsWv.net] e なら割と早く出て来る
542 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 21:31:43.44 ID:ARsP6JfD.net] PCGってどうなん? ttp://www.pcg-random.org/ 説明読んだりビデオ観たりした限りでは優れているみたいなんだけども アルゴリズム的には線形合同法とXorShiftのハイブリッドの様な感じで 結構単純な構造なんだけど、高速で良質な乱数を生成するとか 因みに2年前に発表されているみたいなんだけど知らんかったわ
543 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 03:06:26.50 ID:H8Cvp+NU.net] 周期性と分布バランスが目的用途に特化できるならそれが最強だろ
544 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 11:22:40.04 ID:yPF7Zec4.net] 最強(笑)
545 名前:デフォルトの名無しさん mailto:sage [2018/01/01(月) 10:34:52.74 ID:Adreh4LC.net] Xn+
546 名前:1=Xn*201+8+1/1 Xn+1=Xn*(2018>>1 )+1 あけおめ [] [ここ壊れてます]
547 名前:デフォルトの名無しさん [2018/05/23(水) 20:53:42.20 ID:Au5e7VGg.net] 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 BZKM3
548 名前:デフォルトの名無しさん [2018/07/05(木) 01:00:09.16 ID:RfoszcD2.net] 5E7
549 名前:Goldwasser [2019/01/03(木) 13:41:14.69 ID:r8gE2use.net] ご覧あれーw #include "pch.h" #include <iostream> #include <stdio.h> #include <stdlib.h> #define N 32 unsigned char x1[N], x2[N], x3[N]; void rp(unsigned char* a) { int i, j, x; for (i = 0; i < N; i++) { a[i] = i; } for (i = 0; i < N - 2; i++) { // rand from i+1 to N-1 j = (rand() % (N - 1 - i)) + i + 1; // swap a[i] and a[j] x = a[j]; a[j] = a[i]; a[i] = x; } if (a[N - 1] == N - 1) { a[N - 1] = a[N - 2]; a[N - 2] = N - 1; } }
550 名前:デフォルトの名無しさん [2019/01/03(木) 13:41:50.45 ID:r8gE2use.net] 後半 int data() { int i, j = 0, k = 0; unsigned int a[N]; unsigned int z[N]; unsigned char w[N]; for (i = 0; i < N; i++) a[i] = rand()%256; for (i = 0; i < N; i++) z[i] = 0; k = 0; while (k< 4000) { for (i = 0; i < N; i++) z[i] ^= a[x2[i]]; for (i = 0; i < N; i++) a[i] ^= z[i]; for (i = 0; i < N; i++) w[i] = x1[x2[x3[i]]]; *x2 = *w; k++; for(i=0;i<N;i++) printf("%u,",a[i]); } printf("\n"); return 0; }
551 名前:Goldwasser [2019/01/03(木) 13:42:22.37 ID:r8gE2use.net] 最後 int main() { rp(x1); rp(x2); data(); return 0; }
552 名前:デフォルトの名無しさん [2019/01/06(日) 08:57:50.46 ID:kWOVO8kw.net] 誰かTestU01の使い方を教えてください
553 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 02:35:20.31 ID:LCfXPkf7.net] >>542 www.pcg-random.org/posts/how-to-test-with-testu01.html
554 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています