![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算复杂性
程勇uestc
电子科大
展开
-
计算复杂性第十章——复杂性高级专题
\quad本章主要内容包括近似算法、概率算法、交互式证明系统、并行计算和密码学。一、近似算法\quad某些NPC问题我们可以用多项式时间得到其近似解。例如最小顶点覆盖问题,我们就可以用如下算法得到一个2倍近似的解:对于图G,我们重复以下操作直至G中所有的边都与标记的边相邻:1.在G中找出一条不与任何有标记的边相邻的边;2.给这条边做上标记。最后输出所有标记的边的顶点即可。\quad上述算法给出的顶点覆盖的规模不超过最小顶点覆盖的2倍,证明如下:1.记H是有标记的边的集合,X是输出的顶点集合,Y是最原创 2020-08-12 14:38:51 · 1706 阅读 · 0 评论 -
计算复杂性第九章——难解性
\quad某些计算问题在理论上可解,但是需要耗费大量时间和空间,这样的问题称为难解的,比如NPC问题。一、层次定理\quad直观感觉:给图灵机更多的时间或空间就能扩大它所能求解的问题类。例如图灵机在O(n3)O(n^3)O(n3)时间内能比其在O(n2)O(n^2)O(n2)时间内判定更多的语言。层次定理可以证明其正确性:时空界限较大的类比较小的类包含更多的语言。空间层次定理\quad对于任何空间可构造函数fff,存在语言A,在空间O(f(n))O(f(n))O(f(n))内可判定,但不能在o(f(原创 2020-08-12 13:08:28 · 2095 阅读 · 0 评论 -
计算复杂性前三章——图灵机等基础知识
一、有穷自动机\quad有穷自动机是能力和资源极其有限的计算机模型。描述一个自动机需要知道它一共有哪些状态,状态之间如何转换(状态之间发生转化的条件就是有新的输入字母),它的起始状态和接受状态是什么,如下图所示:\quad有穷自动机是一个5元组(Q,∑,δ,q0,F)(Q,\sum,\delta,q_0,F)(Q,∑,δ,q0,F),其中1.QQQ是一个有穷集合,称为状态集2.∑\sum∑是一个有穷集合,称为字母表3.δ:Q∗∑−>Q\delta:Q*\sum->Qδ:Q∗∑−&原创 2020-08-11 09:18:31 · 3240 阅读 · 1 评论 -
计算复杂性第八章——空间复杂性
\quad本章使用图灵机模型来度量算法消耗的空间。\quad定义:令M是一个在所有输入上都停机的确定型图灵机,M的空间复杂度f(n)f(n)f(n)是M在任何长度为n的输入上扫描带子方格的最大数。若M的空间复杂度为f(n)f(n)f(n),则称M在空间f(n)f(n)f(n)内运行。\quad两个空间复杂性类:SPACE(f(n))={L∣L是被O(f(n))空间的确定型图灵机判定的语言}SPACE(f(n))=\{L|L是被O(f(n))空间的确定型图灵机判定的语言\}SPACE(f(n))={L原创 2020-08-05 19:56:53 · 2841 阅读 · 0 评论 -
计算复杂性第七章——时间复杂性
一、度量复杂性语言:A={0k1k∣k≥0}A=\{0^k1^k | k\ge 0\}A={0k1k∣k≥0},显然该语言可判定M1M1M1:单带图灵机M2M2M2:更快的单带图灵机M3M3M3:双带图灵机时间复杂度定义:令M是一个在所有输入上都停机的确定型图灵机,f(n)是M在所有长度为n的输入上运行时所经过的最大步数,若f(n)是M的运行时间,则称M在时间f(n)内运行,M是f(n)时间图灵机,n是输入长度。时间复杂性类定义:时间复杂度类TIME(t(n))TIME(t(n))TIME(原创 2020-08-05 15:48:22 · 2489 阅读 · 0 评论