求解分配问题(三) 二分图最小权重匹配

上一篇文章中,介绍了二分图的最大匹配问题及其算法,但是分配问题和二分图最大匹配似乎关联不大,为什么要详细介绍二分图最大匹配呢? 其实如果给二分图中的边加上权重,那么这个二分图就是分配问题的图形式,如果分配问题的目标是最大值目标,那么对应的图论问题就是求二分图的最大权重匹配,具体来说:

  • 给二分图 G G G的边设置权重 w ( i , j ) w(i,j) w(i,j) i i i j j j分别表示两个点集中的点,对于一个匹配 M M M,其权重和 w ( M ) = ∑ e ∈ M w ( e ) w(M)=\sum_{e\in M}w(e) w(M)=eMw(e),最大权重匹配问题就是找到是权重和最大的匹配;如果设置权重为 c ( i , j ) = W − w ( i , j ) , W ≥ m a x ( w ( i , j ) ) c(i,j)=W-w(i,j),W\geq max(w(i,j)) c(i,j)=Ww(i,j),Wmax(w(i,j)),那么最大权重匹配就转化成了最小权重匹配

因为分配问题大多数情况是要让总的cost最小,所以本文还是以二分图最小完美匹配作为对象进行叙述(分配的结果应该是让所有的对象都有分配值,所以要强调是完美匹配)

二分图最大匹配其实是权重都是1的特殊情况,我们可以使用搜索增广路径的算法来求解二分图最大匹配问题;那么对于更为一般的权重二分图,该方法还可以使用吗? 其实算法的核心还是和增广路径相关,不过需要在原始的权重二分图上扩充一下

转化成最大匹配问题

需要介绍两个非常关键的算法术语:Feasible Labeling(不知道怎么用中文描述,有的资料里会称对偶变量)和Equality Graph

我们用一个例子来帮助理解:假设一个二分图的权重矩阵如下表所示:

y1 y2 y3
x1 0 1 0
x2 2 1 3
x3 0 1 2

用图表示:
在这里插入图片描述
然后:

  • 定义对一个顶点的 l a b e l i n g labeling labeling表示对这个顶点附加一个值映值 l : V → R l:V \rightarrow R l:VR,意思就是给每个点附加一个变量值
  • 对每个顶点都做 l a b e l i n g labeling labeling,我们称这个 l a b e l i n g labeling labeling f e a s i b l e feasible feasible的当:
    l ( x ) + l ( y ) ≤ w ( x , y ) ,    ∀ x ∈ X , y ∈ Y \begin{aligned} l(x)+l(y)\leq w(x,y),\ \ \forall x \in X,y\in Y \end{aligned} l(x)+l(y)w(x,y),  xX,yY
    例如对于上面的这个二分图,下面的 l a b e l i n g labeling labeling(标红的数字)就是 f e a s i b l e feasible feasible的,因为任意两个顶点的 l a b e l i n g labeling labeling值的和都不大于它们之间的权重值
    在这里插入图片描述
  • f e a s i b l e   l a b e l i n g feasible\ labeling feasible labeling的基础上,我们只保留所有满足相等条件的边,构成一个 E q u a l i t y   G r a p h Equality\ Graph Equality Graph,用数学语言描述就是, G e = ( V , E l ) G_{e}=(V,E_l) Ge=(V,El),满足:
    E l = { ( x , y ) : l ( x ) + l ( y ) = w ( x , y ) } \begin{aligned} E_l=\{(x,y):l(x)+l(y)=w(x,y)\} \end{aligned} El={ (x,y):l(x)+l(y)=w(x,y)}
    在上面的例子中,其 E q u a l i t y   G r a p h Equality\ Graph Equality Graph如下图所示:
    在这里插入图片描述

对于一个权重二分图,我们如果设定了 f e a s i b l e   l a b e l i n g feasible\ labeling feasible labeling,并得到了相应的 E q u a l i t y   G r a p h Equality\ Graph Equality Graph,我们有下面这个定理:

  • 如果一个 l l l f e a s i b l e feasible feasible的,并且 M M M E l E_l El上的一个完美匹配,那么 M M M就是该二分图的最小权重匹配

其证明过程如下:

  • 定义任意的边为 e = ( e x , e y ) ∈ E e=(e_x,e_y)\in E e=(ex,ey)E e x e_x ex e y e_y ey是它的两个端点,假设 M ′ M' M是图 G G G上的任意完美匹配(不限定在 G l G_l Gl上),因为是完美匹配,每个顶点 v ∈ V v\in V vV都正好被完美匹配上的一条边连接,就有
    w ( M ′ ) = ∑ e ∈ M ′ w ( e ) ≥ ∑ e ∈ M ′ ( l ( e x ) + l ( e y ) ) = ∑ v ∈ V l ( v ) \begin{aligned} w(M')=\sum_{e\in M'}w(e)\geq \sum_{e\in M'}(l(e_x)+l(e_y))=\sum_{v\in V}l(v) \end{aligned} w(M)=eMw(e)eM(l(ex)+l(ey))=vV
  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值