最小集合覆盖.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最小集合覆盖,集合覆盖问题,最小集合覆盖问题,最小集合覆盖算法,最小集合,最小圆覆盖,最小路径覆盖,最小点覆盖,最大集合覆盖模型,集合覆盖模型

最小集合覆盖的启发式算法 摘 要 本文给出了一种求解集合覆盖问题的新的启发式算法,对该算法的合理性、时间复杂性以及解的精度进行了分析。主要创新点是用完备策略建立启发式算法。该方法具有一定的普遍性、可行性,可以应用到其他的NP困难问题。 关键词:最小集合覆盖;启发式算法;完备策略;NP困难问题 集合覆盖问题是NP困难问题中具有代表性的问题之一,它在模式识别、机器学习等领域中具有重要的应用。目前已有许多比较有效的启发式算法,但由于问题本身固有的难度,这些启发式算法具有各种的缺陷,本文提出的启发式算法由多个启发式策略组成,同时考虑到计算复杂度,具有一定的效果。 相关概念和完备策略 最小集合覆盖问题:S是一个集合,S1,S2,…,Sm是S的子集,且构成S的覆盖,即∪Si=S,求最小覆盖。 设S={0,1,2,3,4,5,6,7,8,9};S1={0,1,2,3,4}; S2={0,1, 5,6,7};S3={3,4,5,6,7};S4={5,6,7,9};S5={2,8,9};S6={1,3,5,7};S7={0,4,6,8}; S8={0,3,6};S9={1,4,7} 定义1 设 NPH(NP-hard)是一个给定的 NP困难问题(例如,集合覆盖问题,TSP等),ST是一个求解NPH的策略,如果ST的前提条件的验证以及策略的操作者都可以在多项式时间内完成,则称ST为多项式时间策略。 一般的启发式策略都是多项式时间策略,例如,集合覆盖问题,选取最大基数的集合作为覆盖中的一员;对TSP来说,选择最邻近的点构成回路等都是多项式策略。 定义2 NPH是一个NP困难问题,ST是求解NPH的一个多项式时间策略,NPHO是NPH 经过ST操作后得到的一个新的问题,如果问题NPHO的规模比问题NPH小,并且NPHO的最优解都是NPH的最优化解,则称ST为完备策略。 通俗地讲,一个完备策略是,当问题满足策略条件时,把原闸题化简成更易解的问题,并且新问题的最优化解都是原问题的最优化解,即保留一些最优化解的策略。 在求解NP困难问题时,用完备策略既能降低问题的求解难度,又能保留最优解,所以它是求解NP困难问题的最重要的策略(如果有的话)。因此用启发式算法求解NP困难问题时,我们首先应该考虐寻找完备策略。 集合覆盖问题的完备策略: 完备策略1 如果S1,S2,…,Sm中一个集合Si=S,则选择Si作为最优覆盖中的唯一一个集合Si。 完备策略2 如果存在x∈S,x只属于S1,S2,…,Sm中的一个集合Si,则选择Si作为最优化中的一个集合Si。 Φ},COVER0={S1,S2,…,Sm}; 第一步:如果S1,S2,…,Sm中的一个集合Si=S,则COVER=COVER+{Si},停止。 第二步:如果存在x∈S,x只属于S1,S2,…,Sm中的一个集合Si,则COVER=COVER+{Si},COVER0=COVER0-{Si},S=S-{Si}。 第三步:如果存在两个集合Si?Sj,则COVER0=COVER0-{Si}。 第四步:如果存在两个元素x,y∈S,满足Sn(x) ?Sn(y),则S=S-{y}。 第五步:如果上述四个条件都不满足,则选择一个基数最大的集合Si,COVER=COVER+{Si},COVER0=COVER0-{Si},S=S-{Si},返回第一步。 下面以例1的数据为例来详细说明本算法的求解过程。 第一步:不满足完备策略1、2、3,现在看是否满足策略4,现列出包含每个元素的集合序列: Sn(0)=S1 S2 S7 S8 Sn(1)=S1 S2 S6 Sn(2)=S1 S5 Sn(3)=S1 S3 S6 S8 Sn(4)=S1 S3 S7 S9 Sn(5)=S2 S3 S4 S6 Sn(6)= S2 S3 S4 S6 S7 S8 Sn(7)=S2 S3 S4 S6 S9 Sn(8)=S5 S7 Sn(9)=S4 S5 由上可知存在两个元素5、7∈S,满足Sn(5) ?Sn(7),故S=S-{7}= {0、1、2、3、4、5、6、8、9}。 删除元素7后的集合序列变为: S1={0,1,2,3,4}; S2={0,1, 5,6};S3={3,4,5,6}; S4={5,6,9};S5={2,8,9};S6={1,3,5};S7={0,4,6,8}; S8={0,3,6};S9={1,4} 第二步:不满足完备策略1、2,但满足完备策略3,即存在两个集合 S9?S1,故COVER0=COVER0-{S9},即COVER0={S1 S2 S3 S4 S5 S6S 7S8}。 第三步:四个完备策略都不

文档评论(0)

snj01 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档