SeedRandom
SeedRandom[s]
s をシード(種)として擬似乱数発生アルゴリズムを再設定する.
時刻と現行Wolframシステムセッションのなんらかの属性をシードとして,擬似乱数発生アルゴリズムを再設定する.
詳細とオプション
- SeedRandom[s]を使って,常に同じ擬似乱数列を得ることができる.
- SeedRandomはRandomInteger,RandomReal,RandomComplex,RandomPrime,RandomChoice,RandomSample,RandomVariateに影響する.
- 次は,シード s の使用可能な設定である.
-
RandomGeneratorState[…] RandomGeneratorStateオブジェクト n 整数 "seed" 文字列 Automatic オプションに基づいてシードし直すかどうかを自動的に選択する - SeedRandomは,決定論的生成器については乱数列を再生するためのシードとして使えるRandomGeneratorStateを返す.
- SeedRandom[Method->"method"]は,擬似乱数発生アルゴリズムに使用するメソッドを指定する."method"がそれまでに使われていた場合は,この形式はそれを再シードすることはない.
- SeedRandom[n,Method->"method"]は,使用するシードとアルゴリズムの両方を指定することで発生アルゴリズムを再設定する.
- SeedRandom[n]は現行の擬似乱数発生アルゴリズムにのみ影響を与え,SeedRandom[n,Method->All]はシードが与えられたすべての擬似乱数発生アルゴリズムに影響を与える.
- 可能なアルゴリズムには次のようなものがある.
-
"Congruential" 線形合同発生アルゴリズム(低品質のランダム性) "ExtendedCA" 拡張セルオートマトンアルゴリズム(デフォルト) "OpenSSL" OpenSSLの暗号的に安全な生成器 "MersenneTwister" メルセンヌツイスタ(Mersenne twister) シフトレジスタ生成アルゴリズム "MKL" Intel MKLアルゴリズム(Intelベースのシステム) "Rule30CA" Wolfram則30アルゴリズム - アルゴリズムが異なると,ランダム性のレベルが異なる数列が与えられることがある.
例題
すべて開くすべて閉じる例 (1)
SeedRandomを使って乱数を繰り返せるようにする:
スコープ (3)
SeedRandomが返したRandomGeneratorStateオブジェクトを使って再シードする:
SeedRandomはすべての乱数発生アルゴリズムに影響を与える:
オプション (2)
特性と関係 (4)
SeedRandomは新たな状態のRandomGeneratorStateオブジェクトを返す:
RandomGeneratorStateオブジェクトがシードとして使われると,明示的なMethodオプションは無視される:
シードする前の状態は$RandomGeneratorStateで入手できる:
BlockRandomは,事実上,乱数生成器の状態を保存して計算の最後にこれを回復する:
テキスト
Wolfram Research (1988), SeedRandom, Wolfram言語関数, https://reference.wolfram.com/language/ref/SeedRandom.html (2020年に更新).
CMS
Wolfram Language. 1988. "SeedRandom." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/SeedRandom.html.
APA
Wolfram Language. (1988). SeedRandom. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SeedRandom.html