Algorithm 找到边权重和最大的图的最大尺寸匹配的算法?

Algorithm 找到边权重和最大的图的最大尺寸匹配的算法?,algorithm,max,graph-theory,weighted,Algorithm,Max,Graph Theory,Weighted,我有一个应用程序,人们可以给对方打10分。每天午夜,我都要为每个成员计算一个“匹配”。平均而言,我想让每个人都尽可能快乐 So at the midnight, I have an oriented graph like so : 1 -> 2 : 7.5 // P1 give a 7.5/10 to P2 1 -> 3 : 5 1 -> 4 : 9 2 -> 3 : 6 2 -> 1 : 4 etc. 为了使事情更简单,让我们假设,如果P1给P2 a

我有一个应用程序,人们可以给对方打10分。每天午夜,我都要为每个成员计算一个“匹配”。平均而言,我想让每个人都尽可能快乐

So at the midnight, I have an oriented graph like so : 
1 -> 2 : 7.5 // P1 give a 7.5/10 to P2
1 -> 3 : 5
1 -> 4 : 9
2 -> 3 : 6 
2 -> 1 : 4 
etc.  
为了使事情更简单,让我们假设,如果P1给P2 a 5,P2给P1 a 7,匹配P1-P2的权重为5+7-(7-5)/2=11(我减去差值,因为对于相同的分数总和,如果它们彼此接近会更好,也就是说,a(7/10-7/10)比a(10/10-4/10)更匹配)

这样,我们就有了一个无向图。从数学上讲,出于我的目的,我认为我需要找到一个算法,在所有具有此图的最大匹配中,找到具有最大权重和的匹配。这样的算法存在吗


我已经研究过“海上稳定问题”和“分配问题”,但这些是针对可分为两类(男性/女性,男性/任务..)的图形的。

一种方法是修改图形,然后在其上找到一个

我需要找到一个算法,在所有有这个图的最大匹配中,找到一个权重和最大的匹配。这样的算法存在吗

让我们考虑你的图<代码> g=(v,e,w)< /> > <代码> w <代码>是你的权重函数。让我们用

n
表示
V
的大小,即图形中的顶点数,用
M
表示边之间的最大权重

然后,您所要做的就是这样定义
w'
:对于
e
的任何边
e
w'(e)=w(e)+n*M


在这种情况下,
G'=(V,E,w')
上的最大重量匹配对应于
G=(V,E,w)
中的最大尺寸匹配,该匹配也具有最大重量。

谢谢!!但我不明白M到底是什么?如果我有这样一个图:((v1->v2,w),(1->2,7),(1->3,8),(2->3,5),(1->4,6)),M是“边中的最大w”,那么在这种情况下是8吗?是的,没错。因此,当你将
n*M
添加到每个权重中时,你实际上可以保证更大的匹配大小也将是更大的匹配重量。因此,我在G=(V,E,w+nM)上应用Edmonds算法(找到一个最大匹配大小)?但我怎么知道Edmonds algo找到的最大尺寸匹配是唯一的最大尺寸匹配?(可能有几个最大大小的匹配,我知道Edmonds algo只给出一个)。不,您需要对修改后的图应用最大权重匹配算法。Edmonds算法可以做到这一点,否则可以使用a来做到这一点。