gpt4 book ai didi

java - 随机均匀分布

转载 作者:太空狗 更新时间:2023-10-29 22:55:10 25 4
gpt4 key购买 nike

我知道如果我使用 Java 中的随机生成器,使用 nextInt 生成数字,数字将均匀分布。但是,如果我使用 2 个 Random 实例,用两个 Random 类生成数字,会发生什么情况。数字是否均匀分布?

最佳答案

每个 Random 实例生成的数字将均匀分布,因此如果将两个 Random 实例生成的随机数序列组合起来,它们也应该均匀分布.

请注意,即使生成的分布是均匀的,您也可能需要注意种子以避免两个生成器的输出之间存在相关性。如果您使用默认的无参数构造函数,种子应该已经不同了。来自 java.util.Random 的源代码:

private static volatile long seedUniquifier = 8682522807148012L;

public Random() { this(++seedUniquifier + System.nanoTime()); }

如果您显式设置种子(通过使用 Random(long seed) 构造函数,或调用 setSeed(long seed)),您需要采取你自己关心这个。一种可能的方法是使用随机数生成器为所有其他生成器生成种子。

关于java - 随机均匀分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4253500/

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