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

燃烧数

来自Googology Wiki

燃烧数(Fusible number),是一系列序型为ε0的正有理数.

定义

考虑以下的数学问题:一个人处于一个封闭的房间之中.他想要测量一段时间,但是房间之中没有钟表,只有一系列恰好能够在一小时内燃尽的绳索.这些绳索的燃烧速度是不均匀的,因此不能通过其长度来判断时间,但是可以通过将其两端全部点燃的方式测量一半的时间.现在想问:仅靠这些绳索,这个人可以在房间之中测量哪些时间?

这里所有能够测量出来的时间称为燃烧数

可以证明: 如果ab均为燃烧数,那么(a+b+1)/2也是燃烧数,并且由这个规则可以从0生成所有的燃烧数.

建立数学模型

【待补充一些具体操作的例子】

为了研究燃烧数的问题,我们首先需要对其抽象,建立数学模型.每根绳子有两个末端.我们只允许以下两种操作:

  • 在开始的时候(时刻为 0)点燃若干末端.
  • 在一根绳子燃尽时点燃若干末端.

并有规定:若有绳子在 t 时刻燃尽,则 t 是燃烧数.

如果一根绳子的两端都被点燃,设其第一个末端的点燃时刻为 t1,第二个末端的点燃时刻为 t2,其中 t1,t2 都是燃烧数,且有 0t2t1<1,那么不难算出这根绳子燃尽的时刻是 (t1+t2+1)/2.如果这根绳子只有一个末端被点燃,点燃时刻是 t,那么它燃尽的时刻就是 t+1

综上,我们对燃烧数建立了清晰的认识:

  • 0 是燃烧数.
  • a 是燃烧数,则 a+1 是燃烧数.
  • a,b 是燃烧数且 |ba|<1,则 (a+b+1)/2 是燃烧数.
  • 所有燃烧数都能通过以上三种方式产生.

从上面第三条可以看出,若 a 是燃烧数,取 b=a,则得到 a+1/2 也是燃烧数,进而 a+1 是燃烧数.这蕴含了上面第二条.所以上面的条件可以进一步精简为:

  • 0 是燃烧数.
  • a,b 是燃烧数且 |ba|<1,则 (a+b+1)/2 是燃烧数.
  • 所有燃烧数都能通过以上两种方式产生.

【待补充一些具体计算的例子】

伪燃烧函数

定义函数 f: 为:f(x) 表示 x 到下一个燃烧数的距离.例如,1/3 的下一个燃烧数是 1/2,所以 f(1/3)=1/21/3=1/6

显然,若 x<0,则 x 的下一个燃烧数是 0,所以 f(x)=x

x0,则 x 的下一个燃烧数是 (a+b+1)/2>x,其中 a,b 是燃烧数,且 |ba|<1

所以 2x<a+b+1a+(a+1)+1=2(a+1),即 a>x1

然而,a 是否就是 x1 之后的第一个燃烧数呢?其实不一定,不过我们假设如此.这样得到的结果其实已经不是真实的燃烧数,我们叫它“伪燃烧数”.我们假设 a=x1+f(x1)

接下来考虑 b.现在对 b 有两个限制,其一是 b>a1,其二是 (a+b+1)/2>x.后者即为 b>2x1a.因为 a<x,所以 2x1a>2a1a=a1,也就是说第二条比第一条更强,我们只需考虑第二条限制 b>2x1a 即可.

在确定了 a 之后,为了找到大于 x 的最小燃烧数,我们应该让 b 尽可能小,让 b2x1a 后的第一个燃烧数,即 b=2x1a+f(2x1a)

有了以上的分析,我们就可以算出 f(x) 了:

f(x)=(a+b+1)/2x=(a+2x1a+f(2x1a)+1)/2x=f(2x1a)/2=f(2x1(x1+f(x1)))/2=f(xf(x1))/2

综上,

f(x)={xx<012f(xf(x1))x0

这就是伪燃烧函数.

有了上述迭代公式,我们可以尝试直接计算较小的f(n).我们有

f(0)=12f(0f(01))=12f(f(1))=12f(1)=12×1=12

f(1)=12f(1f(11))=12f(1f(0))=12f(112)=12f(12)=14f(12f(121))=14f(12f(12))=14f(1212)=14f(0)=18

对于n=2,可以算出

f(2)=11024

对于更大的n,为了简化计算,我们需要定义以下概念:

Aα是从小到大第α个燃烧数(0是第1个),d(α)=log2f(Aα),规定d(0)=0

我们可以证明[1]d(α)满足如下递推关系:

  1. d(α+1)=1+d(α)
  2. d(ωα×(k+1)+β)=k+d(ωα+β)β<ωα
  3. d(ωα+1+β)=2+d(ωα+β)β<ωα+1
  4. d(ωα+β)=1+d(ωα[χ(α)]+β)β<ωα

其中χ(α)满足如下递推关系:

  1. χ(ωα×(k+1)+β)=χ(ωα+β)k1β<ωα为极限序数
  2. χ(ωα+β)=χ(ωα[χ(α)]+β)αβ为极限序数,β<ωαβωα[χ(α)]+1
  3. χ(ωα+ωα[χ(α)]+1)=χ(ωα[χ(α)]+1)1α为极限序数
  4. χ(ωα+1+β)=χ(ωα×2+β)β<ωα+1为极限序数
  5. χ(ωα+1×(k+1))=χ(ωα+1)2k1
  6. χ(ωα+1)=d(ωα+1)d(α)+1
  7. χ(ωα×k)=d(ωα)d(α)+χ(α)k1α为极限序数

其中α[n]代表其基本列.据此可以计算[2]f(3)的取值:

f(3)=121541023937

通过一些技巧,也可以不使用序数直接计算出f(3)[3]

(等待更新)

参见

Achatinidae 的知乎回答