Google的Turing Doodle是哪种类型的自动机?


10

为了庆祝阿兰·图灵(Alan Turing)诞辰,Google发布了涂鸦,展示了一台机器。Doodle是哪种机器?可以表达图灵完整的语言吗?

与经典图灵机有明显的区别:有限的磁带,如何连接状态的约束,...

涂鸦仍然在这里可用 涂鸦的屏幕截图

(右上角的显示显示了预期的输出。)

中间的磁带被分成可以容纳一个空白,零或一个的正方形。头位于一个正方形上方,用于读取和写入。

在磁带下方,您可以看到一个绿色箭头,您可以单击该箭头以启动机器。旁边有两圈圆,其中一些圆是相连的。我称它们为“州”。

机器启动后,绿色按钮右侧的第一个状态会亮起,然后右侧的下一个状态会亮起,依此类推...每种状态都包含以下命令之一:

  • 空白=不执行任何操作(只需移至下一个状态)
  • 1 =在磁头的当前位置向磁带上写一个
  • 0 =在磁头的当前位置将零写入磁带
  • 向左箭头=将头向左移动一步
  • 向右箭头=向右移头
  • 条件:如果头部下方的值等于方块中所示的值,则转到状态的第二行。如果不是,请移至右侧的下一个状态
  • 左跳:返回到(固定)先前状态,但仅在上一行[我最初忘了那个,谢谢@Marzio!]

无法“重叠”两次跳跃(一次越过)。当机器离开某个状态并且其右侧没有下一个状态时,机器将停止。

(在机器停止后,将磁带的内容与显示屏的内容进行比较,但是我不认为这是机器预期功能的一部分。)


9
当然是图灵机!en.wikipedia.org/wiki/Turing_machine也许您很困惑,因为转换系统很时髦。
哈克贝内特2012年

控制引擎中还有一个“左跳操作员”,它可以返回到上一个位置,但只能返回上一行;此外,没有办法“重叠”两次跳跃(一次越过另一次)。如果没有跳转操作员,则该机器等效于DFA(控制引擎中的动作从左到右“执行”),但是如果使用有限的跳转操作员,则该机器似乎不足以模拟LBA(但我没有)不要考虑太多)。在每种情况下,由于磁带是有限的,因此不可能是图灵完整的。
Marzio De Biasi 2012年

1
@Marzio De Biasi:您说对了,这个难题包含跳转指令,如果没有跳转指令,该模型显然非常薄弱,因为一台机器只能运行恒定的时间。(我不确定您所说的“等同于DFA”是什么意思。)您对跳转说明施加的限制可能会改变答案。“磁带是有限的”可能是一个错误的假设。
伊藤刚(Tsuyoshi Ito)2012年

Google会保持其Doodle作品可用(尽管显然并不总是交互式版本)。
拉斐尔2012年

@TsuyoshiIto:我的意思是(但也许我错了),给定一台没有循环的机器,您可以构建一个模拟它的DFA。如果您允许在两个方向上任意跳跃并且可以重叠,那么即使只有两行(状态可以水平“平展”),机器也会立即“完成跳跃”(假设是无限的磁带)。我不知道如果您允许跳可以重叠(但仅在第一行)和任意数量的行(但较低行的控件只能向上或向下)会发生什么。对于cs.stackexchange.com来说,这也许是个好问题
Marzio De Biasi

Answers:


10

假如说:

  • 我们可以添加任意数量的行(“状态行”)
  • 行可以任意长
  • 磁带是无限的

M4

atdoodle

...因此,即使AT的Doodle 可能没有图灵完成(由于仅在第一行提供非重叠的仅左跳转运算符),它的功能也足够强大,可以走出(不确定)可判定性的细线:- d

编辑:图灵涂鸦已完成

(我在上面留下了前面的答案,因为我不确定这部分是否正确:-)

我认为,即使只留下一个不重叠的跳跃,图灵涂鸦也能完成图灵!。(简单的)想法是使用磁带本身来存储当前状态,并使用多个单元格来表示较大的字母。

例如,可以使用以下磁带表示来模拟2状态8符号TM:

    HEAD POSITION
    v
...[s][b2 b1 b0] [_][b2 b1 b0] [_][b2 b1 b0] ....
   ^^^^^^^^^^^^^
    "macro cell"

图灵涂鸦可以:

  1. s
  2. b2,b1,b0
  3. 输入下一个符号,将头移到左侧或右侧的“宏单元”,并在其下存储下一个状态;在下图中,这些操作(可以使用向左/向右移动和写操作在一系列单元格上完成)称为“ MW”;
  4. 最后将控件转移到上一行,只需左跳一次即可将控件返回到步骤1。

完整图片在这里

TdoodleTC

TMDM


不!你打败我了!我只是在写如何在状态空间而不是磁带中创建任意TM。但是,您的方法更好,因为它仅使用一次跳转。做得好!等一下,您的机器如何接收输入?
Artem Kaznatcheev

@ marzio-de-biasi很好!
pepper_chico 2012年

