タグ

2017年3月28日のブックマーク (2件)

  • 逆引き Common Lisp クックブック:同じランダムステートを使い回したい

    ランダムステートの生成と利用 randomで乱数を得ることができますが、デフォルトの*random-state*とは別個にランダムステートを指定して利用することが可能です。 ランダムステートの生成には、make-random-stateを利用し、全く新規に作成、コピー等の使い分けが可能です。 同じランダムステートからは同じ結果が生じます。 ;;; 新規にrandom-stateを生成 (defvar *my-random-state* (make-random-state t)) (defun foo () (with-output-to-string (out) (dotimes (i 20) (write (random 36 (make-random-state *my-random-state*)) :stream out :base 36) ))) ;;; ループ内で都度オリジナ

    masatoi
    masatoi 2017/03/28
    おおー>random-state型のオブジェクトをwriteなどで書き出したものは、同じ処理系でreadすることで同じ状態のオブジェクトとして復元できることが保証されています。
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    masatoi
    masatoi 2017/03/28
    make-random-stateで普通に乱数のシードを指定できるっぽい