→ ginstein: 不懂! seed不就使用者設定的嗎? 不能提取自己設的seed? 10/11 21:30
推 ginstein: 不懂!seed不就使用者設定的嗎?不能提取自己設的seed? 10/11 21:31
推 LPH66: 他要的是跑到一半記錄目前 PRNG 的 state 吧 10/12 03:29
→ LPH66: 不過記得不少演算法的 state 並不只有 seed 所以有點難 10/12 03:34
→ LPH66: 提供一個統一界面, 例如 MT19937 需要 624 個 32 位元整數 10/12 03:36
→ LPH66: 但種子只有 32 位元, 所以不可能用單一整數表示狀態 10/12 03:36
→ LPH66: 然後, 剛剛翻 Help 有看到 BlockRandom 或許也符合你的需要 10/12 03:38
→ AmibaGelos: 謝謝樓上解釋~MMA預設CA是80*64b,最小是64*64所以不可 10/12 09:57
→ AmibaGelos: 能用long描述, MMA的seed我覺得實際上是被hash處理過 10/12 09:58
→ AmibaGelos: 這方面我還在測試,不過想從這邊retrive state也是很難 10/12 09:59
→ AmibaGelos: BlockRandom只是freeze state而已,應該不能做到同時跑 10/12 10:02
→ AmibaGelos: 兩個prng,更做不到resume吧@@ 10/12 10:03
→ AmibaGelos: 其實有種最偷懶的做法是每次要存檔的時候就另開一個 10/12 10:07
→ AmibaGelos: kernel專門跑rng,用mathlink連到另一個MMA也許更clear 10/12 10:09
→ AmibaGelos: 忽然覺得這應該就是最佳解了@@ 10/12 10:09
→ AmibaGelos: 唯一可惜的是還是得額外存一套distribution,跑MCMC有 10/12 10:16
→ AmibaGelos: 點浪費ram... 10/12 10:17
→ ginstein: 謝謝L兄,懂了.另MMAseed代表所有狀態,沒看過找seed指令 10/12 18:31