匈牙利算法示例精选.pptVIP

  • 31
  • 0
  • 约2.8千字
  • 约 16页
  • 2016-12-03 发布于湖北
  • 举报
匈牙利算法 经典问题——工作分配 一个公司有n个工作岗位空缺,每个岗位空缺需要有一定资格的人来填补。现在有m个人申请这n个工作。由于每个人工作能力不同,所以不同的人能胜任不同的工作。 现在已知每个人所能胜任的若干工作,求这m个人最多可以填补几个工作岗位。 每个人只能做一份工作,每个工作岗位也只需要一个人 二分图 设G=(V,{R})是一个无向图。图的顶点集V可分割为两个互不相交的子集X和Y(子集内部没有边) ,图任何一条边的两个端点都分属不同的子集。则称图G为二分图。 用n个顶点X={1,2,3,4,5}表示n个工作,用m个顶点Y={A,B,C,D,E,F}表示m个工人。 1 2 3 4 5 A B C D E F {1,2,3,4,5} {A,B,C,D,E,F} 二分图匹配 给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。在工作分配的问题中,我们给出一个可行的分配方案,就是一个匹配。 选择这样的边数最大的子集称为图的最大匹配问题如果这个匹配是最优的(可以填补的工作岗位最多),就是最大匹配。 1 2 3 4 5 A B C D E F 1 2 3 4 5 A B C D E F 1 2 3 4 5 A B C D E F 1 2 3 4 5 A B C D E F 2 3 4 5 A B D E 1 2 3 4 5 A

文档评论(0)

1亿VIP精品文档

相关文档