12

好吧,我正面临着我的家人即将加入的人,并且正在努力选择名字。

我考虑过编写软件来显示名字并强迫我选择我更喜欢的,类似于小猫战争。

但是,一旦我得到一个巨大的图表,我就不知道如何处理它,尤其是如果有循环的话。例如,我喜欢 mike 胜过 sam,sam 胜过 jared, jared 胜过 mike - 简单地分配选票并计算它们是没有意义的(我认为 kitten war 就是这样做的)。此外,我可能有一天会得到 mike vs jared 并以一种方式投票,但如果我在另一天得到它,就会以不同的方式投票。

所以:

  • 获得数据后,如何处理图表并对名称进行排名?

交替:

  • 还有哪些有用的算法可以用来做出选择(比如车辆样式,如果你正在寻找一辆新车)?

-亚当

4

10 回答 10

6

您可能想查看我不久前提出的一个问题的答案:如何使用众包排序对一百万张图像进行排名- 关于如何处理大量比较操作的结果以得出排名有一些很好的建议。

于 2009-02-20T20:44:25.870 回答
6

例如,我喜欢迈克胜过山姆,山姆胜过杰瑞德,杰瑞德胜过迈克

如果你发现是这种情况,你可以断定你不适合选择名字,应该听从重要的其他人的选择。

于 2009-02-20T20:44:35.230 回答
4

我以为我们已经经历了这个,答案仍然是 Jon Skeet :) 所有其他数据都无关紧要。

编辑:恭喜顺便说一句:)

于 2009-02-20T20:39:12.043 回答
4

这是错误的实现:You're Doing It Wrong。这正是Shell Always Win算法的正确应用。

于 2009-02-20T21:02:10.350 回答
4

我不知道这个算法的可扩展性如何,但我已经在我设计的几个带有排名的网站中成功实现了它(改编自IMDB 的评级):

加权评级 (WR) =(v / (v+m)) * R + (m / (v+m)) * C

在哪里:

  • R =小猫的平均值(平均值)=(投票数/投票人数)
  • v = 小猫的票数 = (votes)
  • m = 进入前 100 名所需的最低票数(大约 25 是一个安全数字)
  • C =所有小猫的平均投票=(投票总和)/(投票的每个人的总和)

上面的算法适用于小猫战争风格的网站,但对于“专家系统”或推荐引擎来说,它不是一个合适的算法。

推荐引擎的一种方法——我不能保证是好的方法——是在矩阵中表示不同的选择。假设您想挑选一条裙子,您可能会表示裙子的不同属性,如下所示:

             时尚实惠多彩实用
迷你裙 10 5 7 5
拉拉裙 3 1 10 1
草裙 2 7 2 1
牛仔裙 9 5 3 10

现在,你问用户他们想穿什么样的衣服:

  • [X] 时尚的东西?
  • [ ] 买得起的东西?
  • [ ] 色彩斑斓的东西?
  • [X] 实用的东西?

上面的输入表明用户正在寻找时尚实用的东西,而不关心其他属性,因此很容易将上面的数据处理如下:

             时尚实用总
牛仔裙 9 10 19
迷你裙 10 5 15
啦啦裙 3 1 4
草裙 2 1 3

只要您知道要比较的每个对象的属性,这种非常简单但有效的方法就可以工作。

于 2009-02-20T21:02:50.910 回答
4

查看有关“配对比较/偏好排名”的机器学习论文。

这是一篇可以帮助您入门的论文:Pairwise Preference Learning and Ranking

于 2009-02-20T21:12:12.447 回答
3

还有哪些有用的算法可以用来做出选择[...]?

  1. 为配偶单位提供婴儿姓名簿。
  2. 等待配偶单位就未来的婴儿姓名提供意见。

  3. 拒绝冒犯性的选择

  4. 重复直到您和配偶单位就名字达成一致,或者婴儿出生……在这种情况下,请在列表中选择最容易拼写的选项,这样医院就不会搞砸出生证明

这对我来说效果很好,两次。我们甚至不需要练习第 11 小时最简单的拼写选项!

于 2009-02-20T20:44:27.583 回答
3

这是我们使用的算法:

  1. 为每位家长分配一种性别。指定该父母为该性别的主要代号。
  2. 允许,不鼓励,根据他们在任何特定时间的奇思妙想或奇思妙想来产生可能的后代名称列表。
  3. 指定另一位父母为替补。对于非主要性别,候补人只有一项能力,那就是否决权。 替代者可能表达了对一个特定选项的偏好,但实际上只是在自欺欺人。
  4. 否决权获胜。 它不需要任何理由或解释(尽管在父母打算保持婚姻幸福状态的情况下推荐一些……)。
  5. 如果潜在子代是迭代 n>=2,您可以咨询迭代 n=1 以获得额外的排名建议。在大多数情况下,这种启发式应该被认为是决定性的一票

在我们的案例中,我是两个案例中的主要成员(两个男孩),而 NumberOneSon 是我们在为 SecondSon 选择名称时的决定性投票。而且你最好相信 WifeUnit 是 A-OK 挥舞着她的否决权......

简而言之,恭喜。育儿是个麻烦。

于 2009-02-20T21:43:08.973 回答
2

如果您跟踪赢/输,您可能更愿意向您显示赢/输比率高的名称。最终,您喜欢的名字会冒泡到顶部,并且更有可能相互比较。您可能还想为尚未比较或很少比较的名称添加一些权重。

在一定数量的损失后淘汰名称,确保不要将相同的名称相互比较两次,因为无论如何这都是你的意见。

一旦你从垃圾中过滤掉了“最佳产品”,你将直接比较最好的,竞争风格,直到你选择一个赢家。(或者只是在那时手动查看它们)

于 2009-02-20T20:41:18.433 回答
2

我很确定迈克是正确的选择。

于 2009-02-20T21:11:06.727 回答