该算法问题的研究领域是什么?

时间:2019-06-16 11:45:55

标签: algorithm math optimization

在我的应用中,人们可以满分10分给其他人打分。我想每天午夜都实施一种算法,为每个人计算出最佳的“匹配度”。 在一天结束时,例如:

(ID_person_who_gave_mark, ID_person_who_received_mark, mark)

(1, 2, 7.5)  // 1 gave to 2 a 7.5/10 
(1, 3, 9) // etc..
(1, 4, 6)
(2, 1, 5.5) 
(2, 3, 4)
(2, 4, 8)
(3, 1, 3)
(3, 2, 10) 
(3, 4, 9)
(4, 1, 2)
// no (4, 2, xx) because 4 didn't gave any mark to 2 
(4, 3, 6.5)

在算法的最后,我希望每个人都拥有最佳的匹配,这是“使每个人都快乐”的最佳折衷。

在我的例子中,我想说,人1给了9/10到3,但人3给了3/10到1,所以他们绝对不能匹配,人给1了7.5 / 10给2,而人2给了5.5 / 10比1,为什么不呢?最后,1给出6/10到4,而4给出2/10到1,所以它们无法匹配(低于5/10 =他们不能匹配)。因此,对于人1来说,唯一的匹配将是2,但是我也必须检查将1匹配也适合2。

2给出4/10到3,所以(2,3)结束(低于5/10),但是2给出8/10到4,所以(2,4)保持2酷得多(2,1)。 让我们看看4:4没有给2加上任何分数,因此它们无法匹配:2剩下一种可能性:我们进行匹配(2-1)

让我们看一下3:1结束了(3/10),2结束了3(10/10)超酷,但是2给出了3/10,所以结束了。 3给出了很酷的9/10到4,所以也很好。让我们检查4:4给出2/10到1,所以它超过了1(低于5/10),给出了一个非常漂亮的6.5到3。因此,最佳匹配最终在4到3之间。

所以我们的最后一场比赛是这样的例子:(1-2)和(3-4)

即使像我刚才那样直观地做到这一点,找到合适的行为来计算所有这些信息也很复杂。

您能帮我“数学化”这样的目的,以便有一个可以为例如50000个人做这种计算的算法吗?或者至少,在什么研究领域中我可以获得更多信息来有效地解决这一问题?

0 个答案:

没有答案