KM算法是通过给每个顶点一个标号(叫做顶标)来把求最大.pptxVIP

  • 0
  • 0
  • 约1.74千字
  • 约 67页
  • 2021-11-08 发布于江苏
  • 举报

KM算法是通过给每个顶点一个标号(叫做顶标)来把求最大.pptx

KM算法是通过给每个顶点一个标号〔叫做顶标〕来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[i],顶点Yi的顶标为B?[i],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一时刻,对于任一条边(i,j),A[i]+B[j]=w[i,j]始终?成立。KM算法的正确性基于以下定理: ?  假设由二分图中所有满足A[i]+B[j]=w[i,j]的边(i,j)构成的子图〔称做相等子图〕有完备匹配,那么这个完备匹配就是二分图的最大权匹配。 ?  初始时为了使A[i]+B[j]=w[i,j]恒成立,令A[i]为所有与顶点Xi关联的边的最大权,B[j]=0。如果当前的相等子图没有完备匹配,就按下面的方法修改顶标以使扩大相等子图,直到相等子图具有完备匹配为止。 ?  我们求当前相等子图的完备匹配失败了,是因为对于某个X顶点,我们找不到一条从它出发的交错路。这时我们获得了一棵交错树,它的叶子结点全部是X顶点。现在我们把交错树中X顶点的顶标全都减小某个值d,Y顶点的顶标全都增加同一个值d. d = min{ A[i]+B[j]-w[i,j] | Xi在交错树中,Yi不在交错树中 } ;状态空间搜索;状态空间搜索;状态空间搜索;状态空间搜索;盲目搜索方法;盲目搜索算法;深度优先搜索(Depth-first Search);深度优先搜索;非递归的实现框架;栈的应用迷宫老

文档评论(0)

1亿VIP精品文档

相关文档