« 今日の読書 | Main | いやいやドキュメント »

2005.12.23

今日の乱数

中学生くらいから疑問に思っていたことがある。
「なぜ、パソコンの乱数というのは、時刻を使わないのだろうか」
という疑問である。BASICの頃から乱数はある値で初期化して、
その値により常に同じ値を返す。今だったら、どこかにpingでも
打ってみて、その応答時間で乱数を作れば予測できない乱数が
できるんじゃないかと思っていた。

ランダム検証ついでにいろいろ調べてみた。
http://www001.upp.so-net.ne.jp/isaku/rand.html
ここがわかりやすい。

つまり、コンピュータで生成される乱数は、乱数なんだけど
同じ種を与えれば、毎回同じ値を取ることが必須条件なんだ。
30すぎて知る衝撃の事実(って程でもないか)

|

« 今日の読書 | Main | いやいやドキュメント »

Comments

はじめまして。いつもVerilogカテゴリだけ読ませていただいています(笑)。

HDLでの検証に限れば、ランダム検証は再現性がないと不具合が発生したとき解析できなくなるので、種ベースは必須でしょうね。

SystemVerilogだと種を操作する関数が用意されているようです。

Posted by: 通りすがり | 2005.12.26 11:28 PM

通りすがりさん。
こんな駄文ばかりのページにコメントありがとうございます。検証の話はなかなか奥が深く、かつ、ソフトウェア開発のノウハウをつっこめる余地がたくさんあり、非常におもしろいですね。
また、きになる記事がありましたら、コメントお願いします。

Posted by: なつたん | 2005.12.27 11:33 AM

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference 今日の乱数:

« 今日の読書 | Main | いやいやドキュメント »