为什么 N-State 忙碌的海狸不能一直向右走?
Why can't a N-State busy beaver keep going to the right?
我正在阅读有关 Busy Beavers 的文章,但如果他们有无限长的磁带,为什么他们不能一直向右无限打印 1?为什么他们要一直左转右转
由于我的评论可能不足以解决您的问题,因此我会稍微详细说明一下。你建造了一个只向右移动的忙碌的海狸吗?让我们尝试 N = 2:
- 状态A,磁带0 ==>写1,向右移动,进入状态A/B(select随你喜欢)
- 状态B,磁带0 ==>写1,向右移动,进入状态A/B(select随你喜欢)
- (磁带 1 的定义无关紧要,仅在向右移动时不会发生)
你看这会写很多的!但它永远不会停止,游戏规则是写一个停止的图灵机。
所以我们必须修改这个来停止:
- 状态A,磁带0 ==>写1,向右移动,进入状态B
- 状态 B,磁带 0 ==> 写入 1,向右移动,进入状态 HALT
- (带 1 的定义无关紧要,不会发生这种情况)
但现在我们可以看到我们是多么低效,完全忽略了很多可用的选项。因此,我们将向左移动添加到我们的武器库中以提高效率。我现在 shorthand 表示法,希望它更容易阅读。
- A, 0 => 1, 右, B
- B, 0 => 1, Left, A(这里必须向左走,以免永不停止)
- A, 1 => 1, 左, B
- B, 1 => 1,
, HALT(最后一个选项,必须是暂停)
所以我们得到的执行是:
- ...0 0 0 0 0..., A => 1, 右, B
- ...0 0 1 0 0..., B => 1, 左, A
- ...0 0 1 1 0..., A => 1, 左, B
- ...0 0 1 1 0..., B => 1, 左, A
- ...0 1 1 1 0..., A => 1, 右, B
- ...1 1 1 1 0..., B => 1, <任何>, 暂停
这样最后的磁带在六步之后有4个1,比我们只向右移动的结果要好得多。
我正在阅读有关 Busy Beavers 的文章,但如果他们有无限长的磁带,为什么他们不能一直向右无限打印 1?为什么他们要一直左转右转
由于我的评论可能不足以解决您的问题,因此我会稍微详细说明一下。你建造了一个只向右移动的忙碌的海狸吗?让我们尝试 N = 2:
- 状态A,磁带0 ==>写1,向右移动,进入状态A/B(select随你喜欢)
- 状态B,磁带0 ==>写1,向右移动,进入状态A/B(select随你喜欢)
- (磁带 1 的定义无关紧要,仅在向右移动时不会发生)
你看这会写很多的!但它永远不会停止,游戏规则是写一个停止的图灵机。
所以我们必须修改这个来停止:
- 状态A,磁带0 ==>写1,向右移动,进入状态B
- 状态 B,磁带 0 ==> 写入 1,向右移动,进入状态 HALT
- (带 1 的定义无关紧要,不会发生这种情况)
但现在我们可以看到我们是多么低效,完全忽略了很多可用的选项。因此,我们将向左移动添加到我们的武器库中以提高效率。我现在 shorthand 表示法,希望它更容易阅读。
- A, 0 => 1, 右, B
- B, 0 => 1, Left, A(这里必须向左走,以免永不停止)
- A, 1 => 1, 左, B
- B, 1 => 1,
, HALT(最后一个选项,必须是暂停)
所以我们得到的执行是:
- ...0 0 0 0 0..., A => 1, 右, B
- ...0 0 1 0 0..., B => 1, 左, A
- ...0 0 1 1 0..., A => 1, 左, B
- ...0 0 1 1 0..., B => 1, 左, A
- ...0 1 1 1 0..., A => 1, 右, B
- ...1 1 1 1 0..., B => 1, <任何>, 暂停
这样最后的磁带在六步之后有4个1,比我们只向右移动的结果要好得多。