gpt4 book ai didi

algorithm - 如何在 n 位的非 2 次方元素上创建均匀分布?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:21:17 24 4
gpt4 key购买 nike

假设我可以生成随机数据字节,我如何使用它从 n 元素的数组中选择一个元素?

如果我有 256 个元素,我可以生成 1 字节的熵(8 位),然后使用它来选择我的元素,只需将其转换为整数即可。

如果我有 2 个元素,我可以生成 1 个字节,丢弃 7 位并使用剩余的位来选择我的元素。

但是如果我有 3 个元素怎么办? 1 位太少,2 位太多。我如何以等概率随机选择 3 个元素中的 1 个?

最佳答案

这里是对从随机位生成均匀随机整数的算法的综述。

其中一些算法是“恒定时间”的,另一些是无偏的,还有一些算法在平均使用的随机位数方面是“最优的”。在这个答案的其余部分,我们将假设我们有一个“真正的”随机生成器,可以生成无偏且独立的随​​机位。

如需进一步讨论,请参阅我的以下回答:

关于algorithm - 如何在 n 位的非 2 次方元素上创建均匀分布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26613099/

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