gpt4 book ai didi

python - 对列表中的第一项进行优先排序(随机和概率分布)

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

我有一个已排序元素的列表。第一个元素应该优先于最后一个元素。目前,我只是使用 random.choice(foo) 从我的列表中选择项目。

如果采用不同的概率分布(如上所述),我正在编写的算法会更加高效。不幸的是,我不确定如何实现它

最佳答案

您可以使用 geometric distribution .在几何分布中,你得到更大数字的概率呈指数下降。您可以通过调整一些参数来调整您的优先级。

import numpy
pr = 0.5
x = numpy.random.geometric(pr, 1)[0]

在上面的代码片段中,x 将对应于您在第一次成功之前必须执行的伯努利试验次数,其中成功概率为 0.5。

一般来说,分布返回某个数字 n 的概率等于 (1 - pr)^(n-1) * pr,其中 pr 是参数,如您在代码中所见。

所以现在您应该使用 x-1(因为列表是从 0 开始索引并且 x >= 1)作为在列表中选择元素的索引,并且较小的值出现在分布中的概率较高,我们已成功捕获您的要求:)

关于python - 对列表中的第一项进行优先排序(随机和概率分布),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36238755/

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