为锦标赛选择最好的球员子集(球队)

Choosing the best subset (team) of players for a tournament

问题:

让我们考虑以下场景:

T={t_1, t_2, ..., t_h}成为一组不同的游戏。每场比赛都是一对一进行的(他们是单人游戏)。

nplayers 的数量,每个游戏都有一个已知的性能指标。该度量可以直接转化为赢得给定游戏的概率。 编辑:函数Q(i|q)给出玩家i在游戏q中获胜的预期概率从 players.

的集合中均匀分布抽取

在锦标赛期间,一队球员从 T 中抽取一场比赛(随机选择,均匀分布),并可以委派一名球员(具有最佳表现指标)代表该队比赛.

从所有可能的 k 成员队伍中 (k<n) 选择最有可能赢得比赛的队伍。

澄清: 选手和队伍与由同一组n 选手组成的队伍对决。也许更好的描述问题的方式是:
1) 所有可能的 k 成员团队都是从给定的 n 玩家集合创建的(玩家可能在许多团队中重复,但没有两个团队可能拥有完全相同的玩家集合),
2) 这些球队被配对,每对球队抽取 T 场比赛,
3) 每支球队为给定的比赛选择最佳球员(根据问题描述中给出的已知表现衡量标准)——这可能导致球员与他们自己的相同副本比赛;请注意,"best player" 是在不了解对方团队成员的情况下选择的,仅了解其成员的 Q(-|q) 值,
4)每支球队的得分等于赢得比赛的概率(没有实际比赛,我们直接假设输给给定的对方球队给定比赛的预期得分为0分,获胜为1分),
5) 对团队和游戏对的所有组合重复步骤 2-4
6) 得分最多的球队获胜(球队得分与赢得单场比赛的概率成正比,如果所述比赛和对方球队分别从 T 和 set 中均匀分布随机抽取所有可能的 k 个成员团队)
"fast" 找到获胜团队的方法是什么?

暴力破解:

我们完全按照说明中所写的去做。

n 达到很大数量时,这种解决方案会惨遭失败 - 对于 n>>k,可能的团队数量大约等于 n^k,这使得无法快速指向最好的团队。

我在寻找什么样的解决方案(算法)?

显然,任何可以将团队构建为不涉及检查所有可能的团队组成的迭代过程的方法。如果不存在精确解,则可以接受近似解(即从第 95 个百分位数创建团队)。

这个问题我想了一会儿,但我无法提供任何严格的证据证明我想出的任何方法都能满足我的条件。我想出的一个可能的解决方案是选择一个拥有最多游戏数量的玩家,在这些游戏中它自己的排名高于例如。 95% 的球员 - 那将是球队的第一名球员。然后我会遍历所有可能的第二名球员,并添加一名增加球队比例如 95% 的球员更好的比赛次数的球员。然后我会继续这个过程,直到找到 k-th 玩家。

这个解决方案带来了一个明显的问题,即我们实际上并没有将 m-th 玩家团队相互比较,我们甚至没有试图找到真正最好的团队(老实说,这不是没那么重要)。

如有任何帮助,我将不胜感激 - 也包括与涉及此类问题的外部 sources/published 论文等的任何链接形式。我研究过的大多数涉及团队建设的问题都假设团队绩效与其成员的平均绩效相关,而不是给定某些任务时的最高绩效。

这个问题有两大难点 -- 而且它们是相互依存的。

首先,这是 Set Cover Problem 的概率版本:您需要一组可以为您提供 "good" 各种游戏报道的玩家,以获得 "good".

其次,您的团队赢得特定游戏的可能性不是平滑函数。游戏策略矩阵是一个 k x k 矩阵,改变该矩阵中的一个条目(对局的结果)可以完全改变最优策略。

Q 函数没有任何有用的属性的情况下,我们没有理由期望特定的启发式算法(例如选择一个获胜率普遍较高的玩家)是找到一个有效的方法前 5% 的解决方案。在许多情况下,几个 "generalist" 玩家会导致任何此类启发式算法达到局部最大值,这会输给在一个小领域中精心挑选的专家团队。


例如,假设您要挑选一支由三人组成的全明星队参加五项全能比赛(不是得分五项,只是个人项目)。你选择多面手:比如说,最近四位国际五项全能比赛的奖牌获得者。我将选出最近的个人项目奖牌得主:排名第一的法国重剑、最近的 200 米游泳冠军、最近的冬季两项冠军,我将让出障碍赛。这几乎可以保证我在 4 场比赛中获得 3 场胜利(或者 5 场比赛中的 4 场,如果你将冬季两项计算为双项的话)。


如果 Q 函数具有某种梯度属性,例如各种游戏中能力之间的相关性,那么 我们也许可以使用 ML算法以确保在更短的时间内获得出色的解决方案。在那之前,您手头的问题会非常复杂。