- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Design and Analysis of Algorithm算法设计与分析 朱大铭 教授 山东大学计算机学院 dmzhu@sdu.edu.cn 第八章 近似算法设计技术 8.1 组合技术 Max-SAT问题的2近似性能比算法 Max-k-SAT问题的 1+1/k近似性能比算法 1+1/(2k-1)近似性能比算法 集合覆盖问题O(logn)近似性能比算法 8.2 线形规划技术 顶点覆盖问题的2近似性能比算法 集合覆盖问题的f近似性能比算法 8.3 原始对偶技术 8.4 局部搜索技术 Max-3-SAT问题的4/3近似度局部搜索算法 8.5 随机近似算法 Max-SAT问题的4/3近似度随机算法 第一讲 组合技术 Max-SAT问题的2近似性能比算法 Max-k-SAT问题的 1+1/k近似性能比算法 1+1/(2k-1)近似性能比算法 集合覆盖问题O(logn)近似性能比算法 设含有字母ui的项集合为C[ui]?C,含有字母 的项集合为C[ ]?C。 显然,若一个项既含有ui又含有 ,则无论ui赋T或F均能使该项满足,因此假设C[ui] ? C[ ]=?。 若|C[ui]|?|C[ ]|,则指派ui为T,可使C[ui] 中的所有项全部满足;否则,指派ui为F,可使C[ ]中的所有项满足。因此总可给出ui恰当的赋值使C[ui] ? C[ ]中至少一半的项满足。 ui赋值后,无论其它变量如何赋值,已经满足的项仍然能保证满足;不能满足的项只能依靠其它变量的赋值才能满足。 合取范式最大可满足贪心算法Max-SAT(U,C) 对任一变量 如果含有其本身的项不少于含有其反变量的项 该变量赋值为T。 将其反变量从所有项中删除。 将所有已满足的项从项集合中删除。 如果含有其本身的项少于含有其反变量的项 该变量赋值为F。 将该变量本身从所有项中删除。 将所有已满足的项从项集合中删除。 直到所有变量都被赋值 算法Max-SAT(?)的近似性能比不超过2。 证明:设 MaxSAT(U,C)表示算法求得的真值指派能满足的项数。 OPT(U,C)表示U的真值指派最多能满足的项数。 显然OPT(U,C)?n。我们对布尔变量数目n进行归纳,以证明 MaxSAT(U,C) ?n/2。 n=1时,显然成立。 假设n?k-1时结论成立。 n=k时,算法对u1的真值指派至少满足1/2*|C[u1]?C[ ]|个项。 u1赋值后的项集合C1中不含有u1及其反变量。根据归纳假设,Max-SAT(?)对u2?un的赋值使可满足的项不小于: 1/2*|C1|。所有算法满足: MaxSAT(U,C)? 1/2*|C[u1]?C[ ]| + 1/2*|C1|=n/2 从而算法的近似性能比不超过2。 二、Max-K-SAT问题 如果对Max-SAT问题的输入子句加以限制,使得每个子句都至少含有k个布尔变量字母,则得到的子问题为Max-K-SAT。 当K?1时,所有的Max-K-SAT问题都是NPC的。 下面的算法是Johnson于1974年设计的。 Johnson’s Max-k-SAT(U,C)贪心算法(一) 设SU=?,True=?,Left=C,Lit=U ? , 如果Lit中的任一变量都不出现在Left的任意子句中,则结束。 设y为Lit中的某变量字母,满足在Left中包含y的子句最多。YT为该包含Y的子句的集合。 SU=SU?YT,Left=Left-YT, True=True?{y}, Lit=Lit-{y, }。 转第2步。 注意,上述算法中的y可以为某ui,也可为ui的反变量,并且默认反变量的反变量为变量本身。 算法Max-k-SAT(U,C)的近似度不大于1+1/k 证明: 每次将变量y添加到True集合中,肯定满足|C[y]|?|C[ ]|。 称|C[ ]|中的项为被y伤害的项。 算法结束时,如果某个项未能满足,则该项受伤害的次数为其含有的变量个数。从而,总的受伤害的次数至少为:k*|Left|。 所以有|SU|? k*|Left|。则有:|C|= |SU|+|Left|?(1+1/k)|SU|。 A tight example for k=3: S={{x1,x2,x3},{ ,x4,x5},{ ,x
您可能关注的文档
最近下载
- 职称技术工作报告范文.docx VIP
- (2021年品管圈活动成果报告书)降低ICU患者身体约束率.docx VIP
- 解读学习2025《党政机关厉行节约反对浪费条例》培训课件.pptx VIP
- 《咏物诗》-公开课件.ppt VIP
- 品管圈QCC降低ICU患者约束缺陷率.pptx VIP
- 《党政机关厉行节约反对浪费条例》(2025)附新旧对照解读课件.pptx VIP
- 安徽单招考试2025、2025分类考试真题语文数学英语试题(含答案).pdf VIP
- 保证农民工工资及时支付的措施.docx VIP
- 2024届高考语文复习:诗歌鉴赏之题材 咏物言志诗 课件(共33张PPT).pptx VIP
- 手外伤急诊手术护理配合.pptx VIP
文档评论(0)