根据一组标准匹配人员

时间:2012-07-25 10:37:34

标签: php mysql algorithm matching

我正在创建一个基于一系列标准与人们匹配的Facebook应用程序,我认为很容易查询数据库中搜索符合标准的人员,但是想知道网站通常如何生成结果这与标准不完全一致。

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

所以我的问题是:

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

1 个答案:

答案 0 :(得分:1)

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

将此视为图表,其中每个“N”人都与其他人相连 根据应用的不同,为边缘指定权重。

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