gpt4 book ai didi

algorithm - 创建有利于较小数字的随机数

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

假设我生成了一组随机数并将它们放入一个数组中,(为简单起见预先排序)我将使用 javascript 来显示数学:

var vals = new Array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,...,10000);

然后在一个循环中,我创建了一个随机数作为索引:

for(i=0;i<10000;i++){
var random_index = Math.floor(Math.random() * 10000);
var result = vals[random_index];
}

如果您在任何类型的图表上查看此输出,结果(通过该循环进行足够多的迭代,将看起来非常随机和平衡)

我想要的是,每次访问的结果都偏向于较小的数字,顺便说一句,这里是具有较低索引的数组元素。

举一个视觉示例,假设您正试图在 map 上绘制烟花碎片落下的位置。这些碎片中的大多数会随机落在附近,但更集中在中间。这是一个过于复杂的示例,因为它考虑了另一个维度并使用物理来实现结果,但它是相同的原理。

我应该对 random_index 变量执行什么操作以使其“支持”较小的数字?

最佳答案

通常的方法(例如,如 here 所述)是定义所需的分布函数,然后使用两种方法之一将均匀分布的随机变量转换为具有所需分布的随机变量。如果您的目标分布足够简单,您可以使用 inverse transform sampling .

如果您真的不关心分布函数是什么样的,只是它偏爱较小的值,一个简单的方法可能是生成一个统一的 r.v.在 [min2, max2] 范围内,然后取其平方根作为你的 r.v.

关于algorithm - 创建有利于较小数字的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8511169/

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