- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种求解带权集合覆盖问题的近似算法
第29卷第6期 温 州 大 学 学 报 ·自然 科 学 版 2008年 12月
V0ll29.NO6 JournalofWenzhouUniversity ·Natural Sciences Dec.2008
一 种求解带权集合覆盖问题的近似算法
张馨东,罗 亮
(兰州交通大学,甘肃兰州 730070)
摘 要:以优化形式描述的集合覆盖问题是一个 NP难问题,设计快速有效的近似算法,具有重要的
理论与现实意义.基于贪心算法思想,提出了一种求解带权集合覆盖问题的近似算法,并讨论了该算
法的相对近似比.
关键词:带权集合覆盖;贪心算法;相对近似比
中图分类号:0242.2 文献标识码:A 文章编号:1006—0375(2008)06—0046—03
工业领域里的许多实际问题都可建模为集合覆盖 问题,如资源选择问题、设备选址 问题等.带
权问题的集合覆盖问题可描述为:给定一个包含n个元素的集合X ,F包含 X 的m个子集,即
F={l,.-.,S ..,S),Si(1f )为X的子集.对每个子集 f,定义一个权值w(o),
带权的集合覆盖问题的 目标是找出一个F 的子集C,使得C覆盖整个 X ,并使其权值最小.即
X=US
S.∈C
min∑w(Sf)
S.∈C
集合覆盖问题是一个 NP完全问题…,还没有多项式时间精确算法,实际应用中往往不要求
一 定得到精确解,因此可以考虑设计出近似多项式时间算法,使该解的目标函数值在某种性能比
的定义下,保证是近似最优的【.对于很多问题,利用贪心算法的思想 可以得到性能较好的近
似算法.文献[4]提出了一种随机近似算法.本文借鉴了按密度 (价值/重量)贪心的策略,提出
一 种近似算法.
1算 法
籽 腿 如下鞑 得南 、,
将 nX 中的元素从X 中去掉,并选取下一个集合,直到X被完全覆盖.算法设计为:
GreedyPowSetCover(X,F)
(1) X
(2) C
(3)whileU ≠ do
收稿 日期:2008—05—06
作者简介:张馨东(1984一),男,甘肃陇西人,硕士研究生,研究方向:算法设计与复杂性
张馨东等:一种求解带权集合覆盖问题的近似算法 47
(4)selecta th zes
(5) —
(6)C CU )
(7)return C
2相对近似比的分析
对于 以上设计的算法有下面的定理成立.
定理 解带权集合覆盖问题的GreedyPowSetCover(X,F)算法是多项式时间的Or4XI+1)一
近似算法。
证明:假设C是由算法GreedyPowSetCover(X,F)得到的集合,C 是最优解集合.设 表
示第f个被算法选中的集合,权值为W ,将之分配给该集合中第一次被选中的元素.以 表示
∈X分配到的权值,在 第一次被覆盖时,权值为:
W
’
则wrc=∑ .其中 表示集合c覆盖X后得到的权值,亦即近似最优解A(,).对最优解集
C 中的集合,依照算法GreedyPowSetCover(X,F)的取法依次取入,于是有
∑∑W ∑∑Wx= ,即
S∈C iS ∈X XEX
∑∑ .
下面估计』W 的大小.
_
对S∈F,令Uf=lS一(1US2U…uSi)I表示算法GreedyPowSetCover(X,F)选择
Sl,S2,…,Sf后集合S中未被覆盖的元素个数,令 是使 =0的U 的第一个下标,使得S中每
一 个元素被S1,S2,..·,S其中的一个覆盖,可知UH Uf,且S中元素 H —Uf是
文档评论(0)