复杂性理论高级专题(学生讨论PPT素材).docVIP

复杂性理论高级专题(学生讨论PPT素材).doc

  1. 1、本文档共40页,可阅读全部内容。
  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文档。上传文档
查看更多
复杂性理论高级专题(学生讨论PPT素材)

第10章 复杂性理论高级专题 (学生讨论PPT素材) 作为教学科研的基本训练的一个重要环节,学生应该能根据教材,作出有自己特色的PPT发言稿. 这里提供一些素材,试图减小学生的工作难度。 PPT不能仅仅是剪报。一份好的讨论班PPT 应该有同学的理解和创新. (素材节选自教材 但不能代替教材) 从素材作PPT一般 需要用 读 --减 ---加 三个过程。 先充分阅读理解 教材, 从此素材中删去次要语句, 增加自己的心得,理解方法,解释和图形。 PPT应该突出思路,突出要点, 适当的比喻可以帮助理解。 10. 1 近似算法 例如,我们考虑7.5节所讨论的顶点覆盖问题。顶点覆盖问题被描述为一个表示判定问题(decision problem)的语言VERTEX-COVER。判定问题只有两个答案,是或非。该问题的最优化形式记作MIN-VERTEX-COVER。任意给定一个图,其目标是在所有可能的顶点覆盖中找到一个最小的顶点覆盖。下述多项式时间算法近似地解这个最优化问题。它给出一个顶点覆盖,其规模不超过最小顶点覆盖的2倍。 A=“对于输入G,这里G是一个无向图: 1)重复下述操作直至G中所有的边都与有标记的边相邻。 2)在G中找一条不与任何有标记的边相邻的边。 3)给这条边做标记。 4)输出所有有标记的边的顶点。” 定理10. 1 上述的算法A是一个多项式时间算法,它给出G的一个顶点覆盖,其规模不超过G的最小顶点覆盖的2倍。 证明 A的运行时间显然是多项式时间的。设X是它输出的顶点集合,H是有标记的边的集合,因为G的每一条边要么属于H,要么与H中的一条边相邻,所以X与G中所有的边关联。因此,X是一个顶点覆盖。 为了证明X的规模不超过最小顶点覆盖Y的2倍,我们要确认两个事实:X中顶点的数目大小是H的2倍和H不大于Y。首先,H中的每一条边为X提供2个顶点,从而X中顶点的数目大小是H的2倍。其次,Y是一个顶点覆盖,从而H中每一条边与Y中的某个顶点关联。由于H中的边互不相邻,故Y中的顶点不可能同时关联H中的两条边。由于Y中有不同的顶点关联H中的每一条边,所以顶点覆盖Y不小于H。因此,X中顶点的数目大小不超过Y的2倍。 MIN-VERTEX-COVER 是一个最小化问题(minimization problem),因为我们的目标是求可行解中最小的解。在最大化问题(maximization problem)中,我们试图求最大的解。如果一个最小化问题的近似算法总能找到不超过最优k倍的可行解,则称这个算法是k-优(k-optimal)的。前面关于顶点覆盖问题的算法是2优的。对于最大化问题,一个k-优近似算法总能找到不小于最优解大小的的可行解。 下面是最大化问题MAX-CUT的近似算法。把顶点集V划分成两个互不相交的子集S和T,称为无向图中的割(cut)。一个顶点在S中另一个顶点在T中的边对称作割边(cut edge)。如果一条边不是割边,则称作非割边(uncut edge)。割边的数目称作割的大小。MAX-CUT求输入图G中的最大割。正如在问题7.25中的所说明的,该问题是NP完全问题。下述算法近似MAX-CUT到因子2的范围内。 B=“对于输入〈G〉,这里G是顶点集为V的无向图: 1)令和。 2)如果把一个顶点从S移到T或从T移到S,使割的大小变大,则做这样的移动,并且重复这一步。 3)如果不存在这样的顶点,则输出当前的割并且停止。” 该算法从一个(假定是)坏的割开始,然后做局部改进,直到不能进一步做局部改进为止。虽然这个过程一般不能给出最大的割,但是可以证明它给出的割的大小至少是最大割大小的一半。 定理10. 2 上述的算法B是MAX-CUT的2-优的多项式时间近似算法。 证明 由于每次执行步骤2增加割的大小,而割的大小不超过G的边数,故B在多项式时间内运行。 现在证明B输出的割不小于最大割的一半。实际上,要证明更强的结论:B输出的割至少包含G中所有边的一半。观察到,在G的每一个顶点,割边不少于非割边,否则B要把该顶点移到另一边。把所有顶点的割边数加在一起,这个和是割边总数的2倍,因为每一条割边对它的两个端点各计算一次。根据前面的观察,这个和不小于所有顶点非割边数之和。于是,G中的割边不少于非割边,从而B输出的割中至少包含所有边的一半。 10. 2 概率算法 概率算法以随机过程为工具。典型算法包含一条“掷硬币”的指令,并且掷硬币的结果可能影响算法后面的执行和输出。对某些类型的问题,相对于确定型算法,用概率算法更容易解决。 10.2.1 BPP类 为了更为形式化地讨论概率计算问题,这里首先定义一个新的计算模型—概率图灵机。然后本节介绍一个与高效的概率计算相关的复杂性类并给出几个例子。

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档