gpt4 book ai didi

algorithm - 根据权重和选择次数选择随 secret 钥

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

我正在设计一个广告系统,该系统根据广告的权重(出价)在广告之间随机轮换。

local ads = local ads = {
["a"] = {
views = 0,
bid = 10
},
["b"] = {
views = 0,
bid = 1000
},
["c"] = {
views = 0,
bid = 100
},
["d"] = {
views = 0,
bid = 50
},
["e"] = {
views = 0,
bid = 500
},
["f"] = {
views = 0,
bid = 10
},
}

我四处搜索,发现了以下算法:

  1. Get sum of all weighted numbers
  2. Pick a random number between 0 and sum
  3. Loop through table (ads) and if (random number) <= weight then return ad else random number = random number - weight

使用该算法并循环 1,000 次打印出来

a 3
c 60
b 581
e 313
d 35
f 8

这还不错。但正如您所见,即使权重(出价)相同,广告 f 获得的浏览量几乎是广告 a 的 3 倍。

我试图通过考虑广告已经获得的观看次数来使算法更加公平。我通过减少每个 View 的权重来做到这一点。

虽然我无法让它工作,但我想知道是否有人可以帮助我?

最佳答案

如果你想确保每个人都得到正确的比例,你可以使用这个算法——它需要大量的内存:

  • 用 10 a、1000 b、100 c ... 填充大小为 sum 的数组
  • 随机打乱数组
  • 从数组中从0开始依次取项

当您用完元素时,您可以使用相同的数组重新开始或重新创建数组。每次权重发生变化时,您都需要重新创建数组。

关于algorithm - 根据权重和选择次数选择随 secret 钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41415214/

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