在国际象棋游戏中匹配时间控制偏好的算法

时间:2014-10-21 12:13:21

标签: algorithm

假设我们有两个国际象棋选手按顺序排列以下时间控制首选项,顶部是最理想的,低于 - 最低(45 45例如每场比赛45分钟+每次移动45秒),例如:

   Player A                   Player B
    45 45                      90 30   
    90 30                      120 30
    50 10                      45 45  
   120 30

用什么通用算法来选择最适合两个玩家的时间控制?

2 个答案:

答案 0 :(得分:1)

嗯,奇怪的是我起初并没有弄明白。

设A是玩家A接受的所有时间控制的集合,B是玩家B的所有时间控制。设S是A组和B组的交集 - 时间控制着两名球员都愿意参加比赛。

所以我们必须在集合S中找到x,以便

i + j -> min

其中i是玩家A的偏好x的索引,j是玩家B的偏好x的索引(例如45 45:i = 1,j = 3)。

答案 1 :(得分:1)

假设解决方案空间是离散的,并且所选择的首选项确实必须位于其中一个列表中(最好是两个),我建议使用以下方法:

每位玩家使用值0 <= w_p <= 1对其偏好进行加权,以便每位玩家所有值w_p总计为1(较高的权重=较高的偏好)。

现在目标函数有几个选项:

  • Utilitarian最大化所选首选项的权重总和。
  • Social使用所选偏好的较低权重最小化玩家的重量。
  • Equalizing最小化所选首选项的权重之间的差异。

您可能应该先验地排除不是两个玩家都具有正重量的偏好。