RandomGeneratorState

RandomGeneratorState[]

擬似乱数生成器の内部状態表現を与える.

詳細

  • RandomGeneratorState[]は,生成器メソッド,メソッドのパラメータ,該当する場合は完全な内部状態を含んでいる.
  • RandomGeneratorStateオブジェクトをSeedRandomに与えてそれが表す状態を回復することができる.
  • メソッドの中には,それが作成されたカーネルセッションが継続している間しか存続できない状態を持つものがある.
  • RandomGeneratorState[]["prop"]で次の特性が抽出できる.
  • "CrossSessionPersistent"内部状態が現行のカーネルセッションの終了後も存続するかどうか
    "Method"メソッド名
    "StateHash"整数による状態のハッシュ

例題

すべて開くすべて閉じる

  (2)

擬似乱数生成器の現在の状態を入手する:

RandomGeneratorStateオブジェクトを使ってBlockRandomをシードする:

スコープ  (5)

現在の乱数生成器にシードして結果の状態を保存する:

特定の数列が生成される:

RandomGeneratorStateオブジェクトを使って再びシードする:

同じ数列が生成される:

メソッドの中には同じセッション内でしか回復できないと述べているものもある:

SeedRandomは同じカーネルセッション内では期待通りに動作する:

新たなカーネルセッションでこの状態を回復しようとしても,メソッドは回復されるが状態は回復されない:

メソッドの中には回復可能な状態がないものもある:

SeedRandomは,これらを使ってメソッドを設定することはできるが,乱数列は再生できない:

メソッド名をプログラムで抽出する:

状態がカーネルセッションの終了後も続くかどうかをプログラムで決定する:

アプリケーション  (1)

現行の乱数状態が回復できない場合は実行を拒むBlockRandomのバージョンを作る:

回復可能な状態を持たない乱数生成メソッドをアクティベートする:

このメソッドにはシードできないので,BlockRandomは再現可能な結果を与えることができない:

この関数は評価を拒否する:

回復可能な状態を持つ乱数生成メソッドをアクティベートする:

この関数は各評価の最後に乱数状態を回復する:

したがって,次の結果は前の結果と一致する:

特性と関係  (5)

可能なときは,状態ハッシュが整数で返される:

状態ハッシュの有効期限が切れていると,Noneが返される:

現行の乱数生成器の状態は,$RandomGeneratorStateに保存されている:

SeedRandomRandomGeneratorStateオブジェクトを返す:

SeedRandomおよび関連関数で,RandomGeneratorStateオブジェクトをシードとして使うことができる:

SeedRandomstateを使う:

これを使ってBlockRandom内に計算をシードする:

考えられる問題  (1)

セッション内限定のRandomGeneratorStateオブジェクトがSeedRandomに与えられると,コピーが作られる:

このコピーは別のセッションハッシュを持つ:

しかし,どちらのRandomGeneratorStateオブジェクトも同じ乱数列を生成する:

Wolfram Research (2020), RandomGeneratorState, Wolfram言語関数, https://reference.wolfram.com/language/ref/RandomGeneratorState.html.

テキスト

Wolfram Research (2020), RandomGeneratorState, Wolfram言語関数, https://reference.wolfram.com/language/ref/RandomGeneratorState.html.

CMS

Wolfram Language. 2020. "RandomGeneratorState." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RandomGeneratorState.html.

APA

Wolfram Language. (2020). RandomGeneratorState. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RandomGeneratorState.html

BibTeX

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

BibLaTeX

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