| 1. 乱数とは |
| 2. ソフトウェアによる乱数生成〜疑似乱数 |
| 3. perl の rand 関数 |
| 4. Z80 の Rレジスタ による疑似乱数生成 |
| 5. パチスロにおける乱数生成 |
| 6. /dev/random |
| 7. ハードウェアによる乱数生成 |
| 8. reference |
線形合同法与えた初期値を漸化式へ代入し、次々と乱数を発生させる方法。 漸化式: Xn = ( A * Xn-1 + C ) Mod M ( A, C, M は適当な整数。) Mod M は、左側の値を右側の値で割ったときの余りを求めるということ。 一般的には M = 2^n , A = ( 8で割って5余る数 ) , C = ( 奇数 ) が使われる。 このように設定すると、0 〜 [M-1] までの数値が周期 M で1回ずつ現れる。 例えば、A = 13 , C = 1, M = 2^3 , 初期値 X0 = 5 とすると、 |
srand 1000003*time() + 3*$usec + 269*$$ + 73819*${undef} + 26107*\$x
|
フェッチ → マイクロプロセッサが命令を実行する最初の段階において、 命令コードをメモリから読み出してレジスタに転送すること。このように適当な時間によってRレジスタの値は変化するため、 疑似乱数生成に使用された。
乱数値 = ( 前回の乱数値 + Rレジスタ値 *2 + 1 ) & 3FFFhだったんですが。
( 乱数値は 1秒間に5000回更新 )
例) 12345 & 16383 12345 → 2進数で 0011000000111001 0011000000111001 0011111111111111 --------------------- 0011000000111001 返る値は 12345 16385 & 16383 16385 → 2進数で 0100000000000001 0100000000000001 0011111111111111 --------------------- 0000000000000001 返る値は 1 |
[ エントロピー ] 乱雑さ。事象の不確かさ。 [ MD5 ] 元となるデータから、固定長の疑似乱数的な値を生成する。 生成されたハッシュ値から元のデータを復元することは不可能とされている。