SeedRandom

SeedRandom[s]

s をシード(種)として擬似乱数発生アルゴリズムを再設定する.

SeedRandom[]

時刻と現行Wolframシステムセッションのなんらかの属性をシードとして,擬似乱数発生アルゴリズムを再設定する.

詳細とオプション

  • SeedRandom[s]を使って,常に同じ擬似乱数列を得ることができる.
  • SeedRandomRandomIntegerRandomRealRandomComplexRandomPrimeRandomChoiceRandomSampleRandomVariateに影響する.
  • 次は,シード 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)

シード(種)は文字列でもよい:

現行の乱数生成器を再シードする:

5つの乱数実数の列を作成する:

SeedRandomが返したRandomGeneratorStateオブジェクトを使って再シードする:

乱数実数列が再生された:

SeedRandomはすべての乱数発生アルゴリズムに影響を与える:

オプション  (2)

Method  (2)

メルセンヌ(Mersenne)ツイスタ擬似乱数生成アルゴリズムに切り換える:

これを使って乱数が生成されるようになった:

特定のシードは現行のメルセンヌツイスタ生成アルゴリズムに影響する:

すべての初期化された生成アルゴリズムにシードを与える:

アプリケーション  (2)

ランダム性を使う計算の部分を再現する:

ランダム性を使うが予想できる結果を返す関数を書く:

この関数を再び,より多くの点とともに使っても,追加点が増えるだけである:

特性と関係  (4)

SeedRandomは新たな状態のRandomGeneratorStateオブジェクトを返す:

RandomGeneratorStateオブジェクトがシードとして使われると,明示的なMethodオプションは無視される:

シードする前の状態は$RandomGeneratorStateで入手できる:

現行状態を使う:

新たなシードを生成して新たな状態を使う:

保存してある状態でシードするともとの数列が再生される:

BlockRandomは,事実上,乱数生成器の状態を保存して計算の最後にこれを回復する:

Wolfram Research (1988), SeedRandom, Wolfram言語関数, https://reference.wolfram.com/language/ref/SeedRandom.html (2020年に更新).

テキスト

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

BibTeX

@misc{reference.wolfram_2024_seedrandom, author="Wolfram Research", title="{SeedRandom}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/SeedRandom.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_seedrandom, organization={Wolfram Research}, title={SeedRandom}, year={2020}, url={https://reference.wolfram.com/language/ref/SeedRandom.html}, note=[Accessed: 22-November-2024 ]}