- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.4 二分图最大对集算法 人员分派问题是二分图中的对集在实际应 用中的一个具体例子。如设某单位有 n 名工 作人员 和 m 项工作 能否给每个人恰好分派一项他能胜任的工 作,且每项工作至多分派给一名能胜任该 项工作的人员? 人员分派问题可以用图的语言叙述: 令 X={ }, Y={ }. 构造二分图如下: 其顶点集的二分划为 X 和 Y,对于1≤i≤n, 1≤j≤m。当且仅当人员 能胜任工作 时,G 中存在连接顶点 和 的边。于是人员分派问题就成为在 G 中求出一个饱和 X 中的每个顶点的对集问题。 在上一节的定理 5.3.1 给出了这种对集的 存在的充分必要条件。然而在实际应用中, 我们希望找到一种便于运用的算法,这个算 法应该满足以下要求:当问题存在解时,它 至少求出一个解,当问题不存在解时,求出 X的一个子集 S,使 , 或求一个最大对集。 下面要介绍的就是一个满足要求的算法,通常称为匈牙利算法。 匈牙利方法:(从G的任意一个对集M开始) (1)若 M 饱和 X 中的每个顶点,则停止。否则,设 u 是 X 中的一个 M非饱和点。置 S={u}, B=Φ。 (2)若 ,由于|S|=|B|+1,所以 因而停止。根据定理5.3.1,不存在饱和 X 的每个顶点的堆积。否则,令 y∈ 。 (3)若 y 是 M 饱和的,设 yz ∈ M, 用 S∪{z} 代替 S, B ∪{y} 代替 B,并转到第(2)步(仍有 |S|=|B|+1 ),否则 y 是 M 非饱和的顶点,则 G 中存在从 u 到 y 的 M 可扩路,设为 P,用 MΔE(P) 代替 M并转到第(1)步。 该算法结束时所得到的结果或是一个饱和 X 中每个顶点的对集,或有一个 X 的子集 S,满足 ,此时说明了G=(X,Y;E) 中没一个对 集能饱和 X 的每个点。若需要求出二分图 G=(X,Y;E) 的最大对集,则应在第二种结果的基 础上继续检查是否存在其他 M 非饱和点有 M 可扩 路。 为此下面给出求二分图最大对集的一个算法,仍从任意一个对集M开始。 (1)置 S=Φ, B=Φ. (2)若 X-S 中每个点是 M 饱和点的,则停止。否则令 u 是 X-S 中的一个 M 非饱和点,置 S:S ∪{u}。 (3)若 NG (S)=B 转第(5)步。否则令 y∈ NG (S)-B。 (4)若 y 是 M 饱和的,设 yz ∈ M, 用 S∪{z} 代替 S,B ∪{y} 代替B,并转到第(3)步. 否则 y 是 M 非饱和的顶点,令 P 是从 u 到 y 的 M 可扩路,并用 MΔE(P) 代替 M 转到第(1)步. (5)若 X-S=Φ, 则停止。否则转第(2)步。 用这个算法最终得到的对集 M 就是二分图 G=(X,Y;E) 的最大对集。 * www .course. zjnu. cn/ gtjpkc * 算法的基本思想:从任意一个对集 M 开始,如果 M 饱和 X 中每个顶点,则 M 即为所求。否则令 u 为起点作 G 的所有M交错路,如果存在 M 可扩路 P,则 M1 =MΔE(P) 就是比 M 大的一个对集,然后以 M1 代替 M,并重复这过程。如果不存在 M 可扩路可扩路,记 Z={v: G 存在从 u 到 v 的 M 交错路} A=X∩Z-{u} B 为 Y 中在 M 下与 A 匹配的顶点集。S= A∪{u},则如同定理 5.3.1 证明那样: |NG (S)| = |B|= |S|-1|S| 即 G 不存在饱和 X 中每个顶点的对集。
文档评论(0)