是字典图灵完备



"字典"是指具有唯一键的键/值对数组。如果没有,为什么?如果足够长,您可以将键用作输入,将值用作输出,它可以根据需要解决任意数量的问题。它可以"计算"任何东西,只要它足够长以容纳所有可能的输入。只要确定输入将具有一定数量的位,就不需要无限。因此,如果我们同意输入将是 X 位,那么您只需要一个包含 2^X 项的字典,并且您拥有所有可能的图灵机,它将 X 位作为输入。

右?好吧,我想我不是,但为什么?

一个简单的图灵机可以添加两个整数 - 任意两个整数。有限字典不能。

编辑:
(我正在编辑我的答案,因为 soandos 提出了一个太好的观点,无法在狭窄的评论框中回答。

问得好!假设我们有一个无限字典,列出 {key, value} 对,其中键是图灵机及其有限输入的所有可能组合(或等价地,通用图灵机的所有可能的有限输入序列),按大小递增的顺序排列。这些值是相应的最终状态,前导位指示 [停止,不停止]。我认为这是图灵完备的。(查找条目的行为非常简单,我认为我们不必争论它)。

停止问题的不可解性在 JSoldi 的字典中有一个等价物:如果我们希望能够查找低于一定大小的任何条目的 [HALT, NOT HALT] 位,我们只需要字典的有限部分。但是要将字典的大部分实现为图灵机,我们需要一台大于该限制大小的机器 - 它的条目不会在字典的那部分。对于任何尺寸的机器,都有一台机器可以回答所有该尺寸机器的停止问题 - 但是台机器更大,所以它无法回答关于它自己的问题。同样,字典的任何有限体积在某个条目中完全重复(实际上,无限多个条目),但该条目不在该卷中。

图灵机将能够使用任何类型的程序计算任何类型的输入,并且不必是固定长度的输入。此外,字典无法选择哪个键/值对与所选程序的输入匹配。

此外,如果你有一个 X 位的输入,你的密钥空间不会是 X^2,而是 2^X。这将适用于单个程序。

事实上,即使你有一个包含无限多个键/值对的字典,我敢打赌,确定你必须选择哪个键所需的逻辑,可能需要图灵机或更复杂的东西来选择键。

图灵完备性与一组规则有关,而不是数据的存储方式。看这里。

最新更新