燃烧数
更多操作
燃烧数(Fusible number),是一系列序型为的正有理数.
定义
考虑以下的数学问题:一个人处于一个封闭的房间之中.他想要测量一段时间,但是房间之中没有钟表,只有一系列恰好能够在一小时内燃尽的绳索.这些绳索的燃烧速度是不均匀的,因此不能通过其长度来判断时间,但是可以通过将其两端全部点燃的方式测量一半的时间.现在想问:仅靠这些绳索,这个人可以在房间之中测量哪些时间?
这里所有能够测量出来的时间称为燃烧数.
可以证明: 如果和均为燃烧数,那么也是燃烧数,并且由这个规则可以从生成所有的燃烧数.
建立数学模型
【待补充一些具体操作的例子】
为了研究燃烧数的问题,我们首先需要对其抽象,建立数学模型.每根绳子有两个末端.我们只允许以下两种操作:
- 在开始的时候(时刻为 )点燃若干末端.
- 在一根绳子燃尽时点燃若干末端.
并有规定:若有绳子在 时刻燃尽,则 是燃烧数.
如果一根绳子的两端都被点燃,设其第一个末端的点燃时刻为 ,第二个末端的点燃时刻为 ,其中 都是燃烧数,且有 ,那么不难算出这根绳子燃尽的时刻是 .如果这根绳子只有一个末端被点燃,点燃时刻是 ,那么它燃尽的时刻就是 .
综上,我们对燃烧数建立了清晰的认识:
- 是燃烧数.
- 若 是燃烧数,则 是燃烧数.
- 若 是燃烧数且 ,则 是燃烧数.
- 所有燃烧数都能通过以上三种方式产生.
从上面第三条可以看出,若 是燃烧数,取 ,则得到 也是燃烧数,进而 是燃烧数.这蕴含了上面第二条.所以上面的条件可以进一步精简为:
- 是燃烧数.
- 若 是燃烧数且 ,则 是燃烧数.
- 所有燃烧数都能通过以上两种方式产生.
【待补充一些具体计算的例子】
伪燃烧函数
定义函数 为: 表示 到下一个燃烧数的距离.例如, 的下一个燃烧数是 ,所以 .
显然,若 ,则 的下一个燃烧数是 ,所以 .
若 ,则 的下一个燃烧数是 ,其中 是燃烧数,且 .
所以 ,即 .
然而, 是否就是 之后的第一个燃烧数呢?其实不一定,不过我们假设如此.这样得到的结果其实已经不是真实的燃烧数,我们叫它“伪燃烧数”.我们假设 .
接下来考虑 .现在对 有两个限制,其一是 ,其二是 .后者即为 .因为 ,所以 ,也就是说第二条比第一条更强,我们只需考虑第二条限制 即可.
在确定了 之后,为了找到大于 的最小燃烧数,我们应该让 尽可能小,让 是 后的第一个燃烧数,即 .
有了以上的分析,我们就可以算出 了:
综上,
这就是伪燃烧函数.
有了上述迭代公式,我们可以尝试直接计算较小的.我们有
,
.
对于,可以算出
对于更大的,为了简化计算,我们需要定义以下概念:
设是从小到大第个燃烧数(0是第1个),,规定.
我们可以证明[1]满足如下递推关系:
- ,
- ,
- ,
其中满足如下递推关系:
- ,,为极限序数
- ,,为极限序数,,
- ,为极限序数
- ,为极限序数
- ,
- ,,为极限序数
其中代表其基本列.据此可以计算[2]的取值:
。
通过一些技巧,也可以不使用序数直接计算出[3].
(等待更新)