我有一个大约 1000 种不同资产的列表,我想按我正在制作的游戏的价值对它们进行排名。
玩家有机会选择两个资产篮子之一。例如,他们可能会被问到他们更喜欢 A + B 还是 C。
从大量的篮子偏好列表中,我希望按感知价值对资产进行排名。
这是一些示例输入,相应地玩家说:
A > B
A + A > B + C
C > B
即他们宁愿有一个A而不是一个B。他们宁愿有2个A而不是一个B和一个C。等等。
从这个输入中,我认为最有可能的价值排名是:
A > C > B
我应该使用哪种算法来解决这个问题?
有时偏好列表会相互矛盾(一些玩家认为 A > B,其他玩家可能会说 B > A)。如果我有一个单独的玩家技能水平衡量标准,我如何利用它来获得更准确的排名?
我还需要能够处理篮子之间的关系中存在“孤岛”的情况。例如:
A > B
C > D
即你不能说如果 A <> C。
在我看来,这似乎是一个类似于各种打包算法的优化问题。这个排名问题是 NP 难的吗?