有一种简单的方法可以解决这个问题吗?我可以通过查看图灵机的图表找到它是否是一个决策者?
答案 0 :(得分:2)
决策程序是停止所有输入的计算机。 There is no general way to prove whether a given machine halts on all inputs
如果您有特定的计算机,您可以尝试正式证明所有执行路径都停止。例如,如果机器的读头总是在每次转换时向右移动(从不离开),并且在没有更多输入时停止,则对于所有有限输入,机器将停止。一个更简单的例子是只有一个状态的机器:停止。
答案 1 :(得分:0)
TM决定语言L iff 1-字符串L将M置于接受状态 2-字符串NOT IN L将M置于拒绝状态
TM M识别语言L iff 1-字符串L将M置于接受状态 2-字符串NOT IN L. - 使M进入拒绝状态 - 或导致M循环
@Wanhui乔 你说的是“两个国家之间的TM变化,两个州既不接受也不拒绝国家,这个图灵是否可以判定?” 然后它肯定是无限的,即它进入循环,这是图灵可识别。答案 2 :(得分:0)
你可以证明一般
DECIDER_tm = { <M> : TM M is a decider } is undecidable.
通过矛盾证明。假设它是可判定的,让R
成为DECIDER_tm
的决策者。
使用S
作为子例程,为HALT_tm
构建R
决策程序。
S = on input <M,w>
1. construct M_w = " on input x"
run M on w
if M accepts accept. if M rejects reject.
2. Run R on M_w
3. If R accept => accept, if R rejects => reject.
请注意,如果M
接受或拒绝w
,M_w
会暂停所有输入,R
会接受,因为M_w
是决策者。如果M
上w
循环,M_w
在所有输入上循环,R
拒绝M_w
。
我们为HALT_tm
建立了一个决策者,因为我们知道HALT_tm
是不可判定的,我们的假设是错误的=&gt; DECIDER_tm
是不可判定的。