研究紀要第38号 学習指導に関する研究 - 067/081page
乱数の発生と検定 −電子計算機による乱数発生入門− 亀 岡 一 俊 (科学技術教育部)はじめに
待ち行列,道路交通のシミュレーションなどのモンテカルロ法には,当然,乱数発生の手法が必要になってくる。そのときは,電子計算機のサービスプログラムを利用するとか,プログラム手引書に書いてあるものをそのまま,あるいは,ちょっと手直しして使う程度で,あまり立ち入って勉強する人は少ないようである。しかし,電子計算機による乱数発生の技法は,モンテカルロ法の主要技法で,シミュレーションの成果を左右するといっても過言ではない。
先日,当教育センターの「情報処理・技術講座」で研修された先生方と話し合う機会があった。その際,乱数発生のプログラミングの本はいろいろ出ているが,本に書いてある通りプログラミングしても,学校の電子計算機ではランされなかったとか,今度は乱数の講座を設けられないか等,乱数に関する貴重な意見をいただいた。
乱数についての質問を要約すると次の様になる。1.いったい乱数とは何なのか。
2.電子計算機で発生させた乱数には周期があって事前に予測できるようだが,実際の場合は?
3.乱数発生のプログラムを作るときの算術式は整数論からきているというが,その場限りの道具(代入式)としてだけでなく,詳しく知りたい。
4.乱数にはどんな種類があるのか。それぞれの性質を知って実際に応用してみたい。
5.学校の電子計算機にかけても失敗なく,簡単に使えるプログラムを教えて欲しい。
6.よい乱数,わるい乱数,使える乱数,使えない乱数の見分け方は?など
これらの質疑・要望に対し,回答するねらいを含めて執筆した。1 乱数とは何か
正しくは乱数列というべきであろう。でたらめな数の並び(列)である。英語ではRandomNumberというが,このランダムには手当り次第の,でたらめの,行き当りばったりの,出まかせ等の意味があり,人間なら全く信用のおけない風来坊といった感じ。この風来坊を列記すると
(1) 1010 0000 1101 0100 1011 0001 1100 0101 1101 1100 0011 1111 0010 0101 (2) 03 16 09 92 39 75 39 60 10 58 96 17 89 56 29 81 32 43 56 55 (3) 0.13 0.74 0.10 0.25 0.12 0.20 0.75 0.50 0.79 0.78 0.92 0.98 0.14 0.12 0.76 0.15 (4) −1.60 0.41 −0.83 −0.67 2.00 1.64 −2.40 −1.19 1.35 1.11 −0.77 0.54 −0.77 0.00 表1−1 (1) 0と1からなる数が,でたらめに並んでいる。
(2) 0から9の数がでたらめに列記されている。
(1) と(2)は,4桁と2桁になっているが,見やすくするために区切っただけ。ただし,用途によってはn桁の整数としてもよい。(正の整数)
(3) 0.0から1.0までの小数点つき数(実数)
(4) 負の符号も混った小数の列。区間は−2.00から2.00までのでたらめ数列。