理论计算机科学中的计算模型与复杂度类
在计算机科学的理论研究中,对于计算的本质和效率的探索是核心问题。理论计算机科学在这方面有着独特的地位,尤其是在量子计算的研究上。早期,图灵等先驱在实际计算机诞生之前就对形式计算进行了深入研究,如今虽然大规模量子计算机尚未成为现实,但对量子可计算性和复杂度的理论分析已取得了显著进展。
1. 确定性和非确定性计算
理论计算机科学探讨的基本问题是“什么是可计算的”,但这需要明确是依据哪种计算模型。在不考虑效率的情况下,足够复杂的形式计算模型可以相互模拟。为了便于研究,我们选择图灵机模型。
1.1 确定性图灵机
确定性图灵机是一个 6 元组 $M = (Q, \Sigma, q_{start}, q_{accept}, q_{reject}, \delta)$,其中:
- $Q$ 是有限状态集;
- $\Sigma$ 是包含空白符号 # 的非空有限字母表;
- $q_{start}$、$q_{accept}$、$q_{reject}$ 是 $Q$ 中的元素;
- 转移函数 $\delta : Q \times \Sigma \to Q \times \Sigma \times {L, R}$。
对于给定的 $q \in Q$ 和 $\sigma \in \Sigma$,若 $\delta(q, \sigma) = (q’, \sigma’, D)$,表示图灵机在状态 $q$ 遇到符号 $\sigma$ 时,将符号 $\sigma$ 替换为 $\sigma’$,向 $D$(左或右)移动一格,并进入状态 $q’$。也可以将 $\delta$ 重写为 $\delta’ :
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



