网站大量收购独家精品文档,联系QQ:2885784924

集合覆盖问题一种随机近似算法的研究.docVIP

集合覆盖问题一种随机近似算法的研究.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
集合覆盖问题的一种随机近似算法研究 摘 要:集合覆盖问题(SCP)是运筹学中最基本的组合问题,本文给出了集合覆盖问题的一种随机近似算法。给定的子集的集合S和S中每个子集的权值,带权的集合覆盖问题是从S中选择费用和最小的子集使得其并集覆盖E。对E中每一个未被覆盖的元素,以某一精心设计的概率分布选择包含该元素的子集,直到E中所有元素均被覆盖,算法结束。 关键词:随机算法;近似算法;集合覆盖 1.引言 自从集合覆盖问题提出以来,相继有很多学者利用不同思想提出了很多不同的算法,这些算法主要分为完整算法和启发式算法。完整算法基本上建立在分支定界基础上。通过比较和分析,Caprara等人认为CPLEX算法是求解SCP最好的完整算法。但如果问题规模比较大时,其时间代价会非常高。而启发式算法则以牺牲解的精度来取得较好的时间复杂度,在可接受的时间内找到一个最优近似解。在实际问题中,最优近似解一般也能够满足现实的要求。 与上述确定算法不同,本文从概率的角度给出了集合覆盖问题的一种随机算法。由于算法的随机性,每次运行输出的覆盖都是随机的,本文证明了算法所求覆盖费用的期望值不超过最优覆盖的B倍,其中 。算法每次运行输出的覆盖都可能不同,因此,可以多次运行该算法得到一系列覆盖,从中选择费用最小的,该覆盖很可能接近最优解,甚至可能就是最优解。本算法的时间复杂度是线性的,这为算法的多次运行奠定了基础。另外,当B较小的时候,本文算法可以给出比当前结果较优的解。 2.算法 (1)设为n个元素的集合,S= 为E的子集的集合。所谓E的覆盖是S的一个子集C,C中元素的并集为E。经典的集合覆盖问题欲求E的一个覆盖C,使得C在E的所有覆盖中所含元素个数最少。 形式化描述为 输入:集合E= ,S= 输出:,使得,且最小。 (2)带权的集合覆盖问题则是更一般的情况。 仍设 ,对有一个非负权值叫,表示选择所需要的费用,覆盖C的费用为C中元素权值的和,相应地,问题的输出是求最小费用的覆盖。形式化描述为 输人: 输出:,使得。且最小化. (3)带权集合覆盖问题的随机近似算法(Algorithm WSC_RA)如下。 输入:带权重的集合覆盖问题的一个实例(E,S,W)。 输出:集合覆盖C。 第一步:以任意顺序排列E中的元素; 第二步: ①选择下一个元素; ②从中随机选择x,使得 ③ ④ 第三步:return C。 注意到,包含元素多的集合被选中的概率较大,而在每一轮循环中,算法以较大概率选择权重较小的集合。 3.算法近似比的分析 定理1假设,其中 ,那么算法WSC_RA是一个在期望意义下近似比为B的近似算法。 首先固定输入实例(E,S,W)中元素被试探的顺序,并假设是(E,S,W)的一个最优覆盖,通过WSC_RA算法得到的解C是S的一个随机子集。 定义1 对于任意s,定义如下一个变量X 令表示X的期望值。表明了集合s实际对覆盖C的贡献,并且变量的分布和的值在执行算法WSC_RA之前已经确定,那么算法的输出结果和期望权重可以表达为 现在的目标是适当地把算法WSC_RA的分析一般化。考虑在中的集合,本文将证明这些集合是C的主要组成部分。用另外的参数表示这部分元素。 定义2 令为算法WSC_RA计算出的集合,同时这些集合在最优解中。 因为在算法执行之前就已经确定了,显然有 因此 并且因为。,所以有 定理2 ,即算法输出解C的期望值至多是期望权重的B倍。 证明: 首先通过在集合覆盖实例上做的一个游戏来描述定理的证明。假设集合覆盖实例在开始时,每个的初始资本为,这些权重是在算法执行之前确定的,那么S中集合所有的资本的总和正好是算法的输出结果的期望权重。 假设存在一个全局策略,在该策略下,每个集合s∈S可以分配它的全部资本到它所包含的元素上,并且每个元素能够从包含它的集合(即L(e))中接收到相同数量的资本。然后,每个元素e向在中并且包含它的集合(即)归还它所接收的资本。因此,如果L(e)中仅有一个集合,即,那么所接收到的资本是它所分配给e的资本的倍;如果,那么e向中的每一个集合所归还的资本必然少于该集合所分配给e的资本的倍;如果L(e)中所有的集合都在中,那么e向中的每一个集合所归还的资本恰好等于该集合所分配给e的资本。 不难看出,经过上述处理后,每个在中的集合的资本至多增加至原来资本的倍,而没有在中的集合破产了(资本为O)。由此可以看出,现在S中的所有资本至多是开始时元素所拥有资本的B倍。因为每个集合s开始时 所拥有的资本为,可以用下式表示 这个表达式与定理2中的表达式是等价的。 现在唯一需要说明的是,上述把资本分配到元素的资本分配策略是存在的,为什么存在这样的分配策略呢?考虑每个集合s∈S,如果它所包含的元素中有一个把它选择到覆盖C中,那么它才会在覆盖C中。因此,

文档评论(0)

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

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

1亿VIP精品文档

相关文档