近似算法理论分析.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.854 高级算法 第 12 讲:2003 年 10 月 20 日 教师:Erik Demaine, David Karger 记录员: Jason Eisenberg 近似算法 12.1 简介 到目前为止,我们已经学习了很多可以在多项式时间内高效解决的问题,我们可以很快 速的解决这些问题。然而,在下面几讲,我们将考虑一些不知道如何高效解决的问题。 12.1.1 NP-完全性问题 在学习这些问题的时候,我们会遇到这个概念 NP-完全性。NP-完全性问题是由很多组 合和最优化问题组成,这些问题都有两个共同点: 没有很高效的算法;然而,我们可以在指数时间内解决这些问题。 有高效的缩影存在于所有其他的 NP-完全性问题中;因此,如果我们有一个黑盒, 它能解决其中的一个问题,那么我们就能够高效的解决所有的问题。 下面就列举了一些 NP-完全性问题的例子。除了 SAT 的每一个问题都可以被阐明为最 优化问题,尽管严格来说,它取决于每一个问题的 NP-完全性。另一方面讲,存在一个与 SAT 相关的最优化问题,称为 MAXSAT 。在这个问题中,我们给出一个布尔公式,我们必 须找到一些变量的赋值来最大化的满足子句。 可满足性问题(SAT) :给定一个布尔公式,是否存在一个变量的赋值使得它满足此公式 (即使公式的值为真) ? 装箱问题:给定一些箱子和物品,这些物品有着特定的大小,这些箱子有着一定的容积, 求出能容纳这些物品的所需的最小箱子数。 最大独立子集问题:给定一个图,找出节点的最大子集,使得在这个子集中没有两个节 点是相互连接的。 背包问题:给定一个能容纳一定大小的背包和一些物品,这些物品有着特定的大小和价 值,求出此背包能容纳的最大价值量。 并行机器调度问题:给定一组相同的机器和一组任务,这些任务都有特定的所需时间, 求如何分配任务给这些机器,使得所有的机器完成分配给它们的任务所需的时间最小。 旅行商问题:找出一个最短路径使得旅行商从一个城市出发,最后又回到该城市,并且 要求每一个城市只能经过一次。 所有的这些问题不能依赖于这个假定 P≠NP 高效的解决。尽管这个推测还没有被证明, 但是我们可以相信它是正确的,所以我们可以简单的假定 P≠NP。 12.1.2 解决 NP-完全性问题 如果我们不知道如何高效的解决 NP-完全性问题,那我们应该怎么做呢? 启发式:一种可能性就是放弃寻求多项式算法,取而代之的是集中开发启发式的算法, 它在实践中接近于多项式的时间复杂度。但是一般来说,很难找到低于指数级的算法,达到 这样的目标是有分歧的(关于 P 和 NP 问题是否相同) 。 一般情况分析:与其分析这些算法的最坏情况下的性能,我们不如分析某一类特定输入 下的算法行为。这取决于某些特定输入实例的分布情况。但是,使用不同的分布又会有很大 的差别。 近似算法:我们试图找到多项式时间的近似算法,它们被证明是近似正确的。 12.2 最优化问题 在我们讨论近似算法之前,我们必须为最优化问题定义一些术语。 定义 1 一个最优化问题有一组问题实例(problem instances) 。 定义 2 每一个实例I 都有一个解集S (I ) 。 定义 3 最大/最小化问题就是找到一个解s ∈S (I ) ,能达到最大/最小化的目标值f (s) 。我 们假定f 的输入和输出都是整数( 由多项式级的位数组成) 。 定义 4 实例I 得到的最优解值f (s) ,用OPT (I ) 表示。 12.1.1 给出的每一个最优化问题的例子都符合这个最优化的结构。例如,最大独立子集 问题。每一个问题实例都是一个图;图的解集都是由节点的所有子集组成,在每个子集中, 没有两个顶点是互相连接的。解的值就是在这个子集中的节点的个数。 尽管我们喜欢把这些最优化问题归于 NP-完全性问题,但是这个术语经常为决策(判定 问题) 问题所保留。所以,我们用NP-难这个概念来代替。 定义 5 如果一些其他的 NP-难问题能够在多项式的时间内解决,那这样的最优化问题称为 NP-hard 。 一般情况下,NP-hard 问题对应于决策问题,它的最优解 OP

文档评论(0)

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

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

1亿VIP精品文档

相关文档