MSC32-C. 乱数生成器には適切なシード値を与える 疑似乱数生成器 (PRNG) は、乱数に近い性質の数列を生成できる決定性アルゴリズムである。各数列は、PRNG の初期状態と状態を変化させるアルゴリズムによって決定される。大半の PRNG は初期状態 (シード状態 とも呼ばれる) を設定可能である。初期状態を設定することを「PRNG にシードを設定する」と表現する。 明示的にシードを設定しない、あるいは同じシード値を設定するなど、同一の初期状態で PRNG を呼び出している場合には、プログラムを実行し直しても同一の数列が生成される。シードを設定して PRNG 関数を10 回連続で呼び出し、10 個の乱数からなる数列 S = {r1, r2, r3, r4, r5, r6, r7, r8, r9, r10} が生成されたとする。この後、同一のシード値を設定して再度このコードを実行すると
![MSC32-C. 乱数生成器には適切なシード値を与える](https://cdn-ak-scissors.b.st-hatena.com/image/square/7dd958779816f7e1a8006230cb8f8f321ee39ab8/height=288;version=1;width=512/https%3A%2F%2Fwww.jpcert.or.jp%2Fcommon%2Fimage%2Fogp_image.jpg)