使一组随机结果接近特定百分比的算法

标签 algorithm statistics computation-theory convergence

目前,我有一群篮球运动员,我有每个运动员的预计总得分。此外,我有一个正态分布函数,可以根据每个玩家的正态分布随机抽取一张图。目前,我有一种算法可以根据某些约束计算 8 名球员的 n 个独特的随机阵容。在每个阵容之间,正态分布函数再次运行,为每个球员产生新的预测。然后为该特定预测集生成最佳阵容。

我想按以下方式调整此算法。我想要 4 层的最大和最小百分比,其中每个玩家都分配了一个层。在生成的阵容数量中,我希望每个特定的球员都以该频率出现。因此,例如,如果我想生成 10 个阵容,而球员 1 位于第 1 层,这要求球员的比例在 50-60% 之间,那么理想情况下球员会出现在 5-6 个阵容中。

我正在为如何修改我当前的算法以包含此规定而苦苦挣扎。任何想法将不胜感激!我只是不知道如何强制每个玩家在特定的百分比范围内。

最佳答案

有很多方法可以做到这一点。

这是一个简单的方法。保持每个玩家当前被选中的相对几率。实际概率是相对几率除以几率之和。每个人都以预期的次数开始被选中。每当有人被选中时,他们的相对几率就会减 1。如果低于 0,则该人会被淘汰出局。

这种方法保证每个玩家不会超过最大数量的团队。这使得任何给定球员参加的球队数量比你想要的少的可能性不大,但并非不可能。

解决这个问题的一个简单方法是随机上下舍入人们想要的频率以获得正确的整数计数。现在一切都必须平衡。

不过还有一个问题。也就是说,您可能无法成功完成分配以填补所有团队的空缺。但是,如果你从最受欢迎的球员到最不受欢迎的球员,那么这种错误的几率应该是可以接受的低。如果您通过增加一些额外的团队来略微扩大范围,然后丢弃那些没有成功的团队,那就更是如此了。

关于使一组随机结果接近特定百分比的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48771346/

相关文章:

algorithm - MATLAB 中的 N x N 单位矩阵

c - 尝试按降序合并链表

algorithm - 在多维数组中查找相似性

linux - 如何监控内核执行的系统调用数量?

automata - 设计图灵机的状态表

java - 使用递归将数字转换为不同的数字

c++ - 时间复杂度为 `std::partition()`

r - 如何在同一张图上绘制线性和二次模型?

computer-science - NFA 到 DFA 的问题

python - 使用排序方法对算法次数进行排序