Pythonのnumpyライブラリでは、np.random.seed
メソッドは、2種類の異なるパラメータ:int
とarray_like[int]
を受け入れることができます。np.random.seed(int)とnp.random.seed(array_like)の違いは?
どういう違いがありますか?例えば:np.random.seed(2)
およびnp.random.seed([2013, 1, 4])
。
Pythonのnumpyライブラリでは、np.random.seed
メソッドは、2種類の異なるパラメータ:int
とarray_like[int]
を受け入れることができます。np.random.seed(int)とnp.random.seed(array_like)の違いは?
どういう違いがありますか?例えば:np.random.seed(2)
およびnp.random.seed([2013, 1, 4])
。
下位の状態Mersenne Twister PRNGは非常に大きく、624 32ビットの整数です。整数シードが与えられた場合、初期化ルーチンはより小さいPRNGを実行して、単一の32ビット整数を完全な624要素状態に展開します。これは、可能な状態の大多数にアクセスすることができないことを意味します。
同様に、シードとして整数のシーケンスが与えられている場合は、別のより小さいPRNGがそれを使用して624個の要素に展開しますが、それを渡す配列全体を使用することができます。このようなことが重要であれば、初期状態の空間全体にアクセスできます。このアルゴリズムは、標準ライブラリのrandom
モジュールとnumpy.random
モジュールで共有されています。
したがって、単一の整数とarray_likeパラメータの唯一の違いは、初期状態のスペースのサイズですか?乱数の生成に違いはありませんか? – zbtong
そうです。初期化後のアルゴリズムはまったく同じです。 –
ありがとう! – zbtong