原文转自:http://www.matrix67.com/blog/archives/4324
上帝创造了整数,其余的则是我们人类的事了。正因为如此,质数、完全数、Fibonacci 数之类的数列才会让数学家们如痴如醉,因为它们的存在是如此自然,没有任何人造的因素。事实上,数学家们对这些数的认识也越来越丰富,挖掘出了这些数列中越来越深刻的性质。
不过,人类确实太渺小了。还有好多构造异常简单的“纯天然数列”,我们了解得实在太少。Kolakoski 数列就是最好的例子之一。
Kolakoski 数列仅由 1 和 2 构成,其中头 100 个数是
1, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1,
2, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1,
1, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2,
1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 2,
2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, ...
如果我们把连续的相同数看作一组的话,整个数列的定义就只有两句话: a(1) = 1 , a(n) 表示第 n 组数的长度。例如,a(6)
= 2,就表明第 6 组数(从第 8 个数算起)的长度就是 2。注意,有了这几个条件,整个序列就已经唯一地确定了!a(1) = 1
就表明第一组数只有一个数,因此下一个数必须要换成 2 ,因此 a(2) = 2 ;而 a(2) = 2 又说明这个 2 必须要连着出现两个,因此
a(3) = 2;而 a(3) = 2 就表明数列接下来要有两个 1
,等等。也就是说,生成这个数列的“参数”就是这个数列本身。更酷的说法则是,这个数列是分形的:如果把每一组数用它的长度来替换,就会得到这个数列本
身。另外一个可能有些出人意料的事实是:Kolakoski 数列在 OEIS 中的序号非常靠前—— A000002
。
关于 Kolakoski 数列,我们知道些什么?很少。我们知道,这个数列可以用递归式 a(a(1) + a(2) + ... + a(k)) = (3 + (-1)k
)/2 来表达。我们目前已经知道,去掉数列最前面的 1,剩下的部分可以从 22 开始,由替换规则 22→2211,21→221,12→211,11→21 迭代产生。
Kolakoski 数列的第 n
项有非递归的公式吗?目前我们还不知道。已经出现过的数字串今后都还会再次出现吗?目前我们也不知道。还有,我们有理由猜想,数列中 1 和 2
的个数各占一半。下图显示的就是数列前 n 项中数字 1 所占的比例,可见我们的猜想很可能是对的。
不过,目前还没有人能够证明这一点。而最近的一些研究则表明,数字 1 的比例很可能不是 1/2 。当然,还有第三种可能——这个极限可能根本不存在。这无疑又是一个最折磨人的数学未解之谜
。
分享到:
相关推荐
转换为四元数可以帮助我们避免万向锁问题,万向锁是当连续的两个旋转轴互相垂直时,第三个轴的旋转无法正确表达的情况。四元数是一种扩展的复数形式,用四个实数组成(w, x, y, z),其中w是实部,x, y, z是虚部,...
详细介绍最长递减子设有一个整数序列A1, A2, ... An,求这个序列中最长的递减子序列的长度M, 以及该序列可以划分成这种子序列的个数N 如序列: 300 250 252 275 200 138 245 折分成的子序列分别为 300 275 200 138 ...
常用图像测试序列:foreman.cif(9-10) 因原完整序列太大,所以分断上传. 因测试时常只用其中某一段,故只下载三个文件之一就可,对性能测试没有影响. 如果需要用完整序列,需用软件将序列连接起来. <br>还有...
上课用的课本范剑青编写的非线性时间序列 全书,用起来还是很不错的,需要上课的同学可以使用
视频转图片序列程序是一种工具,它能够将视频文件拆分成一系列连续的静态图像,这些图像通常被称为帧。这种转换在多种领域中都有应用,比如影视后期制作、动画创作、科学研究或者简单的视频片段抓取。下面将详细介绍...
对输入的二进制序列编码转换为:HDB3码
通过差分运算,我们可以将时间序列转换为平稳时间序列,然后可以使用白噪声检验来确定是否存在随机误差。 通过以上步骤,我们可以建立一个合适的 ARIMA 模型,并对其进行检验,以确定其是否能够有效地预测未来值。 ...
SWF转PNG序列图工具是一种专门用于将Adobe Flash(SWF)文件转换为PNG图像序列的软件或服务。这种工具的目的是为了方便处理SWF文件中的动画内容,尤其是在SWF不支持或者无法直接导出为其他格式时。SWF文件通常是...
常用图像测试序列:foreman.cif(1-4) 因原完整序列太大,所以分断上传. 因测试时常只用其中某一段,故对测试没有影响. 如果需要用完整序列,只需用软件将序列连接起来即可. <br>
ZEMAX提供两种主要的设计模式:序列模式(Sequential Mode)和非序列模式(Non-Sequential Mode)。序列模式主要用于设计传统的透镜系统,而非序列模式则适用于更复杂的自由形态光学元件或非传统几何形状的光学系统...
通过将时间序列转换为图像,我们能够利用丰富的计算机视觉技术来探索复杂的时间序列数据,这不仅增加了模型的解释性,还可能提高预测性能。然而,这种方法也有其挑战,比如如何选择合适的图像表示方法、如何处理长...
3. 视频转图片序列的工具与命令行工具 - GUI工具:如FFmpeg、VirtualDub等提供用户友好的界面,可轻松将视频导出为图片序列。以FFmpeg为例,只需输入类似`ffmpeg -i input.avi output_%03d.png`的命令,就能将输入...
在实验中,通过对生成的m序列进行特定的运算,我们可以得到Kasami序列的小集,这有助于理解Kasami序列的生成机制和应用。 最后,我们要提到的是Gold序列。Gold序列是由两个不同m序列通过异或操作得到的,它结合了两...
详见* 关于序列基本操作* 关于元素赋值、删除元素、切片赋值[Python序列:列表]
首先,我们需要理解图片序列与视频的关系。视频本质上是由连续的静态图像(帧)快速播放形成的,这些帧合在一起就构成了动态的画面。因此,将图片序列转换为视频的过程就是将这些单独的图片按照时间顺序组合并设置...
在C#编程中,二进制数组操作和序列化是两个关键的概念,它们在数据存储、网络传输和数据持久化等方面发挥着重要作用。本篇将深入探讨如何在C#中进行二进制数组与常规数组之间的转换,以及二进制序列化和JSON序列化的...
JsonTools是一个不错的JSON序列化和反序列化功能包
"视频文件转图像序列"的工具主要功能是读取MP4或AVI等视频格式,并将其每一帧提取出来,保存为独立的图像文件,如jpg格式。MP4是一种高效的压缩视频格式,广泛应用于网络流媒体和存储,而AVI则是一种较老但支持多...
C++的JSON序列化和反序列化是开发Web服务、网络通信或存储配置文件时必不可少的技术。选择合适的库并理解其工作原理,能帮助我们更高效地处理JSON数据。通过实践和学习,可以掌握更多高级技巧,如自定义序列化策略、...
《时间序列分析及应用:R语言 原书第2版 》以易于理解的方式讲述了时间序列模型及其应用 主要内容包括:趋势 平稳时间序列模型 非平稳时间序列模型 模型识别 参数估计 模型诊断 预测 季节模型 时间序列回归模型 异...