无法确定 TM 是否会覆盖其输入?
Undecidable if TM overwrites its input?
我看到一个声明,假设 TM 是否覆盖了它自己的任何输入是不确定的。
直觉和实际证据是什么?
证明:
构建一台机器 B
,将一台机器 A
作为输入,并在不干扰输入字符串(描述 A
的字符串)的情况下对其进行模拟。这个不难。
现在构建机器 C
,B
的修改版本。如果 A
暂停,C
将覆盖输入字符串;在此之前,它将保持输入字符串不变。
为了确定 C
(作用于 A
)是否曾经覆盖其输入字符串,必须确定 A
是否曾经停止。但是“A
是否停止”是不可判定的,因此“C
是否会覆盖其输入”也是不可判定的。
直觉:
使用图灵机,几乎任何不容易的事情都是不可能的。
我看到一个声明,假设 TM 是否覆盖了它自己的任何输入是不确定的。
直觉和实际证据是什么?
证明:
构建一台机器 B
,将一台机器 A
作为输入,并在不干扰输入字符串(描述 A
的字符串)的情况下对其进行模拟。这个不难。
现在构建机器 C
,B
的修改版本。如果 A
暂停,C
将覆盖输入字符串;在此之前,它将保持输入字符串不变。
为了确定 C
(作用于 A
)是否曾经覆盖其输入字符串,必须确定 A
是否曾经停止。但是“A
是否停止”是不可判定的,因此“C
是否会覆盖其输入”也是不可判定的。
直觉:
使用图灵机,几乎任何不容易的事情都是不可能的。