gpt4 book ai didi

functional-programming - 我需要在 OCaml 中调用 Random.self_init 吗?

转载 作者:行者123 更新时间:2023-12-04 08:40:44 27 4
gpt4 key购买 nike

首先,我不关心这个问题中的seed

我的问题是,每次我想重新开始我的函数时,我是否应该调用 Random.self_init

let shuffle l = 
Random.self_init ();
let tagl = List.map (fun x -> (Random.bits (), x)) l in
List.map (fun x -> snd x) (List.sort compare tagl);;

比如上面的代码中,Random.self_init()是否必要?

最佳答案

每次要洗牌的时候都调用它,很浪费熵。最好在程序开始时调用一次。但是如果你想为程序的不同运行获得不同的洗牌,你确实需要在某个时候初始化随机生成器。对于某些应用程序,您希望使用您自己选择的特定值进行初始化(例如,如果您希望稍后能够重现结果)。为此,您可以使用 Random.initRandom.full_init

关于functional-programming - 我需要在 OCaml 中调用 Random.self_init 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15118247/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com