疑似乱数2

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/10/17(水) 22:34:59
擬似乱数発生器について語ろうか。その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
2013/12/25(水) 19:06:16.80
計算で求められる擬似乱数に秩序などないと考えるバカがいるが
擬似乱数を求める式でその擬似乱数を割り切れるという秩序がある。
同じ計算が同じ結果を出すのは当たり前すぎる。
方法が統一されているそれは次の値がでるパターンが前の目で確定している
性質があるってことだ。その連続性が膨大であるから困難だと説明している
のにすぎない。
だが桁数が小さいその擬似乱数が困難だというのは過去の話しである。
いつまで困難だと思っているか、バカには理解できない領域である。
2013/12/25(水) 21:50:51.96
どうしたんだ?
2013/12/26(木) 02:46:31.02
誰と戦ってるんだ。ところでフリーの乱数の性能評価ツールない?
2013/12/26(木) 08:04:12.61
diehard
2013/12/26(木) 10:18:01.99
>>446 447 はただのバカ。「疑似乱数列」「暗号学的に安全」「真の乱数」といった言葉を、
まるっきり俺様定義で使ってるから、全くの意味不明なナンセンス文になっている。
2013/12/26(木) 19:03:55.58
>>450
thx!
2014/01/03(金) 20:42:27.35
>>449
おまえ馬鹿だろ、そんなの自分で作れずどうするの?
目的によって違うんだから(ry
2014/01/03(金) 23:06:25.84
過去数十年にわたって、数多くの研究者が乱数列の様々な評価法を考えてきたというのに、
それら全てを無視して、俺の能力ならすばらしい評価関数が作れる、ってか? すごい自信だな。

(普通、そういうのを「バカ」と言う)
2014/01/04(土) 19:32:09.42
>>451
人格障害じゃね?貴方
2014/01/04(土) 19:47:35.20
>>454
2014/01/04(土) 23:19:34.15
数学を知らずに数学を知ったかのように語るやつっているけど、
たんなる感情論だよね、観念の類を定義して方程式で証明する構図は
まったく具体性のない幻想とまで皮肉をいったり悪口を言う輩がいるが
それは間違いない、幻想でいいんだよ。
方程式そのものは美しさとその完璧なる秩序の明確性を説明するもので
現実を表す物理のような実証ではない、証明と実証の区別ができないのが
実証(具体性)ばかりこのみ難しい数学の領域の記号だけの記述になると
3行しか読めないコピーペーの能力ではどうにもならない。
暗記してできるものでもない。
2014/01/06(月) 09:52:48.11
方程式や論理式に現実性がない、だと?

じゃあ、方程式や論理式を駆使して設計されている飛行機やコンピュータはいったいどうなるんだ。
飛行機やコンピュータは幻想なのか?
2014/01/07(火) 11:01:34.65
あんな重い鉄の塊が飛ぶわけないだろ
2014/01/07(火) 11:16:14.23
飛行機は鉄の塊ってほど密じゃないけどね。
そもそも軽金属か樹脂がメインだし。
2014/01/07(火) 11:53:33.12
鉄の塊は、レシプロ機のエンジンぐらいだな。高機能樹脂ができる前は軽合金、その前は木と布だったw
「機」(本来は、織機のように木などで出来た、軽いものを指す語)を使うのは伊達じゃない。
2014/01/07(火) 14:40:58.24
最近は炭素素材も使われるようになったねぇ
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以来のブレークスルーがあるような気がするな、、
2014/04/11(金) 20:08:05.30ID:vHcSHc13
ラン スー とくれば最後はもちろん ミキ
2014/04/12(土) 13:57:47.36ID:cTqY1h51
電線に
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
2014/04/25(金) 20:09:23.50ID:DUkBiaE/
中心極限定理ですねえ
2014/04/25(金) 22:34:52.61ID:vRDAArpO
不思議だよね
2014/04/26(土) 04:34:51.11ID:VGFQwx9o
不思議なの?
結果の数値を表す組み合わせの存在ってだけだと思うんだけど
2014/04/27(日) 21:38:54.17ID:dRMpu4rZ
一様乱数ですら足して足してでガウス分布に近づいていく、というのだからねえ‥‥手元の教科書は証明抜きだ‥‥凡人には理解できない世界なのか?
2014/04/27(日) 21:57:22.77ID:J+hFW2BD
ごく単純に 2D6 とか 3D6 を....6面のサイコロを2個とか3個とか振って、出た目の合計とか、
考えてみればいいじゃないか。
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+ってのが今はいいのかな
2016/01/29(金) 15:49:03.52ID:A091Ig/h
線形合同法の結果を x ^ (x>>n)すると改良できね?
2016/03/19(土) 17:07:51.05ID:nABaYqd9
xorshift1024*てえのが最高品質なうえに速度もトップクラスだぜとテスト結果を示して自信満々だが
なんだか話がうますぎてほんまかいなという気もする
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代エリート
2016/03/29(火) 19:54:10.75ID:B5K8vkuQ
>>476
やっていることは既存のxorshiftのアルゴリズムだな
内部で保持するシード列が64ビットになってその保持数が増えたって感じだね
速度は早いかもしれんが、乱数列としての質はどうなんだろうな
マジックナンバーの積算があるのが気になるw

汎用性から見てMTが最強には変わらないと思うよ
2016/03/31(木) 20:16:33.23ID:cjJ70n7R
とりあえずで利用するならSFMTとは思った
テスト結果どおり,統計的におそろしく性質がいいと分かってきたらまた見方が変わるかもしれん
480デフォルトの名無しさん
垢版 |
2016/09/21(水) 12:21:52.98ID:CD/L3vnF
ゲームに乱数が使われていると思うけど、この計算の占める割合って全計算のどのくらいの割合
なんでしょうか?
2016/09/21(水) 14:00:56.83ID:ib8am8Zc
全体からみて1/1000000以下くらいじゃね
482デフォルトの名無しさん
垢版 |
2016/09/21(水) 14:06:22.50ID:CD/L3vnF
全然大したことじゃないですか?
ほかのスレで、

ゲームサーバーでも対戦判定に莫大な回数の擬似乱数を回してパワーを食う

って書いてる人がいたんですけど
2016/09/21(水) 14:30:30.69ID:ib8am8Zc
この板の他のスレ?
それとも他の板のスレ?
この板のひとでそれを真に受ける人はいないと思いたい
484デフォルトの名無しさん
垢版 |
2016/09/21(水) 14:43:40.10ID:CD/L3vnF
ポケモンのような大規模ゲームの場合でも、乱数発生の占める計算パワーは微々たるものですか?
2016/09/21(水) 15:06:12.43ID:DJrsIBwc
ネットワークの処理に比べればゼロに近い
486デフォルトの名無しさん
垢版 |
2016/09/21(水) 17:34:47.65ID:yT1mont5
高速な物理乱数発生器なんて必要性ないですかね
2016/09/21(水) 20:37:48.08ID:5qi85AkV
あらかじめ物理乱数発生器で乱数表を作成
乱数表を順に読み込む
488デフォルトの名無しさん
垢版 |
2016/09/23(金) 10:57:39.17ID:fan7eHym
乱数発生が重くて困るとか、真正乱数がぜひほしいっていう話はないですか?
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ビットで乱数を作りたいのですが、どう直していいか困ってます。
490デフォルトの名無しさん
垢版 |
2016/10/05(水) 13:39:42.79ID:39LeL7K0
xorshift64 で検索したらいいじゃん。
2016/10/05(水) 15:04:31.12ID:lpG0enk6
簡単に言いますが、でしたら解答もらえんでしょうか
2016/10/05(水) 15:09:17.42ID:ZsK4JXk7
>>489
(・∀・)つ ホレ!
ttps://www.jstatsoft.org/article/view/v008i14/xorshift.pdf

Marsaglia先生が詳しく解説してくれてる
2016/10/05(水) 15:33:16.58ID:lpG0enk6
tだけを64ビットにすればいいってことですか?
2016/10/05(水) 15:39:10.45ID:lpG0enk6
たぶん分かりました。
ありがとうございます
495デフォルトの名無しさん
垢版 |
2016/10/06(木) 07:29:45.67ID:iNNf2EsF
こういう厚かましい無能が現れるのも乱数性のなせるわざか。
2016/10/06(木) 08:30:59.70ID:2aWpWU4C
三木さんに新しい疑似乱数生成方式を考案してほしい
三木乱数で

ミキさんに考えてもらって乱数ミキでもいい
2016/10/06(木) 12:12:14.44ID:Yw0Cruyw
線形合同法は、下位ビットが偏る

メルセンヌツイスター、1996の方が、周期が長い

Xorshift、2003は高速
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度シャッフルすればもう最初の並び順との因果関係は誰にも発見出来ないってね。


まぁメモリは多少食うし速度も最速じゃないけど、別に最速最小を求めるような研究者じゃないし。俺は。
2016/10/08(土) 07:32:49.80ID:U+ATce89
>>498
とりあえず、全bit使おうとするのは良くないというのは基本だと思うが

だからこそ、内部で32bitとかで種を持っているにもかかわらず、
標準Cでの要求が14bitとかそういう話になる

単純に割って使う(シフトでの下位bit切り捨てに相当)んじゃなく、上位もマスクして切り捨てて使うのが常識
2016/10/08(土) 07:47:16.98ID:PgGGpXVn
>>498
>ちなみに俺はここ数年、線形合同法で最初のseed設定時に乱数を1024個プールして、
>array[rand(max) % 1024];
>みたいな感じでランダムで取り出して使う。(そしてそこに次の乱数をセットする)。

それはDonald Knuth先生のリオーダーアルゴリズムBに近いな
内部のバッファリングは256だけどC++のstd::knuth_b(シャッフルオーダーね)がある
2016/10/08(土) 14:10:54.10ID:PgGGpXVn
>>498
>rand(max) % 1024
この部分は下位ビットの偏りが諸に関連しているよ
因みにstd::knuth_bではstd::minstd_rand0を元にバッファサイズで正規化して
値を取り出しているから、その演算のせいで他のに比べると重い
周期も数学的に不明だったかな
2016/10/08(土) 18:34:54.73ID:KfBpvv2w
あんま深く考えてなかったけどそうかもね。
ただし検定は通ってるから、まあいいっちゃいいけど。

実用上の実質的な周期はそのまま線形合同法と同じだよ。
まあ300回くらいなら多く回しても実用上にも問題ないけど、そんなのは計算しない。

>rand(max) % 1024
これは素数にすることでノーコストで解決できるから気が向いた時にでもやっとくよ。
ただ、どんなに下位ビットが偏ってた所で、
araay[988]の中身 と araay[986]の中身の因果関係、もしくは共通点は何か、と聞かれても判明させるのは不可能に近いと思うけどね。

>上位もマスクして切り捨てて使うのが常識
ただ線形合同法はそれでいいとしてxorshiftは捨てるべきビットが特定できないような?


まあ俺はシャッフルして何も捨てないのが好きらしい。
全部が若干遅いんだけどね。特にseed植える時。
2016/10/26(水) 12:50:05.40ID:X3TP1P6r
奥村先生のアルゴリズム事典にある乱数の改良法だぬ

xorshiftは生で使うと俺も気持ち悪さを感じるので線形合同法を足してる
2016/12/10(土) 11:46:44.94ID:DCOx50tb
統計の知識は中高どまり(平均・中央値・分散程度か)なので
乱数用に内部状態が32ビットしか確保できないソフトに対して単にxorshiftを採用して「検定もいい結果らしいし」と気にしていなかった

思ったより良くないとなると,プールしておいてランダムに取り出す方法も使えないし悩むな
2016/12/14(水) 12:22:06.08ID:7W6mxi0O
1個使ったら100個捨てるとか
RNGが保証してるのは周期だけだと割りきって頑張って調律するとか
506デフォルトの名無しさん
垢版 |
2016/12/14(水) 23:07:36.84ID:2UzQxrtp
素人の生半可なオレオレ乱数はやらない方が身のため
2016/12/31(土) 21:32:49.60ID:VVtKGmEj
2017は素数か
2017/01/01(日) 11:37:31.32ID:DY9bt0tG
あけましておめでとうございます
return x = x * 2017 + 1;
2017/01/05(木) 01:13:53.38ID:yRe7g27Q
一個使って100個捨てるとか馬鹿の極み
コストを101倍にしてどうする。
コスト2倍も出せば問題のない乱数を作れるのに
2017/01/05(木) 06:28:07.10ID:42rV0dht
S/N比最低の2ちゃんでドヤっってる場合じゃないよな
511デフォルトの名無しさん
垢版 |
2017/01/05(木) 20:10:30.85ID:atmVS5w4
S/N比最低というのは、乱数としては素晴らしいことだ。
2017/01/06(金) 09:49:58.47ID:zAIptLYs
つまり2chの書き込みをもとに乱数列を作る生成器を作れば…?
2017/01/06(金) 12:01:18.30ID:CHjfjTiP
片寄りが多くて一様じゃないからなあ……
2017/01/06(金) 14:32:25.52ID:eb3De0HO
>>513
ワロタ
一様分布じゃなく、一応分布が2chらしい
2017/02/22(水) 09:39:50.93ID:BVjvbr4Q
BIG 不正
いまGoogleで検索したら、すごいのがでますね
2017/02/22(水) 09:56:53.06ID:BVjvbr4Q
「14試合×5口分の予想結果が2回続けて全く同じという極めて不自然な結果が出力され、
システムの不具合や不正ではないかと一騒動となっている(中略)
日本スポーツ振興センターと楽天から調査結果の発表がなされたのだが、
くじは確かに販売されたものである」

スポーツくじ「BIG」でランダムなはずの予測結果が2連続で一致するも「偶然」との回答 - エキサイトニュース
http://www.excite.co.jp/News/it_g/20170221/Slashdot_17_02_20_1619238.html
2017年2月22日 09時50分
2017/02/22(水) 12:02:19.51ID:Acz49b5N
一人が予想して当たればその確率かもわからんけど、
1000人が予想した場合の期待値は1000倍になるんじゃね
2017/02/23(木) 07:14:10.76ID:WFbVQHcp
2回とも当たったんならすごいけどな
2017/02/23(木) 07:17:16.12ID:WFbVQHcp
数枚買ったうちの2枚が連続して同じだったのか
そりゃ金返せってなるな

最初から買わんけど
2017/02/23(木) 07:23:45.91ID:WFbVQHcp
セキュリティ上の理由から
アルゴリズム公開しないって書いてあるけど
全組み合わせを逐次予想するんじゃなくて
元々予想したくじを用意してあって
そこから適当に買った枚数分選んでくるとかだったら
重複確率は上がりそうだな

たまたま購入者が気付いただけで
気付かずに捨てられた券で
過去の重複してたのもっとあるんじゃないか
2017/02/23(木) 08:54:22.37ID:907E0Xet
どんな擬似乱数でも、内部的に状態を示す値を保持していて、それを元に次回の乱数を計算で出す
その値を初期化するのがsrand等だけど、その時に限らず常に値は持っているので
偶然内部の値が同じなんてこともよくある

ただし、普通は同じ値であっても、別の用途に乱数を使うので、同一であったことが問題になることはない

けれど、もし、14試合分の予想の直前の段階での内部的な値が、前回と全く同じ値だったとすると
そこから算出される各試合結果を示す乱数も、全く同じ値が出て
予想結果も全く同じものになる


偶然同じ状態値を持っている時に同じ買い方をしたために、全く同じ予想値になった

状態値のbit数が少ない(例えば普通に線形合同法だと32bitか)のを修正するか、
あるいはアルゴリズム的に同じ擬似乱数だけで順番に算出することを見直すか
そういうことをしないと、同じことが再び起こる可能性はある

擬似乱数だと防げないけどね


宇宙が始まるより低い確率云々ってのはナンセンス
擬似乱数の内部値が一致していて、単純に擬似乱数を利用するアルゴリズムだったというだけ
これは珍しいけど起こりうること
2017/02/23(木) 13:04:42.59ID:UXkH84Wv
宇宙云々はあくまで真の乱数が使われていた場合でしょ
523デフォルトの名無しさん
垢版 |
2017/02/23(木) 13:15:51.47ID:eG9NqkD/
>>521
状態機械で内部の値が一緒だったらその次もその次もずっと同じ値を出し続けるんじゃね
2017/02/23(木) 13:37:51.43ID:lN59Dhjm
真の乱数なら、種の設定は (少なくとも実用上は) いかなる場合も最初の一度きりで二度と結果がループすることはない
2017/02/23(木) 13:40:24.47ID:lN59Dhjm
と言っても宇宙の何かの物理法則が真の乱数を作ることはないのだろうと思うけど。
全ては必ず有限らしいし、その中でのチューリング完全なんだろうだし。
2017/02/23(木) 13:59:17.36ID:7wYQlXII
一つずつ乱数生成してないのかもね
2017/02/23(木) 16:45:07.24ID:eG9NqkD/
>>524
真じゃない乱数は
ループの長さが長いか短いかだけで
いずれはループするんだよな
528デフォルトの名無しさん
垢版 |
2017/02/23(木) 16:46:44.91ID:WFbVQHcp
>>526
なんらかのバグで内部状態が変化しなくなって
2回連続で同じ値を出してしまったら
再起動がかかるシステムだったりするかもしれない
2017/02/23(木) 21:50:11.33ID:5geihC2S
>>523
「前回(の乱数取得時)と同じ」という意味ではなく
「前回試合予想をした時と同じ」という意味ね

どちらも、同じ値から同じ試合の予想をして、
結果、前週と全く同じ予想が14試合x5口分で起きた
2017/02/24(金) 14:00:51.79ID:xRGcfmim
メルセンヌツイスタ使ってなかったんだろ
2017/02/24(金) 19:02:56.20ID:3z/u0Cfz
用途が用途だから暗号論的擬似乱数の適応だろ
/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 という数列が出現するであろう。

目立つ組み合わせだから話題だが、どの二セットを取っても、その組み合わせが発生する確率は同じだ。
2017/02/25(土) 16:57:29.92ID:usTDxsWv
e なら割と早く出て来る
2017/03/10(金) 21:31:43.44ID:ARsP6JfD
PCGってどうなん?
ttp://www.pcg-random.org/

説明読んだりビデオ観たりした限りでは優れているみたいなんだけども
アルゴリズム的には線形合同法とXorShiftのハイブリッドの様な感じで
結構単純な構造なんだけど、高速で良質な乱数を生成するとか

因みに2年前に発表されているみたいなんだけど知らんかったわ
2017/04/23(日) 03:06:26.50ID:H8Cvp+NU
周期性と分布バランスが目的用途に特化できるならそれが最強だろ
2017/05/11(木) 11:22:40.04ID:yPF7Zec4
最強(笑)
2018/01/01(月) 10:34:52.74ID:Adreh4LC
Xn+1=Xn*201+8+1/1
Xn+1=Xn*(2018>>1)+1
あけおめ
538デフォルトの名無しさん
垢版 |
2018/05/23(水) 20:53:42.20ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

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;
}
}
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;
}
542Goldwasser
垢版 |
2019/01/03(木) 13:42:22.37ID:r8gE2use
最後

int main() {

rp(x1);
rp(x2);
data();

return 0;
}
543デフォルトの名無しさん
垢版 |
2019/01/06(日) 08:57:50.46ID:kWOVO8kw
誰かTestU01の使い方を教えてください
2019/02/24(日) 02:35:20.31ID:LCfXPkf7
>>543
http://www.pcg-random.org/posts/how-to-test-with-testu01.html
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況