1

我正在创建一个 facebook 应用程序,它根据一组标准匹配人们,我认为查询数据库以搜索完全符合标准的人非常容易,但想知道网站通常如何生成不匹配的结果t 完全符合标准。

我在想一个类似计数系统的东西,我查看第一个参数并找到所有匹配的人并为他们的 id 增加一个计数器,然后查看第二个并为所有匹配的人增加一个计数器等。然后只显示计数器最高的案例的结果。这样做的问题是某些标准可能比其他标准更重要,我想这可以通过给予它们更高的权重来解决,即通过更高的值递增计数器。

所以我的问题是:

  1. 网站通常如何做到这一点,是否有任何标准的 php 食谱?
  2. 我建议的算法可行吗?
  3. 这个一般区域叫什么?(我不知道我应该在谷歌搜索什么......)
4

1 回答 1

1

我认为搜索词在您的问题中:-) 我会推荐这种方法:

将此视为一个图表,其中“N”个人中的每个人都与其他所有人相连。
根据您的应用程序为边缘分配权重。

然后尝试在二分图中找到最大匹配。
这是一个众所周知的问题。尝试搜索网络流+二分图。

于 2012-07-25T16:42:10.073 回答