乱数への間違った思い込み

EXCELを使った各種ゲーム支援ツールにはサイコロの代わりとして
乱数を発生させる関数を使っている。
中でも最優秀と言われるメルセンヌ・ツイスタを愛用している。
しかし、間違った思い込みがあったので、後の為にメモしておく。

1.背景
  Nightfighter Ace支援ツールのテストプレイをしている時に、
  支援ツールのオリジナルファイルからゲームをスタートさせると、
  同じ設定・選択を続けると同じ結果が現れる。
  乱数なのに何故なのか理解できなかった。→これが間違った思い込み。

2.理由
  メルセンヌ・ツイスタは再現性のある乱数を発生させる為。
  下図左はEXCELで乱数を6ケ発生させた結果である。
  同じファイルを使って何度やっても結果は同じになる(ファイルを上書き保存しないこと)。

  下図右は結果を取る前に乱数を0回、1回、2回と発生させておいた(読み捨て)。
  しかし、その後の結果は枠内のように決められた値と順番になる。
  
3.乱数を使う時の注意事項
(1)再現性がある事を念頭におく。

(2)Nightfighter Aceのような物語のあるゲームでは、再スタートする場合に
   オリジナルファイルを使うのは避ける(同じ流れになるので)。
   その為、支援ツールでは初期化処理を追加した。これにより乱数の流れは
   前回と違うので同じ設定・選択をしても結果が違ってくる。

(3)バタイユゲームのような多数のユニットが交戦するような場合は、
   処理する内容(射撃戦・白兵戦・士気チェック)や対象ユニット・順番が
   色々なので再スタートしても同じ流れにはならない。
   →その為、再現性のあることに気付かない。

4.参考資料
  下記のWEBページにお世話になりました。ありがとうございます。
 ・良い乱数・悪い乱数
 ・Mersenne Twister Home Page
 ・メルセンヌ・ツイスタWiki

<個人的な感想>
いや~、思い込みは恐ろしい。乱数に再現性があるとは思わなかった・・・。