打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

Kirby-Paris Hydra

来自Googology Wiki
Zhy137036留言 | 贡献2025年7月7日 (一) 13:49的版本 有序有根树

Kirby-Paris Hydra(KP Hydra) 是在一棵树上进行的单人游戏,需要很长时间才能终止[1]。由此游戏导出的函数Hydra(n)的增长率超过了皮亚诺公理体系可证明停机的一切递归函数。它与Beklemishev's worm密切相关。

有序有根树

KP Hydra 的规则定义在有序有根树上,所以有必要简单了解有序有根树的概念.

正如“有序有根树”的名字所说,“有序有根树”有一个节点是树根(根节点),根节点下面挂着若干(有限)棵子树,每棵子树也是一个“有序有根树”.这些子树从左到右依次排列,不能交换顺序,这就是“有序”的含义.下图是两棵不同的有序有根树.

如果一个节点下面没有挂任何子树,那么称它是叶子节点.如果节点 a 在节点 b 下面且二者相邻,则称 ab 的子节点,ba 的父节点.根节点不是任何节点的子节点.

如果一棵树里,除了叶子节点外,每个节点下只有一棵子树,则称这棵树是链状树.

规则

KP Hydra 游戏的规则如下:

  • 游戏从一棵有 n+1 个节点的链状有序有根树 T 开始;
  • n 回合,选择 T 的最右边的叶子节点 a,设 a 的父节点为 b,依次执行以下操作(称为一次砍树):
    1. 删除 a
    2. b 不是根节点,取以 b 为根的子树 T,将其复制 n 次,连接到 b 的父节点上.
  • 如果某步操作后只剩下根节点,游戏结束.

我们可以用括号表示树:每一对括号表示一个节点,最外层的括号表示根节点,每个括号内层的括号表示它的子节点。

例如:设n=3,考虑这样的一棵树(((()))(()()()))

将红色的括号删除后,树的变化如下:(((()))(()()()))(((()))(()()))(((()))(()())(()())(()())(()()))

Hydra(3) 为例,我们从一棵包含 4 个节点的链状有序有根树出发,进行第 1 次砍树:

2 次砍树:

依此类推,经过 37 次砍树,这棵树只剩一个节点,游戏结束.所以 Hydra(3)=37

停机性证明

Kirby 和 Paris 证明了以下定理:无论初始的树T怎样选取,KP Hydra 游戏总会在有限步内终止。

其证明概要如下:

我们给每个非空树对应一个序数:

  • 只含根节点的树()对应0;
  • 若树T1,T2,,Tn分别对应序数H1,H2,,Hn(通过重新排列,不妨设H1H2Hn),则(T1T2Tn)对应ωH1+ωH2++ωHn
  • 例如,(((()))(()()()))=ωωω0+ωω0+ω0+ω0=ωω+ω3

对树的深度归纳可知,每棵树对应的序数都小于ε0

设初始的树为T。我们证明:砍树操作后,树对应的序数严格减小。

  • 若选取节点的父节点为根节点,则T=(T1()),其对应的序数形如H+1,砍树操作后变为H,严格减小;
  • 否则,设其父节点所在的子树为(T1(T3())T2),其对应序数H1+ωH3+1+H2。进行砍树操作后,该子树变为(T1(T3)(T3)(T3)T2),对应序数H1+ωH3(n+1)+H2,严格减小。

假设游戏从T开始可以无限地进行下去,我们可以得到一系列树T1,T2,,它们对应的序数满足ε0>H1>H2>,这与ε0的良序性矛盾。故游戏总会在有限步内终止。

Hydra 函数[2]

我们用Hydra(n)表示以下特殊的 KP Hydra 游戏终止所需要的步数:

  • 初始树为含n+1个节点的链,即形如((()))的树;
  • 每次操作总选取最右边的节点。

下面列出n较小时Hydra(n)的值:

Hydra(0)=0

Hydra(1)=1

Hydra(2)=3

Hydra(3)=37

Hydra(4)>fω2+4(5),其中f快速增长层级

Hydra(5)>fωω2+4(5)

一般地,记αn=ωωω2+4,其中有n3ω,则fα(5)<Hydra(n)<fα(6)。因此,Hydra(n)的增长率为ε0

  1. Kirby, L.; Paris, J. (1982), "Accessible independence results for Peano arithmetic", Bulletin of the London Mathematical Society 14: 285–293.
  2. Kirby-Paris hydra | Googology Wiki | Fandom