图灵论可计算数字 - 我无法理解如何重现示例
Turing's On Computable Numbers - I cannot understand how to reproduce examples
我最近才开始阅读一些 CS 论文,其中第一篇是图灵的 "On computable numbers",他在其中提供了打印 010101 序列的机器配置示例。我明白它应该如何工作,但我很难理解为什么它在这些操作中有两个 R 动作:
m-config | symbol | operations | final m-config
| None | P0 | b
b | 0 | R, R, P1 | b
| 1 | R, R, P0 | b
如果我开始执行此操作,那么这里有几个第一步:
第一步:P0
结果:
0
第 1 步:R、R、P1
0 1
第 2 步:R、R、P0
0 1 0
第 3 步:R、R、P1
0 1 0 1
所以基本上它工作得很好,但是纸上明确指出这台机器应该打印出 010101
,磁带上没有任何空白。但是因为在打印之后我们总是向右移动两次,这意味着我们总是在磁带上留下一个空白方块。有人可以帮助我了解我做错了什么吗?
图灵这样定义机器计算的序列:
Computing machines.
If an a-machine prints two kinds of symbols, of which the first kind
(called figures) consists entirely of 0 and 1 (the others being called symbols of
the second kind), then the machine will be called a computing machine.
If the machine is supplied with a blank tape and set in motion, starting
from the correct initial m-configuration, the subsequence of the symbols
printed by it which are of the first kind will be called the sequence computed
by the machine.
示例中的机器实际上是在磁带上打印 0B1B0B1B0...
,但它计算的序列被定义为仅由 0 和 1 组成的 0B1B0B1B0...
的子序列,因此 01010...
.
实际上,图灵允许二进制数字之间有空格。
我可耻地承认我从未读过原始论文,但我想这可能用于简化计算:允许数字之间的空白从重新压缩(和无聊)步骤中省去 programmer/mathematicians。
基本上这允许本地暂存器,只要在移动到下一个数字之前擦除它们,您就可以在数字附近使用任意数量的单元格。
我最近才开始阅读一些 CS 论文,其中第一篇是图灵的 "On computable numbers",他在其中提供了打印 010101 序列的机器配置示例。我明白它应该如何工作,但我很难理解为什么它在这些操作中有两个 R 动作:
m-config | symbol | operations | final m-config
| None | P0 | b
b | 0 | R, R, P1 | b
| 1 | R, R, P0 | b
如果我开始执行此操作,那么这里有几个第一步:
第一步:P0
结果:
0
第 1 步:R、R、P1
0 1
第 2 步:R、R、P0
0 1 0
第 3 步:R、R、P1
0 1 0 1
所以基本上它工作得很好,但是纸上明确指出这台机器应该打印出 010101
,磁带上没有任何空白。但是因为在打印之后我们总是向右移动两次,这意味着我们总是在磁带上留下一个空白方块。有人可以帮助我了解我做错了什么吗?
图灵这样定义机器计算的序列:
Computing machines.
If an a-machine prints two kinds of symbols, of which the first kind (called figures) consists entirely of 0 and 1 (the others being called symbols of the second kind), then the machine will be called a computing machine. If the machine is supplied with a blank tape and set in motion, starting from the correct initial m-configuration, the subsequence of the symbols printed by it which are of the first kind will be called the sequence computed by the machine.
示例中的机器实际上是在磁带上打印 0B1B0B1B0...
,但它计算的序列被定义为仅由 0 和 1 组成的 0B1B0B1B0...
的子序列,因此 01010...
.
实际上,图灵允许二进制数字之间有空格。
我可耻地承认我从未读过原始论文,但我想这可能用于简化计算:允许数字之间的空白从重新压缩(和无聊)步骤中省去 programmer/mathematicians。
基本上这允许本地暂存器,只要在移动到下一个数字之前擦除它们,您就可以在数字附近使用任意数量的单元格。