• 検索結果がありません。

第 4 章 整数ロジスティック写像と撹拌演算による乱数生成 48

4.4 統計的検定

4.4.2 検定結果

等分布検定

等分布検定は生成された乱数列を8ビットごとに切り出すことで,(0∼255) の整数系列を構成する.この整数系列の等分布性に対するカイ2乗値を求め,自 由度255のカイ2乗分布との比較を行った.サンプル数Sはそれぞれ216,216× 10,216×100,216×1000の4通りとした.それぞれのサンプル数を1000セット 求め,それぞれに検定を行い,1000回分の結果を得た.得られた1000個のカ イ2乗値に対し,P <1%,5%,25%,50%,75%,95%,99%の各区間にある頻度を カウントし,その度数分布を表4.3に示す.

表 4.3: 等分布検定の結果

CHI-SQUARE DISTRIBUTION (P <)

S 1% 5% 25% 50% 75% 95% 99%

216 10 48 260 521 754 927 986 216×10 13 53 262 510 747 945 991 216×100 6 46 255 501 749 942 990 216×1000 8 52 256 504 757 965 995

Pの各区間にカウントされる数がそれぞれの理論値である10,50,250,500,750, 950,990に近い数であれば,検定に用いられた系列は一様分布にしたがって発生 していると見なせる.表4.3の結果を見ると,各区間にカウントされたカイ2乗 検定値の分布はそれぞれの理論値の近傍にある.各サンプル数における経験分布 が理論分布に対する乖離をあらわすカイ2乗値が,それぞれ1.96,1.90,2.09,0.98

4.4. 統計的検定 で,<18.48である.その結果は乱数列から求めたカイ2乗値が,実際にカイ2 乗分布に従っていることを示唆している.

シリアル検定

2次元の等分布検定は8ビットの整数数列を生成して,2つの8ビット整数を 1組にしたサンプルで等分布性に対するカイ2乗値を求め,自由度65535のカイ 2乗分布と比較した.サンプル数Sはそれぞれ220,220×10,220×100,220×1000 とした各1000セットを検定した.それぞれの検定から得られたカイ2乗値にお けるP の各区間にある頻度分布を表4.4に示す.

表 4.4: シリアル検定の結果

CHI-SQUARE DISTRIBUTION(P <)

S 1% 5% 25% 50% 75% 95% 99%

220 12 47 240 499 758 959 990 220×10 7 45 234 508 755 951 989 220×100 7 38 228 492 739 951 991 220×1000 11 61 248 475 723 935 985

表4.4の各区間にカウントされたカイ2乗検定値の分布は,各サンプル数に おける経験分布が理論分布に対する乖離をあらわすカイ2乗値が,それぞれ 1.15,2.59, ,6.01,5.02で,<18.48である.この結果も,乱数列から求めたカイ 2乗値が,実際にカイ2乗分布に従っていることを示唆している.

ポーカー検定

ポーカー検定は3ビットの整数数列(0∼7)5組に対して各組内での整数値の 一致/不一致に関する5種類のカテゴリのポーカー検定([21] 3.3節)に相当す るカイ2乗値を求める.これを自由度4のカイ2乗分布と比較する.サンプル 数Sは210,210×10,210×100,210×1000として,それぞれについて1000セッ トを検定した.得られたカイ2乗値の区間ごとの頻度分布を表4.5に示す.

サンプル数210の場合のカイ2乗値の上側のP >99%に入る数が28個(1000− 972)で,理論値の1%に対し2.8%との結果をえた.理論値に比べると,やや多

第4章 整数ロジスティック写像と撹拌演算による乱数生成

表 4.5: ポーカー検定の結果

CHI-SQUARE DISTRIBUTION (P <)

S 1% 5% 25% 50% 75% 95% 99%

210 2 54 284 553 799 940 972

210×10 8 48 244 501 772 959 989 210×100 11 44 224 454 730 939 989 210×1000 10 47 241 508 751 963 994

いが,サンプル数を増やした場合のカイ2乗検定値の分布はそれぞれの理論値 の近傍にある.各サンプル数における経験分布が理論分布に対する乖離をあら わすカイ2乗値が,それぞれ20.60,1.36,8.42,0.83で,サンプル数210の場合を 除く,<18.48である.従って,サンプル数210のときの結果はサンプルの数が 少ないことが原因と考えられる.ポーカー検定の結果からも本研究が提案する 方法で生成される2進数列がランダムな振る舞いをする数列であることを示唆 している.

クーポン券収集検定

クーポン券収集検定は3ビットの整数数列(0∼7)に対し,38回打ち切りの クーポン券収集検定に相当するカイ2乗値を求め,自由度30のカイ2乗分布と 比較する.サンプル数Sは210,210×10,210×100,210×1000を各1000セット について検定した.それぞれの検定で得られたカイ2乗値の各区間にある頻度 分布を表4.6に示す.

表 4.6: クーポン券収集検定の結果

CHI-SQUARE DISTRIBUTION (P <)

S 1% 5% 25% 50% 75% 95% 99%

