擬似乱数発生器について語ろうか。その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:592007/10/17(水) 22:53:56
で、いつになったらSFMTはboostに組み込まれるの?
3デフォルトの名無しさん
2007/10/17(水) 23:16:582007/10/17(水) 23:35:36
2007/10/17(水) 23:38:04
この手の乱数マジックナンバーでよくでてくる
123456789
なにふざけてるのかと思ってたら、
0.1234567891011121314… って超越数なんだな。
つまり123456789は、その超越数を10億倍して9桁の精度で切り落とした、
そこそこ質のよい数なのであった。
目からウロコ
123456789
なにふざけてるのかと思ってたら、
0.1234567891011121314… って超越数なんだな。
つまり123456789は、その超越数を10億倍して9桁の精度で切り落とした、
そこそこ質のよい数なのであった。
目からウロコ
2007/10/18(木) 00:42:09
マジックナンバーに0xDEADBEEFってよく見る
2007/10/18(木) 01:51:23
SFMTはCPUの機能に最適化させてるメルセンヌツイスタですよね?
boostはテンプレートライブラリだからそれはいつまでたっても組み込まれないと自分は思います…。
boostはテンプレートライブラリだからそれはいつまでたっても組み込まれないと自分は思います…。
2007/10/18(木) 08:32:57
>>7意味不明
97
2007/10/18(木) 10:16:21 C++のテンプレートライブラリとして実装するものなのかなと思っただけです。
2007/10/18(木) 12:38:11
独自の乱数発生器を組み込めるのがboost::randomのよいところ。
手直しは必要だが。
っていうか、boostがテンプレートライブラリだなんて誰が言ってるの?
STLの事じゃなくて?
手直しは必要だが。
っていうか、boostがテンプレートライブラリだなんて誰が言ってるの?
STLの事じゃなくて?
117=9
2007/10/18(木) 14:19:16 実際違いました…すみません。
boostの一部がSTLに移植されるとか書いてあったの見てたから勘違いかな…。
regexとかはテンプレートライブラリではなかったです。
あと、SFMTの情報斜め読みしてたから勘違いしてしまいました。申し訳ありません。
boostの一部がSTLに移植されるとか書いてあったの見てたから勘違いかな…。
regexとかはテンプレートライブラリではなかったです。
あと、SFMTの情報斜め読みしてたから勘違いしてしまいました。申し訳ありません。
2007/10/18(木) 19:08:52
RandomはTR1に入った、つまり標準ライブラリ入り内定ではある。
Regexは、テンプレートライブラリと呼ぶかどうかはともかく、
basic_regexなどテンプレートはよく使っている。
Regexは、テンプレートライブラリと呼ぶかどうかはともかく、
basic_regexなどテンプレートはよく使っている。
2007/10/19(金) 00:54:05
regexがプリコンパイル方式なのは型が最初から決まってるからじゃん。
2007/10/19(金) 09:58:49
2007/10/19(金) 12:51:57
Boost はほとんどテンプレートだけど、
たまにテンプレートじゃないのがあるからな。
たまにテンプレートじゃないのがあるからな。
16デフォルトの名無しさん
2007/10/23(火) 01:38:55 http://www.nicovideo.jp/watch/sm1331242
歌詞を乱数で生成した歌
歌詞を乱数で生成した歌
2007/10/23(火) 04:40:30
(ax+b) mod M でいいよ…
2007/10/23(火) 05:09:13
MT使え。
いじょ。
終了。
いじょ。
終了。
2007/10/23(火) 08:01:20
再開
20デフォルトの名無しさん
2007/10/25(木) 23:12:25 初心者ですみません。
メルセンヌ・ツイスタって、COBOLに移植されてないでしょうか?
MTのページは見たのですがCOBOLはなかったorz
メルセンヌ・ツイスタって、COBOLに移植されてないでしょうか?
MTのページは見たのですがCOBOLはなかったorz
2007/10/25(木) 23:15:18
COBOLで頑張ってもいいとはおもうけど(どっかに実装があるかもしれないけど)、
処理系の、Cの関数を呼び出す機能の利用を検討するのもありと思う
処理系の、Cの関数を呼び出す機能の利用を検討するのもありと思う
22デフォルトの名無しさん
2007/10/25(木) 23:27:052007/10/27(土) 11:24:36
COBOLで乱数が必要なのか?
2007/10/27(土) 12:14:41
使えないとちょっとCOBOL
2007/10/27(土) 19:27:33
コボルと困るを掛けた駄洒落か。なるほど。次の宴会で使おう。
2007/10/28(日) 09:43:23
昔COBOLでなんちゃって正規分布乱数を作ったな
時計の1000分の一秒の値を種にして、中心極限定理を使ったはずだ
COBOLのシステムで何をするかしらんが、この程度で十分じゃねぇの?
時計の1000分の一秒の値を種にして、中心極限定理を使ったはずだ
COBOLのシステムで何をするかしらんが、この程度で十分じゃねぇの?
2007/10/28(日) 19:36:32
>>25
きっと誰かのビールがCOBOLる
きっと誰かのビールがCOBOLる
2007/10/28(日) 19:49:41
それは、すCOBOL、きついな。
2007/10/29(月) 00:13:57
XorShiftのk=128では無いバージョン(32,64,96,160,192)について
誰か擬似コードor参考になるURL希望。
ググったが出て来なかった(多分やり方が悪いorz)
誰か擬似コードor参考になるURL希望。
ググったが出て来なかった(多分やり方が悪いorz)
2007/11/01(木) 01:20:36
2007/11/02(金) 15:50:53
ド素人なので突っ込みどころがあったら御教授くださいorz
rand()で生成した乱数をバイナリ形式で出力して
NIST SP800-22やdiehardテストに突っ込みたいんですけど・・・
↓のままだとdiehardどころかSP800-22にも引っかかってしまいます
#include <stdio.h>
#include <stdlib.h> // rand, srand使用
#include <time.h> // time使用
#define size 12000000 //bit列の長さ定義
↓
rand()で生成した乱数をバイナリ形式で出力して
NIST SP800-22やdiehardテストに突っ込みたいんですけど・・・
↓のままだとdiehardどころかSP800-22にも引っかかってしまいます
#include <stdio.h>
#include <stdlib.h> // rand, srand使用
#include <time.h> // time使用
#define size 12000000 //bit列の長さ定義
↓
2007/11/02(金) 15:52:35
main()
{
FILE *outputfile; // 出力ストリーム
unsigned long int m,i=0;
char bit[size];
srand((unsigned) time(NULL)); // time関数からシードをセット
outputfile = fopen("bit.dat", "w"); // ファイルを書き込み用にオープン
if (outputfile == NULL) { // オープンに失敗した場合
printf("cannot open\n"); // エラーメッセージを出して
exit(1); // 異常終了
}
for(i=0; i<size-1; i++){ // 乱数を発生させ剰余を計算
m=rand()%0xffff;
bit[i]=m;
}
fwrite(&bit,size,1,outputfile); //バイナリの書き込み
fclose(outputfile); // ファイルをクローズ
return 0;
}
↓公式ページ
NIST ttp://csrc.nist.gov/groups/ST/toolkit/rng/documentation_software.html
diehard ttp://stat.fsu.edu/pub/diehard/
{
FILE *outputfile; // 出力ストリーム
unsigned long int m,i=0;
char bit[size];
srand((unsigned) time(NULL)); // time関数からシードをセット
outputfile = fopen("bit.dat", "w"); // ファイルを書き込み用にオープン
if (outputfile == NULL) { // オープンに失敗した場合
printf("cannot open\n"); // エラーメッセージを出して
exit(1); // 異常終了
}
for(i=0; i<size-1; i++){ // 乱数を発生させ剰余を計算
m=rand()%0xffff;
bit[i]=m;
}
fwrite(&bit,size,1,outputfile); //バイナリの書き込み
fclose(outputfile); // ファイルをクローズ
return 0;
}
↓公式ページ
NIST ttp://csrc.nist.gov/groups/ST/toolkit/rng/documentation_software.html
diehard ttp://stat.fsu.edu/pub/diehard/
2007/11/03(土) 03:37:01
2007/11/03(土) 12:45:15
>>32
> rand()%0xffff
一般論として、
剰余を取っても良質な疑似乱数列となっていることが保証されている
乱数生成系でない場合は、剰余ではなく商を取って一定の範囲に
切り詰めるべき。
歴史的に、システムのデフォルトの乱数生成系は品質の悪いものが
多いので、良い疑似乱数が必要なら、マニュアル等で良質な
乱数生成系を使っていることが確認できなければ、デフォルトの
生成系は使うべきでない。
> rand()%0xffff
一般論として、
剰余を取っても良質な疑似乱数列となっていることが保証されている
乱数生成系でない場合は、剰余ではなく商を取って一定の範囲に
切り詰めるべき。
歴史的に、システムのデフォルトの乱数生成系は品質の悪いものが
多いので、良い疑似乱数が必要なら、マニュアル等で良質な
乱数生成系を使っていることが確認できなければ、デフォルトの
生成系は使うべきでない。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】東京・足立区のひき逃げ事故 警視庁が運転手とみられる人物確保 80代男性の死亡確認、20代女性心肺停止 ★5 [Ailuropoda melanoleuca★]
- 防衛費増額「賛成」62・8% 「反対」32・2%を大きく上回る 賛成「18~29歳で8割」世代差あらわ 産経FNN合同世論調査 [尺アジ★]
- 【東京・足立のひき逃げ事故】搬送の80代男性が死亡、事故車両は近隣販売店から盗難か [ぐれ★]
- 【宅急便】ヤマト運輸がベトナム人ドライバー500人採用…不安視される「運転技術」「コミュニケーション」「助成金」 ★2 [シャチ★]
- スペイン、移民受け入れで成長 1人当たりGDP日本超え ★3 [蚤の市★]
- 高市首相、中国首相と「会話する機会なかった」-G20サミット後発言 [バイト歴50年★]
- マスコミ「中国と関係悪化するとパンダが来なくなる」しか言わない模様。なぜレアアースは意地でも触れないのか [237216734]
- 日本人についにクマ肉の美味しさがバレる。臭みなし肉が柔らかく栄養価も高い [931948549]
- 【悲報】ホテル業界、中国人が大量キャンセルしてしまち阿鼻叫喚地獄になる🥺 [616817505]
- 【悲報】男さん、48歳で月手取り22万円しかないのに片道1時間を高速道路(850円)を使って通勤してて大炎上wwwwwwwwwwww [786648259]
- 【高市速報】警視庁「足立区事故の車を事故前にパトカーが追跡していた」 [931948549]
- ちしょうが集まるスレ
