为什么N-State繁忙的海狸不能继续向右走?

时间:2017-04-25 01:07:55

标签: algorithm computer-science automata

我正在读关于Busy Beavers但是如果他们有无限的磁带,为什么他们不能无限地打印1到右边?为什么他们必须继续左右?

1 个答案:

答案 0 :(得分:1)

我会稍微详细说明,因为我的评论可能不足以解决您的问题。你有没有建造一个只向右移动的繁忙的海狸?让我们试试N = 2:

  • 状态A,磁带0 ==>写1,向右移动,进入状态A / B(选择你喜欢的任何一个)
  • 状态B,磁带0 ==>写1,向右移动,进入状态A / B(选择你喜欢的任何一个)
  • (磁带1的定义无关紧要,仅向右移动时不会发生)

你可以看到这会写很多!但它永远不会停止,而游戏的规则是写一个停止的图灵机。

所以我们必须修改它以停止:

  • 状态A,磁带0 ==>写1,向右移动,进入状态B
  • 状态B,磁带0 ==>写1,向右移动,进入州HALT
  • (带有1的磁带的定义无关紧要,不会发生这种情况)

但是现在我们可以看到我们的效率低下,完全忽略了很多可用的选项。所以我们向左移动我们的武器库以提高效率。我现在会简写这个符号,希望它会更容易阅读。

  • A,0 => 1,对,B
  • B,0 => 1,左,A(我们必须离开这里以避免永不停止)
  • A,1 => 1,左,B
  • B,1 => 1,< any>,HALT(最后一个选项,必须暂停)

所以我们得到的执行是:

  1. ... 0 0 0 0 0 ...,A => 1,对,B
  2. ... 0 0 1 0 0 ...,B => 1,左,A
  3. ... 0 0 1 1 0 ...,A => 1,左,B
  4. ... 0 0 1 1 0 ...,B => 1,左,A
  5. ... 0 1 1 1 0 ...,A => 1,对,B
  6. ... 1 1 1 1 0 ...,B => 1,< any>,HALT
  7. 因此最后的录像带在六个步骤之后有4个,这比我们向右移动时的结果要好得多。