210 12 58 273 505 750 938 989 210×10 11 46 245 493 725 946 988 210×100 8 47 268 511 751 936 988 210×1000 8 63 279 528 766 946 993

4.4. 統計的検定 得られたカイ2乗検定値の分布はそれぞれの理論値の近傍にある.各サンプ ル数における経験分布が理論分布に対する乖離をあらわすカイ2乗値が,それ ぞれ4.00,1.47,2.33,9.08で,<18.48である.乱数列から求めたカイ2乗値が,

実際にカイ2乗分布に従っていることを示唆している.

連検定

連の検定は32ビットの整数の長さSの数列(0 ∼232−1)に対し,長さ6ま での連検定に相当するカイ2乗値を求め,自由度6のカイ2乗分布と比較する.

サンプル数Sはそれぞれ216,216×10,216×100,216×1000とし,各1000セッ トについて検定した.それぞれの検定で得られた1000個のカイ2乗値の各区間 にある頻度分布の上昇連の検定結果を表4.7に示す.

表 4.7: 連検定の結果

CHI-SQUARE DISTRIBUTION (P <)

S 1% 5% 25% 50% 75% 95% 99%

216 9 52 247 484 749 948 988

216×10 9 60 278 523 758 956 988 216×100 11 48 249 517 767 958 990 216×1000 8 49 261 507 732 953 990

得られたカイ2乗検定値の分布はそれぞれの理論値の近傍にある.各サンプ ル数における経験分布が理論分布に対する乖離をあらわすカイ2乗値が,それ ぞれ0.74,6.42,1.21,1.44で,< 18.48である.その結果も乱数列から求めたカ イ2乗値が,実際にカイ2乗分布に従っていることを示唆している.なお,下 降連の検定も行ったがほぼ同様な結果が得られている.

衝突検定

衝突検定は20ビットの整数(0∼220−1)の,長さ214の数列に対して,[21]の 3.3節にある衝突回数101,108,119,126,134,145,153の衝突検定に相当するカイ 2乗値を求め,自由度7のカイ2乗分布と比較する.試行回数Sは103,104,105 とし,各1000セットについて検定した.それぞれの検定で得られたカイ2乗値

第4章 整数ロジスティック写像と撹拌演算による乱数生成 の各区間にある頻度分布を表4.8に示す.

表 4.8: 衝突検定の結果

CHI-SQUARE DISTRIBUTION (P <)

S 1% 5% 25% 50% 75% 95% 99%

103 181 394 737 892 969 993 997 104 165 368 717 873 956 997 1000 105 73 156 453 697 858 962 992

各サンプル数において,検定値であるカイ2乗値の各区間にある頻度がそれ ぞれの理論値よりも全体的に高い値になっている.例えば,P < 1%に対し,

S = 103のとき,計測されたカイ2乗値の数は181,即ち,18.1%もあった.こ れは検定で得られた衝突回数の分布が理論値により近い振る舞いをしていて,得 られたカイ2乗値が小さいものが多いことを意味する.このことについて,節 4.4.3に改めて議論する.

誕生日間隔検定

誕生日間隔検定は25ビット長さS の整数(0 ∼ 225 − 1)数列を生成して,

m = 225, n= 29の自由度3のカイ2乗検定を行う([21] 3.3節).試行回数Sは それぞれ103,104,105,106とした.それぞれ1000セットについて検定した.検 定で得られたカイ2乗値の各区間にある頻度分布を表4.9に示す.

表 4.9: 誕生日間隔検定の結果

CHI-SQUARE DISTRIBUTION (P <)

S 1% 5% 25% 50% 75% 95% 99%

103 12 50 253 494 765 947 993 104 15 49 244 526 757 956 991 105 13 52 271 515 743 952 991 106 14 55 268 488 757 963 992

得られたカイ2乗検定値の分布はそれぞれの理論値の近傍にある.各サンプ ル数における経験分布が理論分布に対する乖離をあらわすカイ2乗値が,それ

4.4. 統計的検定 ぞれ0.83,4.12,3.26,3.93で,< 18.48である.この結果からも,乱数列から求 めたカイ2乗値が,実際にカイ2乗分布に従っていることを示している.

シリアル相関検定

シリアル相関検定は4ビットの整数(0∼15)の数列を生成して行う.相関係 数Cが95%の信頼区間に入る数を計数する.サンプル数Sはそれぞれ210,210× 10,210×102,210×103とし,各1000セットについて検定した.それぞれの結果 を表4.10に示す.

表 4.10: シリアル相関検定結果

S C <μ−2σ C >μ+2σ μ−2σ≤C≤μ+2σ

210 18 19 963

210×10 33 23 944

210×102 30 17 953

210×103 21 23 956

良質の乱数であれば,95%の信頼区間では,1000回の検定で,Cがμ−2σ ≤ C ≤μ+ 2σに入る数は950以上となる([21] 3.3節).サンプル数210×10のと きのμ−2σ ≤C ≤μ+ 2σの値が944で,わずかに少ないが,他のサンプル数 でのμ−2σ ≤C ≤μ+ 2σの値がすべて950以上である.良質といえる結果で ある.