我正在尝试为我的 iOS 游戏创建排名匹配算法,但我不知道如何开始。
游戏非常像国际象棋,因此排名系统是用 ELO 完成的。我能够以字符串形式接收所有排队用户的(可能很大)列表,但这就是我所拥有的。当他/她加入队列时,我一直在连接用户的 elo+timestamp (这会创建 5-6 个额外的解析步骤来对数组 + 对象进行排序)。另一种选择是存储我认为没有意义的自定义用户数据,因为在我请求拉取该用户的那条信息之前,我无法知道玩家的 elo。由于根据此列表的长度对整个列表进行排序可能无法选择,因此我正在考虑这种方法:
在 elo 系统中,如果我只是从列表中获得随机 (100) 数量的用户......我假设 elo 的范围将是 ELO 分布中位数附近的一部分。这对于 ELO 接近中位数的玩家来说可能很好,但对于更高或更低 ELO 的玩家,这个子数组必须更大,从而让我回到原来的问题。
我的问题:是否有任何记录在案的随机配对方法?我真的只是要求一些众所周知的方法来做到这一点,因为我无法想出一个听起来可行的方法。
这似乎是一个涉及大量图论和研究等的问题,因此我可能无法从头开始弄清楚。我尝试进行非常彻底的谷歌搜索,但似乎每个人都只想对 LOL 的配对感到愤怒:(