1
@ArtemKaznatcheev:它接收磁带上的输入;显然,您必须将其编码为要模拟的TM的原始字母符号,并留出空白以表示状态。
Marzio De Biasi 2012年

初级商标alen turing。我很喜欢读这篇文章
iDroid 2012年

没有完全说服re TM的完整性。不要以为您处理了TM写入先前未在输入磁带上定义的新空白方块的情况。这是TM完整性所必需的,否则仅是有限的计算。
vzn

5

机器配有贯穿其的“胶带”(类似于纸张),并分成多个部分(称为“正方形”),每个部分都可以带有“符号”。在任何时刻,只有一个正方形,即第r个,带有“在机器中”的符号S(r)。我们可以称这个正方形为“扫描正方形”。扫描方块上的符号可以称为“扫描符号”。可以说,“扫描符号”是机器中唯一可以“直接识别”的符号。但是,通过更改其m配置,机器可以有效记住以前“看到”(扫描)的一些符号。机器在任何时刻的可能行为由m组态qn和扫描的符号S(r)决定。这对qn,S(r)将被称为“配置”:因此,配置确定了机器的可能行为。在某些扫描方块为空白(即不带任何符号)的配置中,机器会在扫描方块上写下新的符号:在其他配置中,它将擦除扫描的符号。机器也可以更改要扫描的正方形,但只能将其左右移动一个位置。除了这些操作中的任何一种,都可以更改m配置。写下{232}的某些符号将形成数字序列,该数字序列是正在计算的实数的十进制数。其他只是“辅助记忆”的粗略注释。只有这些粗略的注释才有可能被删除。机器上会在扫描的方块上写下新的符号:在其他配置中,它会删除扫描的符号。机器也可以更改要扫描的正方形,但只能将其左右移动一个位置。除了这些操作中的任何一种,都可以更改m配置。写下{232}的某些符号将形成数字序列,该数字序列是正在计算的实数的十进制数。其他只是“辅助记忆”的粗略注释。只有这些粗略的注释才有可能被删除。机器上会在扫描的方块上写下新的符号:在其他配置中,它会删除扫描的符号。机器也可以更改要扫描的正方形,但只能将其左右移动一个位置。除了这些操作中的任何一种,都可以更改m配置。写下{232}的某些符号将形成数字序列,该数字序列是正在计算的实数的十进制数。其他只是“辅助记忆”的粗略注释。只有这些粗略的注释才有可能被删除。写下{232}的某些符号将形成数字序列,该数字序列是正在计算的实数的十进制数。其他只是“辅助记忆”的粗略注释。只有这些粗略的注释才有可能被删除。写下{232}的某些符号将形成数字序列,该数字序列是正在计算的实数的十进制数。其他只是“辅助记忆”的粗略注释。只有这些粗略的注释才有可能被删除。

我认为这些运算包括所有用于数字计算的运算。当读者熟悉机器的原理时,这种争辩的辩护将变得更加容易。因此,在下一节中,我将继续进行理论的发展,并假设已理解“机器”,“磁带”,“扫描”等的含义。

这摘自图灵原始论文“关于可计算数字,并应用于Entscheidungsproblem”。

我推荐的这篇论文的现代好伴侣是Charles Petzold的《带注释的图灵》

如您所见,Google只是试图模仿类似于图灵的描述的机器。

编辑:假设Google的TM完整字母是单击兔子图标后在游戏结束时显示的字母,并从它产生无限序列这一事实出发,得到了更多的行和列(因此我们可以假设我们可以添加任何),在任何行上都有左跳(并且还有重叠的左跳)在相邻的行之间有条件的和无条件的跳转,我认为这是图灵完成的


但是他们有没有实施图灵机?这个磁带有一定的限制,所以这是一个显而易见的区别。会有所作为吗?他们实际上使用了较弱的机器吗?
bjelli 2012年

2
@bjelli好吧,我不能保证,因为因为我没有设计它,所以我不知道有关他们机器的所有规则。但是,如果您进入游戏的决赛,则可以单击“兔子”图标,这会导致您走到更长的磁带,请在此处检查分析结果:sbf5.com/~cduan/technical/turing。因此,机器可获得的行数可能没有限制,这将导致您使用任何尺寸的磁带。
pepper_chico 2012年

plz绘制了一个证明其图灵完成的证据
vzn 2012年

4

在难题中,两行都允许跳跃,但不能重叠。在游戏结束时的最后一个兔子序列涂鸦中,它们允许在每一行上跳跃,并且可以在方括号中嵌套它们,因此允许[[]],但似乎不允许[[]]。

我将使用以下假设:

  1. 01ϵ
  2. 机器可以使用任何固定数量的线
  3. 任何行都允许左跳(我将在每行上使用一次左跳)
  4. ϵ01

基于这些假设,Google Doodle Machine是Turing Complete

01ϵ01n

3(n1)+15n+1

Google Doodle机器

ϵ01ϵ0101

GDM对TM进行如下模拟:

  1. 1
  2. j
  3. ϵ01
  4. ϵ
  5. 01
  6. 01

选择您喜欢的通用TM并在上述过程中实施它以获得通用GDM。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.