15、图灵机:理论、变体与语言可判定性

图灵机:理论、变体与语言可判定性

1. 非确定性图灵机

图灵机可以是非确定性的,这意味着机器定义中可能包含左侧相同但右侧不同的规则,例如:

(1, b) → (2, b, R)
(1, b) → (3, c, H)

非确定性事件会将原始世界“分裂”成多个平行世界,在每个世界中做出一种可能的决策。若至少有一个世界中的图灵机接受输入字符串(不考虑输入磁带内容),最终决策为“接受”;否则为“拒绝”。

在编程实践中,构建图灵机(确定性或非确定性)通常用处不大。但当需要确定图灵机是否能解决某个问题时,创建非确定性图灵机并利用其与确定性图灵机计算能力的等价性会更简单。

例如,判断输入数字是否为合数。可以使用非确定性图灵机,步骤如下:
1. 约定磁带上的数字用一元码表示。
2. 设计一个计算两个数字乘积的图灵机片段。
3. 创建一个生成整数的非确定性元素,在每个世界中向磁带写入不同数量的点。
4. 按照以下算法工作:
- 在磁带上生成两个数字。
- 相乘并写下结果。
- 如果结果与被测试数字匹配,转移到接受状态。

这种方法理论上是正确的。如果数字是合数,非确定性图灵机在某个世界中能生成两个乘积等于该数字的数;如果是质数,图灵机可能会永远尝试寻找不存在的因子,但可以通过小修改限制生成数字的范围。

2. 图灵机变体

为了简化解决某些问题的机器构建过程,图灵机有一些常见的扩展,但这些扩展不会增加图灵机的计算能力(即不扩展可识别语言的范围)。 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值