Skip to content

Commit 5a852be

Browse files
authored
Update ab-turing-completeness.md
1 parent 111b7ae commit 5a852be

1 file changed

Lines changed: 21 additions & 21 deletions

File tree

content/Blog/ab-turing-completeness.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ A = B
8282

8383
**解释:**
8484

85-
* 当读头左移时,必须知道左边的符号 $S_p$;
86-
* 左邻符号 + 状态标记 + 当前符号,一起被替换成「新状态 + 左邻符号 + 新符号」;
87-
* 这使得状态标记成功左移,同时完成写入操作。
85+
* 当读头左移时,必须知道左边的符号 $S_p$;
86+
* 左邻符号 + 状态标记 + 当前符号,一起被替换成「新状态 + 左邻符号 + 新符号」;
87+
* 这使得状态标记成功左移,同时完成写入操作。
8888

8989
* **无限带子的处理**
9090
为了模拟“无限长”的带子,需要在两端加哨兵符号 $h$,并加入特殊的延展规则,使得机器在靠近边界时可以“创造”新的空白格子,从而对应无限内存的假设。
@@ -123,35 +123,35 @@ $$
123123

124124
**解释:**
125125

126-
* $L$:读头左边的带内容;
127-
* $R$:读头当前位置以及右边的内容;
128-
* $q_i$:当前状态,只出现一次;
129-
* 两端的 $h$ 是哨兵,确保机器永远不会“掉出带子”。
126+
* $L$:读头左边的带内容;
127+
* $R$:读头当前位置以及右边的内容;
128+
* $q_i$:当前状态,只出现一次;
129+
* 两端的 $h$ 是哨兵,确保机器永远不会“掉出带子”。
130130

131131
2. **生成规则**
132132
对每条转移 $\delta(q_i,S_k) = (q_j,S_l,\text{dir})$,生成对应的 A=B 规则:
133133

134-
* 右移:
135-
$$
136-
q_i S_k \to S_l q_j
137-
$$
134+
* 右移:
135+
$$
136+
q_i S_k \to S_l q_j
137+
$$
138138

139-
* 左移(对所有 $S_p \in \Gamma$):
140-
$$
141-
S_p q_i S_k \to q_j S_p S_l
142-
$$
139+
* 左移(对所有 $S_p \in \Gamma$):
140+
$$
141+
S_p q_i S_k \to q_j S_p S_l
142+
$$
143143

144144
* 遇到带子右端($S_0=\sqcup$):
145-
$$
146-
h q_i S_k \to h q_j S_0 S_l
147-
$$
145+
$$
146+
h q_i S_k \to h q_j S_0 S_l
147+
$$
148148

149149
如果进入停机状态 $q_{\text{halt}}$,没有进一步规则匹配,程序就自然停机。即使没有 `(return)`,停机时当前字符串就是输出。
150150

151151
3. **正确性**
152-
* **唯一匹配位置**:每个串里只有一个 $q_i$,所以只有一个规则能触发;这与 A=B 的“从左到右、按顺序找”完全兼容。
153-
* **一步对应**:每条替换规则严格模拟图灵机的一步(写入、移动、更新状态)。
154-
* **停机**:进入 $q_{\text{halt}}$ 后没有规则匹配,A=B 程序停机。
152+
* **唯一匹配位置**:每个串里只有一个 $q_i$,所以只有一个规则能触发;这与 A=B 的“从左到右、按顺序找”完全兼容。
153+
* **一步对应**:每条替换规则严格模拟图灵机的一步(写入、移动、更新状态)。
154+
* **停机**:进入 $q_{\text{halt}}$ 后没有规则匹配,A=B 程序停机。
155155

156156
因此,A=B 可以模拟任意图灵机,所以它是**图灵完备的**。 $\square$
157157

0 commit comments

Comments
 (0)