You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Elo评分与双向组队请求的40人5人制公平分队策略问询

优化Elo排序分队法以纳入双向组队请求的策略设计

问题背景

我们举办固定赛事,共40名选手,需分为8支5人队,每位选手拥有基于过往赛事表现的Elo评分。此前采用满足选手组队请求后随机分配剩余人员的方式,易导致队伍实力失衡。现需设计策略:在尽可能满足有效双向组队请求(仅双方互选才有效)的前提下,实现各队平均Elo评分尽可能接近的公平分队;若无法全部满足请求,需随机筛选未被满足的请求。现有Elo排序分队法未考虑组队请求,需对其进行优化。

示例选手数据

Player1: 1200Elo Team Req: Player 3
Player2: 1300Elo Team Req: -
Player3: 1000Elo Team Req: Player 1
Player4: 900ELO Team Req: Player7
Player5: 1500Elo Team Req: -
Player6: 1400Elo Team Req: -
Player7: 1000Elo Team Req: Player 4
Player8: 800Elo Team Req: -
...
Player40: 1400Elo Team Req: -

原Elo排序分队步骤(中文翻译版)

  • 按Elo评分从高到低对选手排序
  • 将最高分依次分配至1-8队,每队1人
  • 次高分反向分配至8-1队,循环往复
  • 最后一轮从8队开始分配

优化后的分队策略

1. 识别并筛选有效双向组队请求

  • 遍历所有选手的组队请求,标记出双方互相选择彼此的有效组队对(比如示例中的Player1&Player3、Player4&Player7)
  • 若有效组队对数量过多,会导致后续无法均匀分配到8支5人队(比如组队对总人数+剩余单人总数无法被5×8整除,或某队容纳不下组合),则随机剔除部分有效对,保留的数量以保证剩余可分配人员能被8队均衡接收为前提

2. 构建组合单元并排序

  • 将每个有效组队对视为一个不可拆分的组合单元,计算该单元的平均Elo评分;单个未组队选手视为单人单元,单元评分为自身Elo分
  • 将所有单元(组合单元+单人单元)按照单元评分从高到低排序

3. 适配组合单元的分队分配

  • 初始化8支空队,每队剩余名额初始为5
  • 沿用原Elo排序法的"正向-反向循环"分配逻辑:
    • 第一轮从1队到8队依次分配最高评分的单元:若为单人单元,直接放入目标队并减少该队剩余名额;若为组合单元,先检查目标队剩余名额≥2,满足则放入并减少对应名额,不满足则顺延至下一个剩余名额足够的队伍
    • 第二轮反向从8队到1队分配次高评分的单元,规则同上
    • 循环执行上述步骤,最后一轮从8队开始分配,与原方法保持一致

4. 均衡性校验与调整

  • 分配完成后,计算各队的平均Elo评分,统计整体均值与各队的偏差
  • 若存在队伍偏差超出可接受范围(比如偏差≥整体均值的5%),则随机替换一组未被满足的有效请求(替换为之前剔除的有效对),重新执行上述分队流程,直到各队平均Elo评分接近程度符合要求

内容的提问来源于stack exchange,提问作者kmaxi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 02:25:22