第八节最大对集问题.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八节最大对集问题

第八节 最大对集问题 二分图的对集 基本概念 主要定理 二分图的最大基数对集 基本思想 算法步骤 算法复杂性 二分网络的最大权对集-分派问题 规划形式 算法步骤 基本概念 图G=(N,E)的对集M:M是E的子集,且M中任意两边均不相邻。 M-饱和点i:i∈N,且i同M的一条边关联。 M-非饱和点i:i∈N,且i不同M的任一条边关联。 G的完美对集M:G的每一个点都是M-饱和点。 G的最大基数对集M:不存在另外一个对集M’,使得|M’||M|,其中|M|表示M的基数。 基本概念 G的一条M-交错路:边在对集M和E\M中交错出现的路。 G的一条M-增广路:起点和终点都是M非饱和的一条M-交错路。 图G=(N,E)的覆盖K:K是N的子集,且G的每条边都至少有一个端点在K中。 图G的最小覆盖K:G不存在另外一个覆盖K,使得|K||K|。 主要定理 定理6.8.1 图G中的一个对集M是最大基数对集当且仅当G不包含M-增广路。 引理6.8.1 设M是一个对集,K是一个覆盖,它们满足|M|=|K|,则M必定是最大基数对集,而K是最小覆盖。 定理6.8.3 在二分图中,最大基数对集的边数等于最小覆盖的点数。 最大基数对集算法的基本思想 从图G的任意一个对集M开始,若M饱和S的所有点,则M是G的最大基数对集;否则,由S的M-非饱和点出发,用一个系统方法搜索一条M-增广路P。 若P存在,则通过交换P在M和不在M中的边,便得到一个其基数增加1的对集,然后从新的对集开始,继续迭代。 若P不存在,则现行的对集就是G的最大基数对集。 最大基数对集算法的步骤 第1步(开始) 给定二分图G=(S,T,E),令M是一个任意对集,可能是空对集,这时没有点被标号。 第2步(标号) (2.0)在S中,每个非饱和点给以标号“0”。 (2.1)如果不存在未检查的标号点,转向第4步;否则,找一个具有未检查的标号点i,如果i∈S,转向(2.2);如果i∈T,转向(2.3) (2.2)检查点i的标号如下:对每个同点i关联的边{i,j},除非j已经被标号;否则,给点j标号“i”,转向(2.1)。 (2.3)检查点i的标号如下:如果点i是非饱和点,转向第3步;否则,辨认同点i关联的属于M的唯一边{i,j},给点j标号“i”,转向(2.1)。 最大基数对集算法的步骤 第3步(增广) 终止在i的一条增广路被找到,通过反方向追踪辨认在路上点i的前点,通过把路上不在M中的边加入M,而把路中在M中的边从M中除去来增广M,抹掉所有标号,转回(2.0)。 最大基数对集算法的复杂性 若令|S|=m,|T|=n,且mn 在找到一个匈牙利树或找到一条增广路之前 标号程序最多进行O(mn)次 在求出所需的对集之前,初始对集最多能增广m次 所以,总的计算量为O(m2n) 分派问题的规划形式 设二分网络是完全的G=(S,T,S×T,W), |S|=m,|T|=n,且m≤n 分派问题的规划形式 对偶规划 最大权对集算法的步骤 第1步(开始) 给定二分网络G=(S,T,E,W),令M=Φ,w=max{wij},对每个i∈S,令ui=w,对每个j∈T,令vi=0和πj=+∞,这时没有点被标号。 第2步(标号) (2.0)给S中每个非饱和点标号“Φ”。 (2.1)如果不存在未检查的标号点或者存在未检查的标号点,但每个未检查的标号点i∈T有πi0,则转向第4步。 (2.2)找一个未检查的标号点i,其中或者i∈S,或者 i∈T且πi=0,如果i∈S,则转向(2.3);如果i∈T,则转向(2.4)。 最大权对集算法的步骤 (2.3)检查点i的标号如下:对每条边{i,j}不属于M,如果ui+vj-wijπj,给点j标号“i”,并令πj=ui+vj-wij,转回(2.1)。 (2.4)检查点i的标号如下:如果点i是非饱和点,转向第3步;否则,辨认唯一边{i,j}∈M,给点j标号“i”,转向(2.1)。 最大权对集算法的步骤 第4步(对偶变量的改变) 设δ1=min{ui|i∈S},δ2=min{πj|πj0,j∈T},δ=min{δ1,δ2}。令L表示所有标号点的集合。对每个i∈L∩S,从ui减去δ;对每个πj=0的点j∈T,则vj加上δ;对每个πj0的点j∈L∩T,则πj减去δ。如果δδ1,转向(2.1);否则,M是最大权对集,变量ui和vj是最优对偶解。 * 续 证明 续 例 续 续一 第3步(增广) 终止在i的一条增广路被找到,通过方向追踪辨认在路上点i的前点,通过把路上不在M中的边加入M,而把路中在M中的边从M中除去来增广M。对每个点j∈T,令πj=+∞。抹掉所有标号,转回(2.0)。 续二 * * * 第4页缺定理证明

文档评论(0)

ldj215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档