我一直在寻找网络,我发现有些矛盾的答案。有些消息来源声称,只有当它有和有条件和无条件分支(我猜这是多余的)时,语言/机器/你拥有的是什么 - 有些人说只有无条件是必需的,只有条件是必需的。是否有条件地支持图灵完备性的要求?
德国Z3(显示在1941年5 工作)是由康拉德楚泽的设计。它 是第一个通用数字 电脑,但它是 机电,而不是 电子,因为它使用继电器的所有 功能。它使用 逻辑计算二进制数学。它可由 穿孔带编程,但缺少 条件分支。虽然图灵完备性没有设计为 ,但是它意外地发现了 ,因为它在1998年被发现为 (但是要利用这个 图灵完备性,复杂的,巧妙的 黑客是必要的)。
什么复杂的,聪明的黑客,究竟是什么?
1998年的论文摘要由R.罗哈斯还说(请注意,我没有读过本文,它只是从IEEE片段):
计算机Z3,通过 康拉德楚泽建在1938年至1941年之间, 只能执行在打孔带中编码的固定序列 浮点算术运算 (加法,减法, 乘法,除法和方形 根)。从 计算的历史观点看, 有趣的问题是 是否足以进行通用计算的这些操作是 。 该文件显示,实际上,包含这些 算术指令的单个程序循环可以模拟 其磁带为 给定有限尺寸的任何图灵机。这是通过模拟条件分支的 和纯粹的 算术手段间接寻址完成的。因此Zuse的Z3是 因此,至少在原则上如 通用,因为如今的计算机 具有有限的寻址空间。
总之,SOers,图灵完备性究竟需要什么类型的分支?假设无限存储器,只有goto
或jmp
分支构造(没有if
或jnz
构造)的语言才可以被认为是图灵完备的?
我喜欢你的答案,但是当机器不能算术时会发生什么?或者,如果机器有点让人想起ZISC?谢谢! – 2010-11-05 06:02:09
定义“算术”。通常的定义至少包括增加。 (第二)Rojas机器没有添加,只有INC(他还讨论了不需要DEC)。无论如何,我无法提供一个证明,证明没有条件指令的ZISC将会或不会图灵完成;我个人认为它不会。 – 2010-11-05 06:11:40
谢谢你的洞察! – 2010-11-06 04:07:26