通常假设图灵机不存在从终态出发的转移。 被图灵机接受的语言称为递归可枚举语言

图灵机的停机

若对于某个 ID,图灵机不存在合法移动,则称图灵机停机,ID 称为停机格局。

  • 到达终态后总是停机
  • 对于不接受的串,图灵机不一定能停机,还可能有无限个推导

对所有输入都能停机的图灵机称为判定器

  • 可以被判定器接受的语言称为递归语言
  • 递归语言是递归可枚举语言的真子集

Theorem

为递归语言当且仅当 均为递归可枚举语言(RE)

  • 是否所有语言都是递归可枚举语言?
  • 是否所有递归可枚举语言都是递归语言?
  • 如果 是递归可枚举的但不是递归的,则 不是递归可枚举的
    • 不是递归的 不是递归的

图灵机的编码

假定图灵机:

  • 输入字母表为
  • 为初态, 为终态
  • 为 0, 为 1,
  • 分别代表

对于转移规则 ,可以编码为 所有转移规则合并为 ,可以视为图灵机的编码。

非递归可枚举语言

任意 编码,表示一个二进制数 代表编码为 的图灵机

  • 如果 不是有效的图灵机编码,则视为一个有状态但没有转移的图灵机, 上的递归可枚举语言的集合为 是一个可数集,但 上所有语言的集合为 ,是一个不可数集,因此非递归可枚举语言必然存在。

对角语言

,则 ,则 ,矛盾 因此 为非递归可枚举语言。

非递归语言的递归可枚举语言

图灵机和输入串可以编码为 ,记为 定义通用语言

可以构造一个图灵机 ,使得 ,模拟图灵机 判断是否接受 ,称这样的图灵机为通用图灵机

Theorem

是递归可枚举的,但不是递归的

如果 是递归的,则 也是递归的。设 ,则可以构造图灵机 ,使得 ,矛盾

问题与归约

对应的问题是给定一个串 ,判定 是否成立

  • 问题必须找到有限编码的输入

通用语言 对应的问题:任给图灵机 和输入串 是否接受 图灵机停机问题:

可判定性

一个问题对应的语言是递归的,则称问题是可判定的,否则是不可判定的。

  • 不是递归的,因此图灵机接受问题是不可判定的。

归约

若存在 算法,使得 ,则称 可以归约到

  • ! 算法必须是有限步的

  • 至少有 这么难

  • 如果 是可判定的,则 也是可判定的

  • 如果 是递归可枚举的,则 也是递归可枚举的

  • 常用于证明 是困难的:将某个困难的问题 归约到

图灵机接受问题可以归约到图灵机停机问题: 对于实例 ,构造 ,使得对于接受的串停机,对于不接受的串无限循环,则 的答案与 的答案相同,该构造是一个算法。

  • 因此停机问题是不可判定的

记 RE 是所有递归可枚举语言的集合(递归可枚举语言类),递归可枚举语言的性质是 RE 的一个子集 ,若 是 RE 的非空真子集,则称 非平凡性质。 语言 在某个性质的集合中,就说 具有某种性质。 是否具有某种性质的问题,就是 的图灵机 的编码是否在语言 中的问题。

Rice 定理

有关递归可枚举语言的任何非平凡性质都是不可判定的。

  • 图灵机的语言是否非空的问题是不可判定的
  • 同理递归可枚举语言是否为空或正则语言或上下文无关语言也是不可判定的
  • 不可判定的是语言 的性质,对应的问题应该只涉及语言

PCP 问题

PCP 的一个实例包含同一字母表上的两组字符串,,称 PCP 的该实例有解当且仅当存在整数序列 使得

  • PCP 问题是不可判定的
  • 可将 归约到 PCP

构造 CFG ,包含以下产生式:

可知 PCP 的该实例有解当且仅当 G 是歧义的,即 PCP 可以归约到问题是否一个给定的 CFG 是歧义的

时间复杂性

对任何长为 的输入串 可在最多 步内停机,则称 的时间复杂度为

P & NP

P & NP

若问题 满足存在一个图灵机 使得 的时间复杂度 为多项式,则称该问题是 P 问题,即 L 属于 P 若问题 满足存在一个非确定型图灵机 使得 的时间复杂度 为多项式,则称该问题是 NP 问题,即 L 属于 NP

  • P NP

如果问题 可以在多项式时间内归约到问题

  • 为 P 问题,则 也是 P 问题
  • 是 NP 问题,则 也是 NP 问题
  • 不是 P 问题,则 也不是 P 问题
  • 不是 NP 问题,则 也不是 NP 问题

NP 完全问题

为 NP 完全问题当且仅当

  • 是 NP 问题
  • 是任一 NP 问题,则 可以多项式时间归约到
  • 是 NP 问题, 是 NP 完全问题, 可多项式时间归约到 ,则 也是 NP 完全问题
  • NP 问题可以理解为可以在多项式时间内验证答案是否正确的问题
  • 若可以证明某个 NPC 问题是 P 问题,则可以证明 P = NP(即容易验证的问题均是容易解的问题)

NP 难问题

若可以证明 满足条件 2,但不能证明条件 1,称 是 NP 难问题

难度:NP 难 > NP 完全 NP > P

SAT 问题

任给一个布尔表达式,它是否是可满足的?

Cook 定理

SAT 是 NP 完全问题