计算复杂性——第九章

本章主要证明某些问题的确是难解的

1.空间层次定理

1. 空间可构造
空间可构造函数 f f f:如果存在一个图灵机M,使对M输入任何字W时,其总停机,且停机时纸带上至多有f(n)个单元非空,同时在整个计算过程中没有用到f(n)之外的其他单元。 f f f至少是O(logn)级别的,可以是 l o g 2 ( n ) , n l o g 2 ( n ) , n 2 log_2(n),nlog_2(n),n^2 log2(n),nlog2(n),n2.

在这里插入图片描述
在这里插入图片描述
输入 n n n个1,在 O ( f ( n ) ) O(f(n)) O(f(n))空间内,计算出 f ( n ) f(n) f(n)的结果,以二进制表示在输出带子上。 n 2 n^2 n2的话可能需要三个 O ( n ) O(n) O(n)的空间做自乘运算。

2. 空间层次定理
对于任何空间可构造函数 f f f,存在一个语言(问题)A,可以在 O ( f ( n ) ) O(f(n)) O(f(n))空间复杂度内判定,却不能在 o ( f ( n ) ) o(f(n)) o(f(n))空间复杂度内判定。
在这里插入图片描述
通俗的讲,在空间可构造的前提下,空间越大,可以解决更多的问题。
另一种叙述方式:
在这里插入图片描述
3. 重要结论
在这里插入图片描述
由萨维奇定理, P S P A C E = N P S P A C E PSPACE = NPSPACE PSPACE=NPSPACE,因此我们只需要证明 N L ⊊ N P S P A C E NL\subsetneq NPSPACE NLNPSPACE即可。又对数空间是严格小于多项式空间的,由空间层次定理, N L ⊊ P S P A C E NL\subsetneq PSPACE NLPSPACE

2. 时间层次定理

1. 时间可构造
输入 n n n个1,在 O ( t ( n ) ) O(t(n)) O(t(n))空间内,计算出 t ( n ) t(n) t(n)的结果,以二进制表示在输出带子上。即对于输入 n n n,输出 t ( n ) t(n) t(n),至多执行 t ( n ) t(n) t(n)步。至少为 n l o g n nlogn nlogn的所有常见函数都是时间可构造的。

2. 时间层次定理
对于任何空间可构造函数 f f f,存在一个语言(问题)A,可以在 O ( t ( n ) ) O(t(n)) O(t(n))空间复杂度内判定,却不能在 o ( t ( n ) / l o g ( t ( n ) ) ) o(t(n)/log(t(n))) o(t(n)/log(t(n)))空间复杂度内判定。可能存在更紧的界,但是目前我们无法证明。

要严格的小于下界,才能够说明真包含关系。
在这里插入图片描述
相当于除以多项式,给出了一个更松的下界,因此结论成立。
在这里插入图片描述

3. E X P S P A C E EXPSPACE EXPSPACE完全

  1. 广义(可以带求幂操作)正则表达式等效问题( E Q R E X ↑ EQ_{REX\uparrow} EQREX
    由于是 E X P S P A C E EXPSPACE EXPSPACE完全的,在 E X P S P A C E EXPSPACE EXPSPACE中最难的问题,因此不能再多项式时间判定,也不能在多项式空间判定(空间层次定理),只能在指数空间内判定。

Note: 正则表达式等效问题( E Q R E X ∈ P S P A C E EQ_{REX} \in PSPACE EQREXPSPACE
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2. 判定一个语言是 E X P S P A C E EXPSPACE EXPSPACE完全的
在这里插入图片描述

4. 相对化

可以使用对角化方法证明 E Q R E X ↑ EQ_{REX\uparrow} EQREX是难解的

  1. 运用相对化方法说明对角化方法不能证明P和NP的关系
    核心思想是: 找到两个oracle A、B, P A P^A PA N P A NP^A NPA是不同的,但是 P B P^B PB N P B NP^B NPB是相等的。如果对于任意oracle, P A P^A PA N P A NP^A NPA都是相同的,则可以说明 P = N P P=NP P=NP;如果对于任意oracle, P B P^B PB N P B NP^B NPB都是相同的,则可以说明 P = N P P=NP P=NP。因此,通过模拟无法分开 P P P N P NP NP,必须通过分析的方法。

在相对化中,假设存在一个黑盒(oracle,神谕),可以一步解决可满足性问题。这样的假设是针对于特殊问题提出的,因此叫相对化(相对于某个特殊问题)。

语言A的oracle是一种能够报告任何字符串 w w w是否是A的成员的设备。具有查询 A A A语言功能的图灵机。
在这里插入图片描述
具有多项式时间查询 A A A语言功能的确定性图灵机和非确定性图灵机。
在这里插入图片描述

N P ⊆ P S A T NP\subseteq P^{SAT} NPPSAT,进一步 c o N P ⊆ P S A T coNP\subseteq P^{SAT} coNPPSAT
假设: P S A T P^{SAT} PSAT中包含除 P P P之外的语言,同理 N P S A T NP^{SAT} NPSAT中包含除 N P NP NP之外的语言

两个布尔公式是等价的:

  • 两个布尔公式拥有相同的变量集合
  • 相同赋值集上,结果结果相同
    在这里插入图片描述

M I N − F O R M U L A ‾ \overline{MIN-FORMULA} MINFORMULA似乎不属于 N P NP NP,尽管我们无法证明。但是, M I N − F O R M U L A ‾ ⊆ N P S A T \overline{MIN-FORMULA}\subseteq NP^{SAT} MINFORMULANPSAT
证明:
在这里插入图片描述
在这里插入图片描述
先利用非确定图灵机找出长度更小的公式,然后利用SAT oracle进行问题转化后,检查是否真的相等。

5. 电路复杂性

为什么要建立图灵机和布尔电路之间的联系

  • 布尔电路可能为解决P和NP问题,提供了简便的计算模型
  • 布尔电路可以提供SAT是NPC问题的另一种证明

想法:通过电路来测试语言的成员资格,但是电路的输入长度一般是固定的,而输入成员的长度一般都是不固定的,因此我们用电路族来检验。电路组中的某个电路,负责固定长度成员的检验。
在这里插入图片描述

电路的大小: 电路中包含的门的数量
电路的深度: 电路中从输入到输出最长路径中的边数
电路等效: 如果两个电路的输入变量相同,且对任意相同的输入赋值,得到的输出相同
一个电路的最小尺寸电路: 找不到大小更小的电路与它等效
一个电路的最小深度电路: 找不到深度更小的电路与它等效
最小尺寸电路族: 电路族中的每一个电路都是最小尺寸电路
最小深度电路族: 电路族中的每一个电路都是最小深度电路

电路尺寸复杂度: 用电路尺寸函数 f f f来刻画
在这里插入图片描述

最小化电路问题是难解的,甚至检测一个电路是不是最小电路也不属于 P P P N P NP NP

一个语言的电路(尺寸)复杂度:该语言对应的最小尺寸电路族的尺寸复杂度
一个语言的电路(深度)复杂度:该语言对应的最小深度电路族的尺寸复杂度

一个语言拥有较小的时间复杂度,同样则会有较小的电路复杂度。
在这里插入图片描述
上述定理提供了一种 P ≠ N P P\neq NP P=NP的解决:
在这里插入图片描述
布尔电路可满足的:某些输入的设置让电路的输出为1,即可以满足的。
在这里插入图片描述
是NPC问题,且3SAT问题也是NPC问题。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值