0

我正在尝试为以下问题提出一种算法。

有一组 N 个对象,每个对象有 M 个不同的变体。目标是根据来自不同用户的反馈找到最适合每个对象的变体。

最后,用户将被放置在一个类别中,以确定哪个类别更喜欢哪个变体。

要求最多并排放置一个对象的两个变体。

这样做的问题是,如果 M 很大,那么可能的组合数量会变得太大,用户可能会变得不感兴趣并可能会扭曲结果。

一旦我知道用户的选择顺序,就可以使用 Elo 算法/分数,如本文中所讨论 的基于比较的排名算法

问题:

是否有一种算法可以减少呈现给用户的可能组合的数量并且仍然获得正确的顺序?

例如:7 种不同类型的水果。每种水果都有 5 种不同的形状。用户根据他们喜欢的大小对每种水果给出 1-5 的排名。这意味着对于每个水果,用户必须从最多 10 种组合中进行选择(因为大小不同,没有任何意义表示为 {1,1})。我将如何减少“10 个组合”?

4

1 回答 1

0

如果用户的偏好始终与总顺序一致,并且您可以更改比较以考虑到目前为止所做的比较结果,那么您只需要一个有效的排序算法。对于 5 个项目,您似乎需要至少 7 次比较 - 请参阅使用最少元素比较对 5 个元素进行排序。您还可以查看http://en.wikipedia.org/wiki/Sorting_network

通常,当您尝试进行某种实验设计时,您经常会发现进行随机比较虽然不是最佳的,但距离最佳答案并不太远。

于 2012-09-14T18:16:07.943 回答