乱数の利用と言ったときに、一般の方が思いつくのは、福引でしょうか。あるいは、ビデオゲーム、かな。今回は、30年より前の話を思い出しながら書いてみます。
UPDATE: たぶんBASICのテクニックの話と記憶が混同してました。
あぁ、スペースインベーダー
僕がコンピュータ、なるものに興味を持ったきっかけは、スペースインベーダーです。「コンピュータ」で動いている、と教えてもらい驚愕しました。それまで、ブラウン管は放送を受信するものだったのでした。そこで、まったく違うことが展開されるのです。
地球を宇宙からの侵略から守ろうと必死に戦ったことを思い出します。
スペースインベーダーにはイロモノとしてUFOが出てきて、撃ち落とすとランダムに50点、100点、150点、300点と点数がもらえます。
ランダム、あるいは「乱数」というのを僕が知ったのはこの時が最初でした。
8-bit整数での擬似乱数生成
当時のマイコンは8-bitですが、内部状態を8-bitの1バイトで出力も8-bitの1バイトの擬似乱数生成ルーチンを覚えています。すなわち、「13掛けて5を足す。」
記憶だけ残っているのですが、どこで教えてもらったか分かりません。
確かに、これは 256 の状態を回ります。
内部状態を0として初期化すると、5, 70, 147, 124, 81 とランダムっぽい数列となります …
more »