擬似乱数発生器について語ろうか。その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:59521デフォルトの名無しさん
2017/02/23(木) 08:54:22.37ID:907E0Xet どんな擬似乱数でも、内部的に状態を示す値を保持していて、それを元に次回の乱数を計算で出す
その値を初期化するのがsrand等だけど、その時に限らず常に値は持っているので
偶然内部の値が同じなんてこともよくある
ただし、普通は同じ値であっても、別の用途に乱数を使うので、同一であったことが問題になることはない
けれど、もし、14試合分の予想の直前の段階での内部的な値が、前回と全く同じ値だったとすると
そこから算出される各試合結果を示す乱数も、全く同じ値が出て
予想結果も全く同じものになる
偶然同じ状態値を持っている時に同じ買い方をしたために、全く同じ予想値になった
状態値のbit数が少ない(例えば普通に線形合同法だと32bitか)のを修正するか、
あるいはアルゴリズム的に同じ擬似乱数だけで順番に算出することを見直すか
そういうことをしないと、同じことが再び起こる可能性はある
擬似乱数だと防げないけどね
宇宙が始まるより低い確率云々ってのはナンセンス
擬似乱数の内部値が一致していて、単純に擬似乱数を利用するアルゴリズムだったというだけ
これは珍しいけど起こりうること
その値を初期化するのがsrand等だけど、その時に限らず常に値は持っているので
偶然内部の値が同じなんてこともよくある
ただし、普通は同じ値であっても、別の用途に乱数を使うので、同一であったことが問題になることはない
けれど、もし、14試合分の予想の直前の段階での内部的な値が、前回と全く同じ値だったとすると
そこから算出される各試合結果を示す乱数も、全く同じ値が出て
予想結果も全く同じものになる
偶然同じ状態値を持っている時に同じ買い方をしたために、全く同じ予想値になった
状態値のbit数が少ない(例えば普通に線形合同法だと32bitか)のを修正するか、
あるいはアルゴリズム的に同じ擬似乱数だけで順番に算出することを見直すか
そういうことをしないと、同じことが再び起こる可能性はある
擬似乱数だと防げないけどね
宇宙が始まるより低い確率云々ってのはナンセンス
擬似乱数の内部値が一致していて、単純に擬似乱数を利用するアルゴリズムだったというだけ
これは珍しいけど起こりうること
522デフォルトの名無しさん
2017/02/23(木) 13:04:42.59ID:UXkH84Wv 宇宙云々はあくまで真の乱数が使われていた場合でしょ
523デフォルトの名無しさん
2017/02/23(木) 13:15:51.47ID:eG9NqkD/ >>521
状態機械で内部の値が一緒だったらその次もその次もずっと同じ値を出し続けるんじゃね
状態機械で内部の値が一緒だったらその次もその次もずっと同じ値を出し続けるんじゃね
524デフォルトの名無しさん
2017/02/23(木) 13:37:51.43ID:lN59Dhjm 真の乱数なら、種の設定は (少なくとも実用上は) いかなる場合も最初の一度きりで二度と結果がループすることはない
525デフォルトの名無しさん
2017/02/23(木) 13:40:24.47ID:lN59Dhjm と言っても宇宙の何かの物理法則が真の乱数を作ることはないのだろうと思うけど。
全ては必ず有限らしいし、その中でのチューリング完全なんだろうだし。
全ては必ず有限らしいし、その中でのチューリング完全なんだろうだし。
526デフォルトの名無しさん
2017/02/23(木) 13:59:17.36ID:7wYQlXII 一つずつ乱数生成してないのかもね
527デフォルトの名無しさん
2017/02/23(木) 16:45:07.24ID:eG9NqkD/528デフォルトの名無しさん
2017/02/23(木) 16:46:44.91ID:WFbVQHcp529デフォルトの名無しさん
2017/02/23(木) 21:50:11.33ID:5geihC2S >>523
「前回(の乱数取得時)と同じ」という意味ではなく
「前回試合予想をした時と同じ」という意味ね
どちらも、同じ値から同じ試合の予想をして、
結果、前週と全く同じ予想が14試合x5口分で起きた
「前回(の乱数取得時)と同じ」という意味ではなく
「前回試合予想をした時と同じ」という意味ね
どちらも、同じ値から同じ試合の予想をして、
結果、前週と全く同じ予想が14試合x5口分で起きた
530デフォルトの名無しさん
2017/02/24(金) 14:00:51.79ID:xRGcfmim メルセンヌツイスタ使ってなかったんだろ
531デフォルトの名無しさん
2017/02/24(金) 19:02:56.20ID:3z/u0Cfz 用途が用途だから暗号論的擬似乱数の適応だろ
/dev/urandomでもCryptGenRandomでも
/dev/urandomでもCryptGenRandomでも
532デフォルトの名無しさん
2017/02/25(土) 15:09:25.02ID:u8Ry8YI7 状態変数が同じになったから同じ数列が出たんじゃねーよ。
二セット分繰り返す数列を出力する状態変数だっただけだろ。
http://science3.2ch.net/test/read.cgi/math/1088351567/424-425
円周率の 93299341 桁目から 07214545 という数列が出るそうだ。
まあ大体その辺で出そうな桁数だ。
おそらく無限に調べれば 1/10,0000,000 より少しだけ少ない頻度で出現するだろう。
そしてそのうちの 1/10,0000,000 は二回続く、つまり 1/10+E16 程度で 0721454507214545 という数列が出現するであろう。
目立つ組み合わせだから話題だが、どの二セットを取っても、その組み合わせが発生する確率は同じだ。
二セット分繰り返す数列を出力する状態変数だっただけだろ。
http://science3.2ch.net/test/read.cgi/math/1088351567/424-425
円周率の 93299341 桁目から 07214545 という数列が出るそうだ。
まあ大体その辺で出そうな桁数だ。
おそらく無限に調べれば 1/10,0000,000 より少しだけ少ない頻度で出現するだろう。
そしてそのうちの 1/10,0000,000 は二回続く、つまり 1/10+E16 程度で 0721454507214545 という数列が出現するであろう。
目立つ組み合わせだから話題だが、どの二セットを取っても、その組み合わせが発生する確率は同じだ。
533デフォルトの名無しさん
2017/02/25(土) 16:57:29.92ID:usTDxsWv e なら割と早く出て来る
534デフォルトの名無しさん
2017/03/10(金) 21:31:43.44ID:ARsP6JfD PCGってどうなん?
ttp://www.pcg-random.org/
説明読んだりビデオ観たりした限りでは優れているみたいなんだけども
アルゴリズム的には線形合同法とXorShiftのハイブリッドの様な感じで
結構単純な構造なんだけど、高速で良質な乱数を生成するとか
因みに2年前に発表されているみたいなんだけど知らんかったわ
ttp://www.pcg-random.org/
説明読んだりビデオ観たりした限りでは優れているみたいなんだけども
アルゴリズム的には線形合同法とXorShiftのハイブリッドの様な感じで
結構単純な構造なんだけど、高速で良質な乱数を生成するとか
因みに2年前に発表されているみたいなんだけど知らんかったわ
535デフォルトの名無しさん
2017/04/23(日) 03:06:26.50ID:H8Cvp+NU 周期性と分布バランスが目的用途に特化できるならそれが最強だろ
536デフォルトの名無しさん
2017/05/11(木) 11:22:40.04ID:yPF7Zec4 最強(笑)
537デフォルトの名無しさん
2018/01/01(月) 10:34:52.74ID:Adreh4LC538デフォルトの名無しさん
2018/05/23(水) 20:53:42.20ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
BZKM3
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
BZKM3
539デフォルトの名無しさん
2018/07/05(木) 01:00:09.16ID:RfoszcD2 5E7
540Goldwasser
2019/01/03(木) 13:41:14.69ID:r8gE2use ご覧あれー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;
}
}
#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;
}
}
541デフォルトの名無しさん
2019/01/03(木) 13:41:50.45ID:r8gE2use 後半
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;
}
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;
}
542Goldwasser
2019/01/03(木) 13:42:22.37ID:r8gE2use 最後
int main() {
rp(x1);
rp(x2);
data();
return 0;
}
int main() {
rp(x1);
rp(x2);
data();
return 0;
}
543デフォルトの名無しさん
2019/01/06(日) 08:57:50.46ID:kWOVO8kw 誰かTestU01の使い方を教えてください
544デフォルトの名無しさん
2019/02/24(日) 02:35:20.31ID:LCfXPkf7■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★2 [樽悶★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「高市さん負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 [樽悶★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- 【為替】対ドルで157円台、対ユ=[ロ181円台に下落 財政悪化を警戒 [蚤の市★]
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★3 [お断り★]
- 高市首相「台湾有事」発言を引き出した「立憲・岡田克也氏」に聞いた質問の真意「これはマズイ発言だと」少しずらしてみたが焼け石に水 [ぐれ★]
- 【悲報】みんなで大家さんとズブズブだった自民党代議士「僕、バナナはやめろって言ったもん🥺」 [616817505]
- ホタテ6t(トン)、返品されるwwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 長期金利、終わる [805596214]
- 【高市速報】中国、日本映画の公開審査を凍結!「名探偵コナン」「8番出口」の公開を凍結 [115996789]
- 日本人、ついに気づいた「あれ、高市早苗ってやばくね?」 [931948549]
- 日経平均株価さん、1000円以上の暴騰ww円安が追い風、ありがとう高市 [903292576]
