algorithm - 分组算法 - 锦标赛

标签 algorithm performance grouping

寻找算法或代码(如果有人愿意执行以下操作)。我需要为一些玩家提供意见。玩家的数量永远是 4 的因数。我想将单个玩家分成 4 人一组,重复次数最少。初始位置很简单:

 1   2   3   4   Table 1
 5   6   7   8   Table 2
 9  10  11  12   Table 3
13  14  15  16   Table 4
17  18  19  20   Table 5
21  22  23  24   Table 6

所以玩家 1-4 已经“见过”对方一次。每个人都玩他们的游戏,然后玩家被洗牌。在下一次传球(和后续传球)中,我想重新安 Volley 员,使他们的重叠量最少。基本上,我想尽可能长时间地防止玩家看到重复的面孔,一旦这不再可能,我想尽可能地减少它。

我觉得这应该是一个相对简单的算法,但我最终采用的每一种方法都感觉它在为首先处理的人分配权重......我的直觉/思想告诉我,有一个绝对正确的回答。

为了清楚起见,没有人被淘汰,他们只是每次都洗牌。

最佳答案

这基本上就是社交高尔夫球手问题。组合优化文献中有许多算法。

关于algorithm - 分组算法 - 锦标赛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5651357/

相关文章:

algorithm - 家庭作业帮助 - AVL 树

python - Python中素数查找算法的运行时间

c# - 为什么数组项分配会降低 C# 程序的性能?

algorithm - 如何证明堆中最坏情况下的反转次数是Ω(nlogn)?

pandas - pandas 中嵌套 groupby 的 min() 操作

c# - LINQ 按子属性分组

c# - LINQ 过滤和聚合

sql - 查找 2 个 sql 查询之间的匹配项

python - 如何找到列表中不一定相邻的最大连续数字集?

php - 节省页面加载时间的技巧