空间复杂性学习笔记(space complexity)
来源:互联网 发布:数据使用保密协议范本 编辑:程序博客网 时间:2024/06/06 04:53
1)空间复杂性类
SPACE(f(n)):SPACE(f(n))={L|L是O(f(n))空间的确定型图灵机判定的语言}
NSPACE(f(n)):NSPACE(f(n))={L|L是O(f(n))空间的非确定型图灵机判定的语言}
2)SAT属于PSPACE类(见第4条)问题,SAT可以在多项式空间的复杂度内判定->O(n)。
3)萨维奇定理
对于任何函数f(f(n)>=logn),其中f(n)>=n,则有:SPACE(f(n))⊆NSPACE(f2(n))。
该定理表明确定型机器可以用非常少的空间模拟非确定性机器。
4)PSPACE类
PSPACE是在确定型图灵机上、在多项式空间内可判定的语言类。
(P类的定义:P是确定型单带图灵机在多项式时间内可判定的语言类。)
5)PSPACE与P和NP的关系
显然,P⊆PSPACE,因为运行快的机器不可能消耗大量的空间。更精确地说,当t(n)>n时,由于在每个计算步上最多能访问一个新单元,因此,任何在时间t(n)内运行的机器最多能消耗t(n)的空间。
同样NP⊆NPSPACE,所以NP⊆PSPACE。
则有:P⊆NP⊆PSPACE=NPSPACE⊆EXPTIME
6)PSPACE完全性(PSPACE-complete)
语言B是PSPACE完全的,若它满足下面两个条件:
a. B属于PSPACE;
b. PSPACE中的每一个语言A多项式时间可归约到B。
7)PSPACE完全性的例子
a)TQBF是PSPACE完全的。
证明 首先,给出一个判定TQBF的多项式空间算法:
T=“对输入<ø>”,ø是一个全量词化布尔公式:
1.若ø不含量词,则它是一个只有常数的表达式。计算ø的值,若为真,则接受;否则,拒绝。
2.若ø等于∃xψ,在ψ上递归地调用T,首先用0替换x,然后用1替换x。只要有一个结果是接受,则接受;否则,拒绝。
3.若ø等于∀xψ,在ψ上递归地调用T,首先用0替换x,然后用1替换x。若两个结果都是接受,则接受;否则,拒绝。
b)博弈的必胜策略
c)广义地理学
===到目前为止我们只考虑了时间和空间复杂性界限至少是线性的情况,即界限f(n)至少是n。现在考虑更小的亚线性空间界限。===
===对于亚线性空间采用两带模型,即具有两条带的图灵机,一条只读输入带和一条读写工作带。===
8)L类和NL类
a) L是在确定型图灵机在对数空间内可判定的语言类,换言之,L=SPACE(logn);
b) NL是非确定性图灵机在对数空间内科判定的语言类,换言之,NL=NSPACE(logn)。
PATH属于NL类问题(PATH是指判断有向图中指定点s到t是否存在一条路径的问题,注意,路径是无重复点边的walk)。
9)NL完全性(NL-complete)
语言B是NL完全的,如果
a)B∈NL,并且
b)NL中的每个A,对数空间可约到B。
10)对数空间转换器与对数空间可约性
对数空间转换器(log space transducer)是有一条只读输入带、一条只写输入带和一条读写工作带的图灵机。工作带可以包含O(logn)个符号。对数空间转换器M计算一个函数f:∑*->∑*,其中f(w)是把w放在M的输入带上启动M运行,到M停机时输出带上存放的字符串。称f为对数空间可计算函数。
如果语言A通过对数空间可计算函数 f 映射可归约到语言B,则称A对数空间可规约到B,记为A≦LB。
11)PATH是NL完全的。
参见:http://zh.wikipedia.org/wiki/%E8%90%A8%E7%BB%B4%E5%A5%87%E5%AE%9A%E7%90%86
12)NL⊆P
13)NL等于coNL
------
shenlan211314@gmail.com
http://blog.csdn.net/shenlan211314
http://datasearch.ruc.edu.cn/shenlan211314
- 空间复杂性学习笔记(space complexity)
- Time Complexity and Space Complexity
- 数据结构, 时间复杂性, 空间复杂性
- 【D3D11游戏编程】学习笔记二十四:切线空间(Tangent Space)
- 【D3D11游戏编程】学习笔记二十四:切线空间(Tangent Space)
- 3D数学 学习笔记(9) 凹凸映射(bump mapping)和切线空间(tangent space)
- 算法的基础知识( Time Complexity & Space Complexity& Big O notation)
- Performance Measure of Algorithms(2)--Space Complexity & Time Complexity
- Analysis of Computational Complexity and Space Complexity (NN algorithem)
- Complexity:一个测量 C 代码复杂性的工具
- 算法学习笔记--3.Binary Search & Algorithmic Complexity
- 《python》学习笔记(Day4),数据存为字典,提升数据处理;使用类,降低复杂性
- Unity学习笔记(一)----Space Shooter
- Unity学习笔记(二)----Space Shooter
- Unity学习笔记(三)----Space Shooter
- 算法学习(一)---复杂性分析
- Time and Space Complexity of Recursive Algorithms
- 设计模式学习笔记(二):模式、设计与复杂性
- eax ...edi esp ebp寄存器简介(转)
- linux 环境变量详解
- C++写的集合的交叉并
- C++写的集合的交叉并
- VS生成过程的管理
- 空间复杂性学习笔记(space complexity)
- 值传递 引用传递的生活案例
- TIFF图像文件格式详解(2)
- 将mysql数据库设置成utf8编码时插入查询中文乱码终极解决方案
- ASP.NET 2.0缓存技术探讨
- 年份的加减运算符重载C++Code
- 推荐的C++书籍以及阅读顺序
- [转帖]ASP.NET下的MVC与MVP
- 腾讯陈军:腾讯云平台与技术实践分享