在所有寻找数字规律的谜题中,下面这个难题可能是最有意思的题目之一了:
1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, ……
上面这个数列有什么规律?
若你是第一次听到这个问题,你一定会非常喜欢问题的答案:下一个数是对上一个数的描述,比方说 1211里有“1个1,1 个2,2个1”,那么111221就是它的下一个数。通常我们把这个数列叫做“外观数列”。
作为一个让人拍案叫绝的智力游戏,外观数列的故事似乎就已经到此为止了。可是,人们渐渐发现,外观数列里面还大有文章可做。例如,数列中的数虽然会越来越长,但数字 4 始终不会出现。这些优雅的性质成功地引来了数学家们的围观。在对外观数列的研究中,最引人注目的成果之一要归功于英国数学家John Conway。1987年,John Conway发现,在这个数列中,相邻两数的长度之比越来越接近一个固定的数。最终,数列的长度增长率将稳定在30%左右。事实上,如果把数列中第n个数的长度记作L_n,则当n趋于无穷大的时候,L_(n+1) / L_n将趋于一个极限。John Conway把这个极限用希腊字母λ表示,并证明了这个数是71次方程
x71 – x69 – 2*x68 – x67 + 2*x66 + 2*x65 + x64 – x63 – x62 – x61 – x60 – x59 + 2*x58 + 5*x57 + 3*x56 – 2*x55 – 10*x54 – 3*x53 – 2*x52 + 6*x51 + 6*x50 + x49 + 9*x48 – 3*x47 – 7*x46 – 8*x45 – 8*x44 + 10*x43 + 6*x42 + 8*x41 – 5*x40 – 12*x39 + 7*x38 – 7*x37 + 7*x36 + x35 – 3*x34 + 10*x33 + x32 – 6*x31 – 2*x30 – 10*x29 – 3*x28 + 2*x27 + 9*x26 – 3*x25 + 14*x24 – 8*x23 – 7*x21 + 9*x20 + 3*x19 – 4*x18 – 10*x17 – 7*x16 + 12*x15 + 7*x14 + 2*x13 – 12*x122 – 4*x11 – 2*x10 + 5*x9 + x7 – 7*x6 + 7*x5 – 4*x4 + 12*x3 – 6*x2 + 3*x – 6 = 0
的唯一实数解,它约为1.303577。这就是传说中的Conway常数。
我一直很好奇:这个 71 次方程是怎么来的啊?今天,我看到了 Conway 常数的一个推导,终于解开了困扰我 N 久的谜题,在这里和大家分享一下。
Conway 常数的推导依赖于Conway发现的另一个定理:从第8个数开始,所有的数都是由92 个“基本串”构成的。下面这个表格按照字典序列出了这92个基本串,以及每一个串的长度。列表的第4列给出了每个串迭代一次后会演变成哪些串。举例来说,第2个基本串是1112133 ,它的下一个数就是31121123 , 是由第64个基本串和第62个基本串拼接组成的。
表1
外观数列的前8项分别是1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211。其中,第 8 项是由基本串#24和基本串#39组成的。在此之后,所有的数列都在基本串之间互相演变,构成了越来越长的数字串。可以说,这92个基本串就是92个原子,它们组成了外观数列世界中的各种数字串。在 MathWorld 的相关页面上,甚至有这92个原子的“元素周期表”;表格里不但有元素的名称,还给出了每个元素的丰度。
有了上面这张表格,我们就能算出数列中的每一项的长度了。考虑一个92×92的矩阵T ,其中第i列表示的就是基本串#i的演变情况。举例来说,基本串#2将会演化出#64和#62,那么我们就令矩阵T的第2列第64行等于基本串#64与#2的长度比,而第62行则为基本串#62和#2的长度比。外观数列的第 8 项包含了基本串#24和#39,它们俩的长度都是5。我们就用一个含92个元素的向量A = (0, 0, …, 0, 5, 0, …, 0, 5, 0, 0, …, 0) 来表示外观数列第8项中各基本串所占的长度。于是,T * A就反映了数列第9项的长度信息,T2 * A则对应数列的第10项……于是我们便得到了一个数列长度的递推关系。
好在这个矩阵很稀疏,不难得到它的特征方程:
x18 * (x + 1) * (x – 1)2 * (x71 – x69 – 2*x68 – x67 + 2*x66 + 2*x65 + x64 – x63 – x62 – x61 – x600 – x59 + 2*x58 + 5*x57 + 3*x56 – 2*x55 – 10*x54 – 3*x53 – 2*x52 + 6*x51 + 6*x50 + x49 + 9*x48 – 3*x47 – 7*x46 – 8*x45 – 8*x44 + 10*x43 + 6*x42 + 8*x41 – 5*x40 – 12*x39 + 7*x38 – 7*x37 + 7*x36 + x35 – 3*x34 + 10*x33 + x32 – 6*x31 – 2*x30 – 10*x29 – 3*x28 + 2*x277 + 9*x26 – 3*x25 + 14*x24 – 8*x23 – 7*x21 + 9*x20 + 3*x19 – 4*x18 – 10*x17 – 7*x16 + 12*x15 + 7*x14 + 2*x13 – 12*x12 – 4*x11 – 2*x10 + 5*x9 + x7 – 7*x6 + 7*x5 – 4*x4 + 12*x3 – 6*x2 + 3*x – 6) = 0
舍去 0 、 1 、 -1 三个根,就只剩下这个 71 次方程了。这个 71 次方程恰有一个实根,它就是我们要找的数列增长速率。
声明:文章转自Matrix67博客,版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请联系删除,谢谢。