Lecture 11. Introduction to Space Complexity 空间复杂性引入
定义 。若图灵机 一定停机,且对于长度为 的输入,至多使用 个纸带的格子,那么就意味着图灵机 runs in space 。若非确定性图灵机 的所有分支都必定停机,且对于长度为 的输入,每个分支都至多使用 个纸带的格子,那么 也是 runs in space 的。
定义:
- .
- .
- .
- .
时间复杂性强调了单带,这里空间复杂性没有。
这里空间复杂性并不是指的额外空间占用,而是总共的空间占用。那么问题来了, 等亚线性是什么情况?亚线性空间的都是使用两个纸带的模型。一个纸带是输入的,只读;另一个纸带随便。
时空复杂性的关系
定理:对于所有的 ,都有 。
证明:runs in steps 的图灵机,不可能使用超过 个纸带格子。反之,能使用 个纸带格子的图灵机,至少需要运行 步,但也不能消耗超过 的时间(假设不死循环, 代表格局的数量)
推论:。但是注意 的不一定在 中。
定理:。但是注意 的不一定在 中。
证明:只需先证明出:
- 。
- 归约,若 且 ,那么就能推出
定义:。。
,。
。
但是目前学术界不知道,是否 ,或者是否 。
通常认为的关系是:

事实上,以后还将指出:。
TQBF 问题
量词(quantifier) 包括 和 。
定义 quantified Boolean formula(QBF)表示开头具有 或 修饰的布尔式子。所有布尔变量都在作用域 scope 内。有的 QBF 是真的,有的是假的。
- 真
- 假
定义问题 。根据定义,刚刚两个式子:
不难发现, 问题就是仅含有 的 问题。
定理:。
证明:设计一个图灵机 。 "On input :"
- 若 不具有量词,那么 就不含变量。所以 的形式就是 或 。直接输出
- 若形式是 ,那么分别令 和 ,递归地计算 。若任意一个计算接受了,就接受。否则就拒绝。
- 若形式是 ,那么分别令 和 ,递归地计算 。若两个计算都接受了,就接受。否则就拒绝。"
接下来分析这个的空间占用。
每一层的递归,都要消耗常数级别的空间来记录 的值。而递归的深度,不会超过量词的个数,于是也就不会超过 。故,。
Ladder 问题
ladder 是指,一堆由长度相等的字符串(而不是字符)构成的数组(序列),且每一个相邻的字符串,仅有一个字符不同。(有点像格雷码呢)
比如,这个 WORK 到 PLAY 的序列就是一个 ladder:

A word ladder for English is a ladded of English words.
Let be a language, a ladder in is a ladder of strings in .
定义: 。
定理:
证明思路比较简单:(注意图灵机无法存储序列,且必须停机)。
该非确定性图灵机 "对于输入 :"
- 若 直接拒绝
- 令 ,令
- 重复以下步骤至多 次:
- 非确定性的修改 当中的一个符号
- 若修改后的 则直接拒绝
- 若修改后的 则接受
- 如果已经运行了 步还没有接受,那么也拒绝。"
这台图灵机虽然步骤 3 消耗的时间达到了指数级别,但是它的额外空间占用始终是线性级别(存储当前串串 和运行上限次数 )的。故 .
定理:
考虑一个简化的问题:。
构造图灵机: "对于输入 ,
- 令
- 对于 的情况,若 且 的编辑距离在 以内,则接受,否则决绝
- 对于 的情况,对于每个 中长度为 的串串 ,重复以下步骤(枚举语言中所有指定长度的串串):
- 递归地检查:是否能 且 (二分)
- 若两边的调用都接受了,就接受,否则继续
- 拒绝(所有检查都失败了)"
那么,对于 的判定,就可以转化为 ,其中 。
空间分析:每一层消耗 的空间来记录单词(选择的 是谁),递归总共 层,故空间复杂度是 。