🧩 七元组定义
标准图灵机模型由以下七元组定义:
$$M = \langle Q, \Sigma, \Gamma, \delta, q_0, B, F \rangle$$
$$Q$$: 有限状态集合
如 $$Q = \{q_0, q_1, q_2, \text{halt}\}$$
$$\Sigma$$: 输入字母表
本实验 $$\Sigma = \{1, +, \times\}$$
$$\Gamma$$: 磁带字母表
$$\Gamma = \{1, +, \times, B, X, Y, \dots\}$$
$$\delta$$: 转移函数
$$\delta: Q \times \Gamma \to Q \times \Gamma \times \{L, R\}$$
$$q_0$$: 初始状态
通常为 $$q_0 \in Q$$
$$B$$: 空白符号
表示磁带上的空单元格
$$F$$: 终止状态集合
$$F \subseteq Q$$,通常包含 $$\text{halt}$$ 状态
⚙️ 转移函数
$$\delta(q, a) = (q', b, D)$$
→
当前状态 $$q \in Q$$
机器当前所处的状态
●
读取符号 $$a \in \Gamma$$
磁头当前位置的字符
✎
写入符号 $$b \in \Gamma$$
覆盖当前单元格的字符
←/→
移动方向 $$D \in \{L, R\}$$
$$L$$ 向左移动,$$R$$ 向右移动
✓
下一状态 $$q' \in Q$$
转移后的新状态
"机器根据当前状态和磁带符号决定下一步动作"
🧩 二进制图灵机定义
基于标准七元组,适配二进制算术运算:
$$M = \langle \{q_0, \dots\}, \{0, 1\}, \{0, 1, +, B, x, y\}, \delta, q_0, B, F \rangle$$
$$\Sigma = \{0, 1\}$$
输入仅接受二进制数字 (0和1)
辅助符号 $$\{x, y\}$$
用于标记已处理的位 (x代表0, y代表1)
💡 运算原理 (Ripple Carry):机器交替读取两个数字的最低位(右端)。 读取右数的一位后,将其擦除,并携带该值向左移动,加到左数对应的位置上,处理进位,然后返回。
⚙️ 当前状态面板
Current State
IDLE
Step
0
Read
-
BIN
ACTION LOG >
等待指令...
当前算术规则集
$$ q_0 \xrightarrow{0/1} R, \quad q_{add} \xrightarrow{Carry} L, \quad q_{return} \xrightarrow{Find \ Y} R $$