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