10 复杂性理论高级专题.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主要内容 10.1 近似算法 10.2 概率算法 BPP类、素数性、只读一次的分支程序 10.3 交错式 交错式时间与交错式空间、多项式时间层次 10.4 交互式证明系统 图的非同构、模型的定义、IP = PSPACE 10.5 并行计算 一致布尔电路、NC类 、P 完全性 10.6 密码学 密钥、公钥密码系统、单向函数、 天窗函数 近似算法 最优解:在实践中,找到绝对最好的解通常较为困难,而且可能用户并非一定要找到某个问题的绝对最好的解。 近似算法(approximation algorithm) :一个接近最优的解可能已经足够好,而且可能更容易找到。 顾名思义,近似算法是为寻求这种近似最优解而设计的。 顶点覆盖问题 若 G 是无向图,则 G 的顶点覆盖是结点的一个子集,使得G 的每条边都与子集中的结点之一相关联。 最优化形式(MIN-VERTEX-COVER):在所有可能的顶点覆盖中找到一个最小的顶点覆盖。 最小顶点覆盖的一个近似算法 下述多项式时间算法近似地解这个最优化问题,它给出一个顶点覆盖,其大小不超过最小顶点覆盖的大小的 2 倍。 最小顶点覆盖的一个近似算法 A 的运行时间显然是多项式界限的。 设 X 是它输出的顶点集合,H 是有标记的边的集合。因为G 的每一条边要么属于 H,要么与 H 中的一条边相邻,因此 X 与 G 的所有边关联,因此 X 是一个顶点覆盖。 证明 X 的大小不超过最小顶点覆盖 Y 的大小的2倍。 X 的大小是 H 的 2 倍 H 不大于 Y k-优算法 如果一个最小化问题的近似算法总能找到不超过最优解 k 倍的可行解,则称这个算法是 k-优的。 对于最大化问题,一个 k-优近似算法总能找到不小于最优解大小的 1/k 的可行解。 最大割集 把顶点集 V 划分成两个不相交的子集 S 和 T, 称为无向图中的割(cut)。 一个顶点在 S 中,另一个顶点在 T 中的边对称作割边(cut edge)。如果一条边不是割边,则称作非割边。 割边的数目称作割的大小。 MAX-CUT 求输入图 G 中的最大割。 最大割集的近似算法 B =“对于输入 G,这里 G 是顶点集为 V 的无向图: 1) 令S = ? 和 T = V。 2) 如果把一个顶点从 S 移到 T 或从 T 移到 S,使割的大小变大,则做这样的移动,并且重复这一步。 3) 如果不存在这样的顶点,则输出当前的割并且停止。” 该算法从一个(假定是)坏的割开始,然后做局部改变,直到不能进一步做局部改进为止。虽然这个过程一般不能给出最大的割,但是可以证明,它给出的割的大小至少是最大割大小的一半。 最大割集的近似算法 割的大小不超过 G 的边数,故 B 是多项式时间的。 证明 B 输出的割X至少包含 G 中的所有边的一半。 X 的每个顶点的割边= 非割边。 X 的所有顶点的割边数和 = X 的割边总数×2。 X 的所有顶点的非割边数和 = X的非割边总数×2。 X 的割边数和= X的非割边数和 X 的割边数 = G的所有边数/2 G 的所有边数=最大割边数 主要内容 10.1 近似算法 10.2 概率算法 BPP类、素数性、只读一次的分支程序 10.3 交错式 交错式时间与交错式空间、多项式时间层次 10.4 交互式证明系统 图的非同构、模型的定义、IP = PSPACE 10.5 并行计算 一致布尔电路、NC类 、P 完全性 10.6 密码学 密钥、公钥密码系统、单向函数、 天窗函数 米凯尔·拉宾 (Michael O.Rabin) 非确定性有限状态自动机理论的开创者。 1976年度的图灵奖获得者(与斯科特共同获得)。 波兰数学家普里斯伯克在1930年提出一个命题:只包括自然数相加运算的数学系统是完备的,即这样的系统在图灵机上都是可计算的。因此这被称为普里斯伯格算术系统,不少计算机科学家试图编写出能证明这个系统中的定理的计算机程序。 1974年拉宾指出,这是极其困难而无法实现的。 他认为应该放弃的只是以完全确定的方式去获得结果的企图,但完全可以利用随机性以某种方式很快获得结果,这种结果可能出错,然而出错的可能性微乎其微,也就是说可以把概率算法(probabilistic algorithm,或叫随机算法,randomize algorithm)用到这类问题中来。 概率算法 所谓概率算法,就是带有随机操作的一类算法。这种算法在计算的某一步或某些步产生符合规定要求的随机数,然后根据产生出韵随机数决定下一步的计算。 例如,在计算的某一步有两种选择:执行 A 或执行 B。此时随机产生一个 0 或 1。若产生的是 0 则执行 A,若产生的是 1则执行 B。 根据掷一枚硬币的结果 (正面或反面) 决定下

文档评论(0)

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

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

1亿VIP精品文档

相关文档