可规约性: 一个基本方法,可用来证明问题是计算上不可解的。规约是将一个问题转化为另一个问题的方法,使得可以用第二个问题的解来解第一个问题。
如从波士顿到巴黎履行问题可规约到买这两个城市之间的飞机票问题。这个问题又可规约到挣得买飞机票钱的问题。数学问题中也有可规约性。例如测量一个矩形面积问题可规约到测量它的高和宽问题。解线性方程组问题可规约到求矩阵的逆问题。
6.1 语言理论中的不可判定问题
定理6.1 是不可判定的。
证明 为得到矛盾,假设TM T判定,由之可以构造TM S来判定,其构造如下:
S = 在输入上,此处是TM M和串的编码:
在输入上运行TM R。
如果R拒绝,则拒绝。
如果R接受,则在上模拟M,直到它停机。
如果M已经接受,则接受;如果M已经拒绝,则拒绝。”
显然,如果R判定,则S判定。因为是不可判定的,故也是不可判定的。
定理6.2 是不可判定的。
另一个与图灵机有关的计算问题也很有意思,该问题是:给定一个图灵机和一个可由某个更简单的计算模型识别的语言,检查图灵机是否识别此语言。例如,令时间差一个给定的图灵机是否有一个与之等价的有穷自动机问题,则这个问题与检查一个给定的图灵机是否识别一个正则语言问题相同。设
定理6.3 是不可判定的。
可类似的证明,检查一个图灵机的语言是不是下列语言都是不可判定的:上下文无关语言、可判定语言甚至有限语言。事实上,关于这个问题有一个更一般性的结果,称为赖斯定理。它指出:检查关于语言的任何一个性质是否可由图灵机识别都是不可判定的。
利用计算历史的规约
定义6.5 设M是一个图灵机,是一个串。M在上的一个接受计算历史是一个格局序列,其中是M在上的起始格局,是M的接受格局,且每个都是的合法结果,即符合M的规则。类似地,M在上拒绝格局...
线性界限自动机(LBA) 是一种收到限制的图灵机,他不允许其读写头离开包含输入的带区域。如果此机器试图将它的读写头移出输入的两个端点,则读写头就待在原地不动。
普通图灵机读写头不会离开带子的左端点。
引理6.7 设M是有q个状态和g个带符号的LBA。对于长度为n的代码,M恰有个不同的格局。
定理6.8 是可判定的
利用定理6.7构造L
定理6.9是不可判定的
利用计算历史规约技术。
使用计算历史规约技术还能建立有关上下文无关文法和下推自动机问题的不可判定性。
6.2 一个简单的不可判定问题
PCP:波斯特对应问题。
定理6.11 波斯特问题是不可判定的。
6.3 映射可归约性
“用映射可归约性将问题A规约到问题B”指的是,存在一个可计算函数,它将问题A的实例转换成问题B的实例。
6.3.1 可计算函数
定义6.12 函数 是一个可计算函数,如果有图灵机M,使得在每个输入上,M停机,且此时只有出现在带上。
6.3.2 映射可归约性的形式定义
定义6.15 语言A是映射可规约到语言B的,如果存在可计算函数使得对每个,