燃烧数:修订间差异
更多操作
小无编辑摘要 |
小无编辑摘要 |
||
(未显示2个用户的7个中间版本) | |||
第1行: | 第1行: | ||
'''燃烧数(Fusible number)''',是一系列序型为<math>\varepsilon_0</math> | '''燃烧数(Fusible number)''',是一系列序型为<math>\varepsilon_0</math>的正有理数. | ||
== 定义 == | |||
考虑以下的数学问题:一个人处于一个封闭的房间之中.他想要测量一段时间,但是房间之中没有钟表,只有一系列恰好能够在一小时内燃尽的绳索.这些绳索的燃烧速度是不均匀的,因此不能通过其长度来判断时间,但是可以通过将其两端全部点燃的方式测量一半的时间.现在想问:仅靠这些绳索,这个人可以在房间之中测量哪些时间? | |||
这里所有能够测量出来的时间称为'''燃烧数''' | 这里所有能够测量出来的时间称为'''燃烧数'''. | ||
可以证明: | 可以证明: | ||
如果<math>a</math>和<math>b</math>均为燃烧数,那么<math>(a+b+1)/2</math>也是燃烧数,并且由这个规则可以从<math>0</math> | 如果<math>a</math>和<math>b</math>均为燃烧数,那么<math>(a+b+1)/2</math>也是燃烧数,并且由这个规则可以从<math>0</math>生成所有的燃烧数. | ||
== 建立数学模型 == | |||
【待补充一些具体操作的例子】 | |||
为了研究燃烧数的问题,我们首先需要对其抽象,建立数学模型.每根绳子有两个末端.我们只允许以下两种操作: | |||
* 在开始的时候(时刻为 <math>0</math>)点燃若干末端. | |||
*在一根绳子燃尽时点燃若干末端. | |||
并有规定:若有绳子在 <math>t</math> 时刻燃尽,则 <math>t</math> 是燃烧数. | |||
如果一根绳子的两端都被点燃,设其第一个末端的点燃时刻为 <math>t_1</math>,第二个末端的点燃时刻为 <math>t_2</math>,其中 <math>t_1,t_2</math> 都是燃烧数,且有 <math>0\le t_2-t_1<1</math>,那么不难算出这根绳子燃尽的时刻是 <math>(t_1+t_2+1)/2</math>.如果这根绳子只有一个末端被点燃,点燃时刻是 <math>t</math>,那么它燃尽的时刻就是 <math>t+1</math>. | |||
综上,我们对燃烧数建立了清晰的认识: | |||
* <math>0</math> 是燃烧数. | |||
* 若 <math>a</math> 是燃烧数,则 <math>a+1</math> 是燃烧数. | |||
* 若 <math>a,b</math> 是燃烧数且 <math>|b-a|<1</math>,则 <math>(a+b+1)/2</math> 是燃烧数. | |||
*所有燃烧数都能通过以上三种方式产生. | |||
从上面第三条可以看出,若 <math>a</math> 是燃烧数,取 <math>b=a</math>,则得到 <math>a+1/2</math> 也是燃烧数,进而 <math>a+1</math> 是燃烧数.这蕴含了上面第二条.所以上面的条件可以进一步精简为: | |||
* <math>0</math> 是燃烧数. | |||
* 若 <math>a,b</math> 是燃烧数且 <math>|b-a|<1</math>,则 <math>(a+b+1)/2</math> 是燃烧数. | |||
* 所有燃烧数都能通过以上两种方式产生. | |||
【待补充一些具体计算的例子】 | |||
== 伪燃烧函数 == | |||
定义函数 <math>f:\R\to\R</math> 为:<math>f(x)</math> 表示 <math>x</math> 到下一个燃烧数的距离.例如,<math>1/3</math> 的下一个燃烧数是 <math>1/2</math>,所以 <math>f(1/3)=1/2-1/3=1/6</math>. | |||
显然,若 <math>x<0</math>,则 <math>x</math> 的下一个燃烧数是 <math>0</math>,所以 <math>f(x)=-x</math>. | |||
若 <math>x\ge 0</math>,则 <math>x</math> 的下一个燃烧数是 <math>(a+b+1)/2>x</math>,其中 <math>a,b</math> 是燃烧数,且 <math>|b-a|<1</math>. | |||
所以 <math>2x<a+b+1\le a+(a+1)+1=2(a+1)</math>,即 <math>a>x-1</math>. | |||
然而,<math>a</math> 是否就是 <math>x-1</math> 之后的第一个燃烧数呢?其实不一定,不过我们假设如此.这样得到的结果其实已经不是真实的燃烧数,我们叫它“伪燃烧数”.我们假设 <math>a=x-1+f(x-1)</math>. | |||
接下来考虑 <math>b</math>.现在对 <math>b</math> 有两个限制,其一是 <math>b>a-1</math>,其二是 <math>(a+b+1)/2>x</math>.后者即为 <math>b>2x-1-a</math>.因为 <math>a<x</math>,所以 <math>2x-1-a>2a-1-a=a-1</math>,也就是说第二条比第一条更强,我们只需考虑第二条限制 <math>b>2x-1-a</math> 即可. | |||
在确定了 <math>a</math> 之后,为了找到大于 <math>x</math> 的最小燃烧数,我们应该让 <math>b</math> 尽可能小,让 <math>b</math> 是 <math>2x-1-a</math> 后的第一个燃烧数,即 <math>b=2x-1-a+f(2x-1-a)</math>. | |||
有了以上的分析,我们就可以算出 <math>f(x)</math> 了: | |||
<math display="block">\begin{aligned} | |||
f(x)\,&=(a+b+1)/2-x\\ | |||
&=(a+2x-1-a+f(2x-1-a)+1)/2-x\\ | |||
&=f(2x-1-a)/2\\ | |||
&=f(2x-1-(x-1+f(x-1)))/2\\ | |||
&=f(x-f(x-1))/2 | |||
\end{aligned}</math> | |||
综上, | |||
<math display="block">f(x)=\begin{cases}-x&x<0\\ \dfrac 12 f(x-f(x-1))&x\ge 0\end{cases}</math> | |||
这就是伪燃烧函数. | |||
有了上述迭代公式,我们可以尝试直接计算较小的<math>f(n)</math>.我们有 | |||
<math>f(0)=\frac{1}{2}f(0-f(0-1))=\frac{1}{2}f(-f(-1))=\frac{1}{2}f(-1)=\frac{1}{2}\times1=\frac{1}{2}</math>, | |||
<math>f(1)=\frac{1}{2}f(1-f(1-1))=\frac{1}{2}f(1-f(0))=\frac{1}{2}f(1-\frac{1}{2})=\frac{1}{2}f(\frac{1}{2})=\frac{1}{4}f(\frac{1}{2}-f(\frac{1}{2}-1))=\frac{1}{4}f(\frac{1}{2}-f(-\frac{1}{2}))=\frac{1}{4}f(\frac{1}{2}-\frac{1}{2})=\frac{1}{4}f(0)=\frac{1}{8}</math>. | |||
对于<math>n=2</math>,可以算出 | |||
<math>f(2)=\frac{1}{1024}</math> | |||
对于更大的<math>n</math>,为了简化计算,我们需要定义以下概念: | |||
设<math>A_\alpha</math>是从小到大第<math>\alpha</math>个燃烧数(0是第1个),<math>d(\alpha)=-log_2f(A_\alpha)</math>,规定<math>d(0)=0</math>. | |||
我们可以证明<ref>https://zhuanlan.zhihu.com/p/1908578056337076774</ref><math>d(\alpha)</math>满足如下递推关系: | |||
# <math>d(\alpha+1)=1+d(\alpha)</math> | |||
# <math>d(\omega^\alpha\times{(k+1)}+\beta)=k+d(\omega^\alpha+\beta)</math>,<math>\beta<\omega^\alpha</math> | |||
# <math>d(\omega^{\alpha+1}+\beta)=2+d(\omega^\alpha+\beta)</math>,<math>\beta<\omega^{\alpha+1}</math> | |||
# <math>d(\omega^\alpha+\beta)=1+d(\omega^{\alpha[\chi(\alpha)]}+\beta)</math>,<math>\beta<\omega^\alpha</math> | |||
其中<math>\chi(\alpha)</math>满足如下递推关系: | |||
# <math>\chi(\omega^\alpha\times{(k+1)}+\beta)=\chi(\omega^\alpha+\beta)</math>,<math>k\geq1</math>,<math>\beta<\omega^\alpha</math>为极限序数 | |||
#<math>\chi(\omega^\alpha+\beta)=\chi(\omega^{\alpha[\chi(\alpha)]}+\beta)</math>,<math>\alpha</math>,<math>\beta</math>为极限序数,<math>\beta<\omega^\alpha</math>,<math>\beta\neq\omega^{\alpha[\chi(\alpha)]+1}</math> | |||
#<math>\chi(\omega^\alpha+\omega^{\alpha[\chi(\alpha)]+1})=\chi(\omega^{\alpha[\chi(\alpha)]+1})-1</math>,<math>\alpha</math>为极限序数 | |||
# <math>\chi(\omega^{\alpha+1}+\beta)=\chi(\omega^\alpha\times2+\beta)</math>,<math>\beta<\omega^{\alpha+1}</math>为极限序数 | |||
# <math>\chi(\omega^{\alpha+1}\times{(k+1)})=\chi(\omega^{\alpha+1})-2</math>,<math>k\geq1</math> | |||
# <math>\chi(\omega^{\alpha+1})=d(\omega^{\alpha+1})-d(\alpha)+1</math> | |||
#<math>\chi(\omega^\alpha\times{k})=d(\omega^\alpha)-d(\alpha)+\chi(\alpha)</math>,<math>k\geq1</math>,<math>\alpha</math>为极限序数 | |||
其中<math>\alpha[n]</math>代表其基本列.据此可以计算<ref>https://www.zhihu.com/question/36464952/answer/2912411355</ref><math>f(3)</math>的取值: | |||
<math>f(3)=\frac{1}{2^{1541023937}}</math>。 | |||
通过一些技巧,也可以不使用序数直接计算出<math>f(3)</math><ref>https://zhuanlan.zhihu.com/p/26493979529</ref>. | |||
(等待更新) | (等待更新) | ||
== 参见 == | |||
[https://www.zhihu.com/question/36464952/answer/2912411355 Achatinidae 的知乎回答] | |||
<references />{{默认排序:相关问题}} | |||
[[分类:记号]] | [[分类:记号]] |
2025年8月20日 (三) 16:25的最新版本
燃烧数(Fusible number),是一系列序型为的正有理数.
定义
考虑以下的数学问题:一个人处于一个封闭的房间之中.他想要测量一段时间,但是房间之中没有钟表,只有一系列恰好能够在一小时内燃尽的绳索.这些绳索的燃烧速度是不均匀的,因此不能通过其长度来判断时间,但是可以通过将其两端全部点燃的方式测量一半的时间.现在想问:仅靠这些绳索,这个人可以在房间之中测量哪些时间?
这里所有能够测量出来的时间称为燃烧数.
可以证明: 如果和均为燃烧数,那么也是燃烧数,并且由这个规则可以从生成所有的燃烧数.
建立数学模型
【待补充一些具体操作的例子】
为了研究燃烧数的问题,我们首先需要对其抽象,建立数学模型.每根绳子有两个末端.我们只允许以下两种操作:
- 在开始的时候(时刻为 )点燃若干末端.
- 在一根绳子燃尽时点燃若干末端.
并有规定:若有绳子在 时刻燃尽,则 是燃烧数.
如果一根绳子的两端都被点燃,设其第一个末端的点燃时刻为 ,第二个末端的点燃时刻为 ,其中 都是燃烧数,且有 ,那么不难算出这根绳子燃尽的时刻是 .如果这根绳子只有一个末端被点燃,点燃时刻是 ,那么它燃尽的时刻就是 .
综上,我们对燃烧数建立了清晰的认识:
- 是燃烧数.
- 若 是燃烧数,则 是燃烧数.
- 若 是燃烧数且 ,则 是燃烧数.
- 所有燃烧数都能通过以上三种方式产生.
从上面第三条可以看出,若 是燃烧数,取 ,则得到 也是燃烧数,进而 是燃烧数.这蕴含了上面第二条.所以上面的条件可以进一步精简为:
- 是燃烧数.
- 若 是燃烧数且 ,则 是燃烧数.
- 所有燃烧数都能通过以上两种方式产生.
【待补充一些具体计算的例子】
伪燃烧函数
定义函数 为: 表示 到下一个燃烧数的距离.例如, 的下一个燃烧数是 ,所以 .
显然,若 ,则 的下一个燃烧数是 ,所以 .
若 ,则 的下一个燃烧数是 ,其中 是燃烧数,且 .
所以 ,即 .
然而, 是否就是 之后的第一个燃烧数呢?其实不一定,不过我们假设如此.这样得到的结果其实已经不是真实的燃烧数,我们叫它“伪燃烧数”.我们假设 .
接下来考虑 .现在对 有两个限制,其一是 ,其二是 .后者即为 .因为 ,所以 ,也就是说第二条比第一条更强,我们只需考虑第二条限制 即可.
在确定了 之后,为了找到大于 的最小燃烧数,我们应该让 尽可能小,让 是 后的第一个燃烧数,即 .
有了以上的分析,我们就可以算出 了:
综上,
这就是伪燃烧函数.
有了上述迭代公式,我们可以尝试直接计算较小的.我们有
,
.
对于,可以算出
对于更大的,为了简化计算,我们需要定义以下概念:
设是从小到大第个燃烧数(0是第1个),,规定.
我们可以证明[1]满足如下递推关系:
- ,
- ,
- ,
其中满足如下递推关系:
- ,,为极限序数
- ,,为极限序数,,
- ,为极限序数
- ,为极限序数
- ,
- ,,为极限序数
其中代表其基本列.据此可以计算[2]的取值:
。
通过一些技巧,也可以不使用序数直接计算出[3].
(等待更新)