康威常数2

六、具体的应用:“1”,“2”和“3”的比例

先解释一下这里“应用”的意思。许多读者看到这个理论的第一个(或第二个第三个……)反应也许会是“那这个理论在实际中有什么用途呢“?

边说边看理论中的“说”“看”过程其实是一种被称为“游程编码”的编码方式。这种编码方式有时被用作数据压缩的方式,如在一些图像格式中。也许因为是这个原因,康威的论文在第二次发表时,刊登在一本和通信有关的学术论文集上。(第一次发表在剑桥大学数学学会的会刊Eureka上。)如果要强调边看边说理论有什么实际应用,也许这是个好的切入点。

不过我觉得这理论其实并没有什么实际用途,至少到目前为止没看见它有。它的价值在于它的美,而它的美源于它起源的质朴和内容的(相对)深刻以及形式的奇诡之间的强烈对比。一个数学理论,它是美的,这就是很好的价值了。

本节和后面所说的“应用”,是用康威的理论去回答一些问题。这些问题并不依赖于理论而存在;从原则上说,以直接产生边看边说序列再作观察的方式也能回答这些问题;但从现实上这样做非常困难,或根本不可能。本节想问的问题就是,从1开始的边看边说序列,它的第100,或是第1000000项有多少个数字,其中分别有多少“1”,“2”和“3”?

用直接写出每一项的方法,我们很容易计算出这个序列的前面几项的长度:

 

1, 2, 2, 4, 6, 6, 8, 10, 14, 20, 26, 34, 46, 62, 78, ……

 

但是这个直接生成数字串并作统计的方法会变得越来越困难,所需要的计算量和储存空间越来越大。根据算术定理,序列长度以指数增长。取康威常数为1.3,以非常粗略的方式估计,它的第100项的长度大约会是1.3100≈2×1011,也就是千亿这个数量级,生成新数字串的计算量变得非常大。而它的第1000项的长度则要超过10100,此时光是储存数字串也变得不可能,因为可观测宇宙内的原子总量据估计也仅有1080个。如果我们想知道第1000000项数字串有多长,其中分别有多少“1”,“2”和“3”,靠直接生成数字串的方法是完全不可行的。

但通过康威理论,这个问题就容易解决了。

我们知道,从数字串1开始的边看边说序列在第8项演化成由一个72铪元素和一个50锡元素组成的化合物。从这一天起,通过查询元素列表中的“一天后衰变物”一栏,每天演化出来的化合物中的各元素数量都可以通过前一天化合物中各元素的数量来计算:比如说,如果前一天的化合物中有100个31镓元素,那么次日的化合物中就会因此产生100个1氢元素,200个20钙元素,100个30锌元素,100个63铕元素和100个89锕元素。由分割的原理,化合物中的每一个元素都可以看作是在独立演化而不和化合物中其他(同种或不同种的)元素的演化过程相互干扰。92种元素中的每一种都可如此算出次日产生的元素数量,求和后就可得出次日产生的化合物中每种元素的含量。下面给出了第8项到第20项以及第99和第100项的结果:

康威常数2

接下来当然就很简单了,统计一下每种元素里“1”,“2”和“3”的数量,乘以化合物中此种元素的数量,再分别相加,就得到了化合物中“1”,“2”和“3”的数量。计算的结果是,第100项有511247092564个数字,其中有253103530928个"1",63796211233个"2"和94347350403个"3"。“1”,“2”和“3”在此项中的比例大约分别是49.507084658%,32.038560926%和18.454354416%。(上面这三个百分比相加不严格等于100%,因为分别有尾数的四舍五入。下同。) 注意到这个结果和我们上面粗略的估计千亿这个数量级是相符的。

对第100项可以这样算,对第1000000项也同样可以这样算,没有什么原则上的不同。只是对第1000000项来说,其中所含的元素数量实在太多,如果在编程时使用普通的32位或64位甚至128位的整数类形来表示是远远不够的,必须使用支持任意长度整数的数据类型,比如Java语言中的BigInteger。不过在此无法将这些数字具体写出来:第1000000项的长度以十进制数表示出来的话会有115137位,写出来将是一本中篇小说的篇幅。“1”,“2”和“3”的数量也一样无法具体写出,它们在此项中的比例分别约为49.507077868%,32.038585700%和18.454336321%。

看来当项数比较大时,“1”,“2”和“3”在数字串中的比例会趋向定值。这其实是算术引理的推论。因为随着项数趋于无穷,各元素在数字串中的比例趋近于它的丰度。以每种元素中“1”,“2”和“3”的数目乘以它的丰度,再分别相加能得到三个数字a,b和c,将它们归一化操作(即分别除以a+b+c)后就得到了当项数趋于无穷时“1”,“2”和“3”的比例的理论值,结果是约49.507077857%,32.038585734%和18.454336411%,和上面的结果相符。

我们可以问,为什么上面使用的计算长度的方法要比直接产生此项数字串再统计其长度的暴力法的计算速度快得多。因为在这种方法中,元素之间的顺序这个信息被省略而不参与计算。在前面的表中,我们只知道每一项化合物中每种元素有多少,但不知道它们分别处于化合物的什么位置。依照化学中表示物质组成的化学式来作比方的话,直接产生某项数字串类似于要知道物质的结构式,而上面的计算则只是得到了物质的实验式。而我们要知道数字串的长度或是其中“1”,“2”和“3”的数量,却恰恰并不需要知道元素之间的顺序。

 

七、具体的应用:第1000000项的某位数字

前面一节中的计算因省略计算元素之间的信息而变得迅速,但康威的理论也同样能帮助我们快速地知道,以1开始的边说边看序列的某项数字串的某个具体位置的数字是什么。

比如我们可以计算出,序列的第1000000项是以“132113213221133112”开始的。这我们甚至可以用手算:它的第8项以72铪开头,于是第9项以71镥开头,然后依次以70镱,69铥,68铒,67钬,66镝,65铽开头,第16项又以67钬开头,我们发现了67钬→66镝→65铽→67钬……这个循环,所以此后所有3n的项都以65铽开头,3n+1的项都以67钬开头,3n+2的项都以66镝开头,于是第999999项以65铽开头,而第1000000项以65铽一天后的衰变物,也就是6764钆开头。要计算第1000000项是以什么结尾的可用类似办法。这其实是起首引理和结尾引理的推论。

任意给定自然数n,要计算第1000000项数字串的第n位是什么数字则比较麻烦一点,但原则上来说也不难,当然一般不能用手算。序列在第8项演化成7250锡。而按照前面的方法,我们可以精确计算72铪演化1000000-8=999992天后产生的化合物的长度d;如果d大于等于n,那么原问题就转化为72铪演化999992天后数字串第n位是什么数字,反之则转化为50锡演化999992天后数字串第n-d位数字是什么。这种方法可以一直继续下去直到求出结果:当化合物中有超过一个元素时,我们求出第一个元素最终产物的长度,以便知道我们感兴趣的那一位数字是否由它产生,如果不是,则可以抛弃这个元素(并修正所求数字所在的位数);当化合物中只有一个元素,则将其代换为它一天后的衰变物,再重复这个步骤。

上面的算法的具体实现则需要一点技巧,因为单独一次计算某元素在若干天后产物的长度虽然并不耗时,但如果每次使用都需要重新计算的话,所用的总时间也是惊人的。所以可以预先计算,要用时再查表。可是如果所有计算结果都储存的话,需要的空间相当大(大概超过2To)。笔者采用折衷的方式,储存每隔1000天的结果,将所需空间削减为原需的千分之一,中间结果则在需要时再当场计算填充。具体的程序实现属于编程和算法问题,在此就不详细介绍了。在一台并不很新的个人电脑上,笔者的程序用大约20分钟生成上面所说的元素产物长度表格,每回答一个“第1000000项数字串中间第n位是什么”的问题则需要大约10分钟。计算结果:序列从第1040000位开始的几个数字是3222112,它其实是一个3锂元素的结尾部分;第1090000位开始的几个数字是312,它其实是一个23钒元素的结尾部分。

八、线性代数的语言

现在我们来讨论本文最有意思的部分,关于算术定理的证明。这部分证明必须用到线性代数的知识,所以从现在起我假设读者了解线性代数的一般知识。

根据元素列表中的“一天后衰变物”一栏,我们定义一个92×92的矩阵M,它在第i行第j列处的值为第j号普通元素一天后衰变物中的第i号普通元素的数量。比如说1氢的一天后衰变物仍是1氢,于是矩阵的第1列只有在第1行处的值为0,其余均为0;而31镓的一天后衰变物是63208912030锌,于是M的第31列在第1、30、63和89行处的值为1,在第20行处的值为2,在其余行处的值为0。我们把这个矩阵称为边看边说矩阵

矩阵M的规模比较大,在网页上不容易完整地表示出来。好在它的元素很简单,大多数是0,其余的基本都是1,只有一个值是2,所以我们可以用下图中点阵的方式来表示这个矩阵,其中每个白点表示此处值为0,黑点表示1,红点表示2。

康威常数2

M的点阵表示

矩阵M包含了普通化合物演化的几乎所有信息。说“几乎”是因为它和第六节中的计算一样,忽略了演化过程中各元素间顺序的信息。对任意一个普通化合物C,我们都可以写出一个有92个分量的列向量u来,它的第i个分量是C中第i号普通元素的数量,我们称它为普通化合物C对应的向量

任何一个普通化合物C,如果它在次日演化成C',那么容易看出,C'对应的向量u'=Mu,也就是说“左乘M”代表了“演化1天”的操作(但是忽略了元素次序)。想知道C'再过一天的演化结果所对应的向量,只要在u'左边再乘以一个M,所以是M2u,这是C演化2天后所得化合物对应的向量。如此下去,C在第n天的演化结果所对应的向量就是Mnu这就把(忽略了元素顺序的)普通化合物演化过程完全地用线性代数的语言表述出来

比如第六节中那个表格现在就可以用矩阵的语言相当简明地表达。令u是第50、72分量为1,其余分量为0的列向量(对应于第8天的普通化合物7250锡),“化合物中元素个数”一栏表述的其实就是向量Mn-8u的各个分量,其中n是以1开始的边看边说序列的项数。

于是我们可以用线性代数的语言和工具来表述和研究边看边说序列的演化问题。算术定理叙述的,实际上就是当n趋向于无穷时,矩阵Mn的性质。康威在论文中提到的Perron–Frobenius定理,就是这样一个阐述矩阵的幂的极限性质的定理。我们先来看一下它的经典形式。

 

九、Perron–Frobenius定理

如果A是一个其中元素都是正实数的m阶正方矩阵。Perron–Frobenius定理断言,A的特征多项式必定有一个单的正实根μ,而且它严格大于所有其他的根的绝对值(其他的根有可能是复数)。我们知道这个根μ是A的一个特征值,Perron–Frobenius定理说,它必定有一个所有分量都是正实数的特征向量v。因为μ是单根,所以它的特征空间是1维的,就是由v生成的。

当我们说一个矩阵的“特征向量”时,我们通常指的是它的特征向量,也就是说Avvv是一个列向量(或可以说是一个m×1的矩阵)。但A同样也有关于μ的特征向量w,它可以看作是A的转置矩阵tA的(右)特征向量的转置,是一个行向量(或可以说是一个1×m的矩阵),满足wAww当然也可取成其中分量都是正实数的,而且我们还增加一个要求,要求wv=1(行向量乘以列向量的结果可以看作是一个数,也叫这两个向量的内积),这可以通过将w乘以合适的系数做到。

 

Perron–Frobenius定理进一步说,当自然数n趋向于无限时,矩阵序列{(1/μn)An}的极限是矩阵vw(不要和上面的wv=1的要求搞混了,列向量乘以行向量的结果是m阶正方矩阵)。

这实在是一个非常漂亮的定理!要是它适用于边看边说矩阵M的话,Mn在n趋于无穷时的性质就可以通过计算M的特征值和特征向量得到,算术定理也就唾手可得了。

很遗憾,至少是在康威写作论文的那个时代,Perron–Frobenius定理对M并不适用——它的系数充满了不是正数的0。Perron–Frobenius定理也存在着其他一些形式。在某些形式里,条件被放宽为矩阵的元素可以是大于或等于0的实数,但矩阵必须是不可约的或是对称的,或是存在某个k使得Mk的元素都严格大于0,这些也是M所不能满足的——因为M显然不对称,而由于1氢元素的性质,M的第一列除了第一项外都等于0,这使得它是可约的,而且对任何自然数n,Mn的第一列除了第一项外也都等于0。

在这里岔开去说一点,Perron–Frobenius定理是相当有用的一个定理。在实际当中我们常会碰到元素均大于0或是均大于等于0的矩阵,最常见的有马尔科夫链的状态转移矩阵和图论中的邻接矩阵。Google公司搜索引擎的核心技术PageRank(网页排名)就是基于转移矩阵理论和对上面所说的那个特征值的计算,而Perron–Frobenius定理则保证了这个特征值的存在性。从理论上来说,Google要对付的那个矩阵的行和列数,和它搜集的网页数相等,是当之无愧的巨无霸矩阵。如何对它作特征值计算,大概是Google最重要的商业秘密之一,当然这是本文的题外话了。

十、加强版算术定理

因为前面所说的那些形式的Perron–Frobenius定理都不能应用于边看边说矩阵M,于是康威就在论文中用直观的方法证明了一个猴版的结论,也就是前面介绍的算术定理。之所以称它是“猴版”,是因为其结论是不完全的。它只是说,从任何一个普通化合物开始,每一步演化得到的数字串的长度和上一步相比,越来越趋近于康威常数λ,却没有对演化n天后的数字串的长度作直接的估算。下面这幅11钠,29铜和62钐开始演化后30天内序列中数字串长度的统计图很直观地显示了这个定理的正确性。注意到图中纵轴是对数坐标轴,指数函数在这样的坐标系中的图像是直线。随着项数的增长,图中的三条曲线很快都近似直线。三条直线的斜率都一样,通过算术定理我们知道这斜率就是康威常数λ。

康威常数2

长度的增长

但是算术定理无法说明的是,三条直线高低不同的位置是由什么决定的。如果把三条直线所对应的指数函数写成y=cλn的形式,我们就要问:对于每种不同的普通化合物,它所对应的c是由什么决定的,如何计算呢?下面的表中,我们对若干项n计算了以上述三种普通元素开始的边看边说序列的“演化n天后数字串的长度/λn”的值,也即上述c的经验值:

演化天数112962
09.00000006.00000006.0000000
19.20543826.13695886.1369588
28.23862014.70778299.4155658
38.12572596.32000909.0285843
48.31120756.92600638.3112075
57.43830765.313076910.094846
66.92880356.521226810.596994
76.56586336.87852359.3798047
86.23604325.756347510.553304
95.51976066.255728710.855529
105.22232546.77490879.5977873
205.29914806.12589489.9309221
505.29850206.050634010.037356
1005.29939126.050388710.035343
10005.29939036.050390710.035341
100005.29939036.050390710.035341
1000005.29939036.050390710.035341

看来,与11钠,29铜,62钐相对应的c值应该分别大约是5.2993903,6.0503907和10.035341。29铜和62钐的长度都是6,可是对应的c值却差许多;11钠的长度是9,可是对应的c值却反而小于29铜和62钐的。也就是说,从两个初始长度相同的化合物出发,接着用相同时间演化出来的化合物长度可以差许多,甚至有可能初始长度长的化合物,接下去演化出来的化合物的长度反而短。算术定理无法告诉我们这是为什么,更不能对每种化合物预言和它对应的c值。

康威的论文写于1980年代。二十多年后,代数学家们对Perron–Frobenius定理的研究更加深入,与其说现在我们有Perron–Frobenius定理,不如说我们有Perron–Frobenius理论,我们拥有了当年康威所没有的工具。文献[2]中的定理2.4简直就是为边看边说矩阵M量身定造的。它说,如果一个n阶实系数正方矩阵A有一个绝对值最大的正特征值,而且和它相关的左右特征向量都可以取分量非负的话,那么前面Perron–Frobenius定理中所叙述的“当自然数n趋向于无限时,矩阵序列{(1/μn)An}的极限是矩阵vw”的结论同样成立。

注意到在原版Perron–Frobenius定理中,关于存在绝对值最大的正特征值以及正分量的左右特征向量的命题,是结论的一部分,在上面的定理中则成了条件的一部分。对于矩阵M,这个条件是可以独立计算和验证的。关于矩阵的特征多项式、特征值和特征向量的理论,是线性代数的基础知识,在此我就不重复了。

康威证明了,M的92次的特征多项式可以被因式分解,去掉那些根为0或±1的因子,剩下的就是我们在算术定理中看到的那个71次多项式。下图是这个多项式的解的图示,最右方红点即康威常数λ。

康威常数2

71次多项式的解。图中心为原点,每一小格边长为0.5

在这里值得一提的是幂法求特征值的迭代算法(具体方法可以以“幂法 特征值”为关键词在网上查询)。本来这个算法有点鸡肋,因为它只能求绝对值最大的特征值(如果改变一下也可求绝对值最小的特征值,称为反幂法),所以如果要求所有的特征值就不适用了。可是这里我们恰恰只需要求绝对值最大的特征值,用求所有特征值的算法求出一堆特征值来到反而还得另去筛选出绝对值最大的来,反而麻烦。而且幂法能同时求出这个特征值和相关的特征向量。这简直是要睡觉就有人送上了枕头!笔者用这个方法轻松地就求出了M这个绝对值最大的特征值小数点后三百位的值和精确程度类似的相应的特征向量,虽然这么精确的数据其实没什么大用处。

于是我们就有了比原版算术定理更强的
加强版算术定理
1) 边看边说矩阵M有一个在其所有特征值中绝对值最大的特征值λ。λ为正实数,是M的特征多项式的单根。
2) M有一个关于λ的,分量都是正实数的,分量之和为1的(右)特征向量v,我们称v丰度向量
3) M有一个关于λ的,分量都是正实数的左特征向量w,满足wv=1。我们称w富度向量
4) 当自然数n趋向于无限时,矩阵序列{(1/λn)Mn}的极限为矩阵vw

事实上定理中的λ就是康威常数λ。在原版定理中它是一个神秘的71次多项式的根;而在加强版定理中,它被明确为边看边说矩阵的唯一的绝对值最大的特征值。下面我们来看看如何由上述加强版定理推导出原版算术定理。

注意到在文献[2]定理2.4中,v并不是被唯一确定的,而是可以被乘以任意一个正实数,而在上述加强版定理中,对丰度向量v有一个“分量之和为1”的附加要求,v就被唯一确定了。正如它的名字所暗示的,v的各个分量就是各普通元素的丰度:第1个分量对应着1氢的丰度,第2个分量对应着2氦的丰度,等等。

富度向量w因此也被唯一确定,我们可以定义第n号普通元素的富度w的第n个分量。从线性代数的观点来看,wv是相对于同一个特征值的左右特征向量,是对偶的数学对象,所以我们可以把丰度和富度看作是对偶的概念。丰度的英文为abundance,于是和它对偶的富度可以反译回去称作coabundance。

我们不仅可以对普通元素定义其富度,而且可以对一般的普通化合物定义它的富度:普通化合物的富度就是组成它的普通元素的富度之和(同一种元素多次出现则对其富度多次求和)。比如化合物63208912030锌的富度就等于63铕、89锕、1氢、30锌的富度加上两倍20钙的富度。上述定义可以用线性代数的语言简单地写为:令C是一种普通化合物,设它所对应的列向量是u,那么它的富度就是富度向量wu的内积wu

在讨论富度的实际意义前,我们先列出所有普通元素的长度、丰度和富度:

元素长度丰度富度
120.09179038325.6080827086
2320.00323729693.2519030758
3270.00422006662.4945994020
4420.00226388604.4173991800
5340.00295115043.3886745994
6280.00384705252.5995195528
7240.00501493021.9941430512
8180.00653734911.5297467197
9140.00852193971.1734990753
10120.01110900680.9002144354
1190.01448144880.6905723633
12100.01885044121.0642759581
13100.02457300670.8164272141
1470.03203281300.6262975226
15120.01489588671.5173799538
16100.01941793921.1640122836
1760.02531278420.8929369292
1840.03299717010.6849896438
1940.04301436090.5254691533
2020.05607254310.4030978184
21160.00930209742.2191977577
22140.01212600281.7023906526
2380.01580718161.3059376632
2450.02060588261.0018107052
25120.02686136021.2489541407
2680.03501585850.9580975139
2750.04564587730.7349756218
2880.01387112421.0277878559
2960.01808208220.7884364666
3030.02357139130.6048252645
31170.00144789062.3774502059
32230.00188743722.8607239388
33262.72462160762.7242698891
34203.55175479442.0898415106
35164.62998681521.6031589076
36146.03554556821.2298150218
37107.86780000890.9434155159
3871.02562852490.7237127697
3971.33698603150.7923865601
40231.74286459972.2353942193
41282.27195867522.9203125825
42202.96167368522.2402297523
43153.86077049431.7185247131
44213.28994805762.3970976690
45244.28870150422.8757958978
46185.59065379452.2060801198
47127.28784920561.6923278521
48109.50027456451.2982182892
4980.00123843420.9958890202
5050.00161439470.7639662365
5170.00210448821.1205778552
52130.00274336301.9384007646
53180.00357618562.5239203970
54140.00466183431.9361494381
5580.00607706121.4852586679
5660.00792191881.1393714076
5750.01032683330.8740344241
58100.01346182521.5435278845
5980.01754852931.1840708803
6060.02287586390.9083242769
6130.02982045620.6967935837
6260.01540811521.3077219948
6370.02008566871.0031795014
64110.02166297281.6425976370
65160.02823935892.2970039458
66120.03681218641.7620773240
6770.04798752941.3517244937
6890.00109859561.5714588817
69140.00120490842.0785360303
70100.00157069121.5944862492
7160.00204751731.2231620535
7250.00266909700.9383118918
73322.42077366663.2519030758
74273.15566552522.4945994020
75421.69288018084.4173991800
76342.20680012293.3886745994
77282.87673447752.5995195528
78243.75004567391.9941430512
79184.88847429831.5297467197
80146.37250397551.1734990753
81128.30705132930.9002144354
8290.00108288830.6905723633
83100.00141162861.0642759581
84100.00184016700.8164272141
8570.00239879980.6262975226
86120.00312702091.5173799538
87100.00407631341.1640122836
8860.00531378950.8929369292
8940.00692693520.6849896438
9040.00758190470.5254691533
9120.00988359860.4030978184
9211.02562852490.3092243383

任取一种普通化合物C,设它所对应的列向量是u,那么n天后C演化成的化合物所对应的列向量就是Mnu。根据加强版算术定理的3),我们知道当n趋于无穷时,(1/λn)Mnu会趋于vwu。所以对Mnu在n充分大时的性质的研究可以转化为对vwu的性质的研究。

因为矩阵的乘法满足结合律,所以vwu=v(wu),而上面我们已经知道,wuwu的内积,即化合物C的富度,它是一个实数,令它为d,则vwu=dv。这证明了从任何一种普通化合物出发,Mnu在n充分大时和λndv差不多;也就是说,经过足够长时间后,它里面的各元素的百分比就会趋近于丰度向量的各分量。这就是原版算术定理中“每种元素在这些数字串中的比例越来越趋近一个大于0的常数值”这一部分。

我们定义量长向量是这样的行向量,它的各分量分别为各普通元素长度:(2, 32, 27, 42, ……),记它为r。那么容易看出u所对应的化合物的数字串长度就是ru。所以量长向量有测量化合物长度的功能。r和丰度向量v的内积则是一个常量,记它为L,我们可称其为量长常数。(如果滥用一下术语,我们可以说L是丰度向量v所对应的化合物的数字串长度。当然不可能真有哪种化合物所对应的向量会是v,因为v的分量都不是整数,甚至不是有理数。)根据上面的表格容易计算出L≈7.6739102369。对应于Mnu的化合物的长度为rMnu,它约等于rvwuλn=drvλn=dLλn。换句话说,当n相当大时,dLλn是C在n天后演化结果的长度的很好的估计。

这下我们看出来了,dL就是对本节开始想求的c,即化合物的富度乘以量长常数。对11钠,29铜和62钐来说,其富度乘以量长常数的值分别约为5.2993903280,6.0503906721和10.0353412031。这三个数字和前面计算的经验值完全符合。

严格地写成命题的话就有:
量长推论)令普通化合物C的富度为d,它在第n天后演化结果的长度为hn,那么当n趋向于无穷时,dLλn/hn趋向于1,其中L为量长常数。

从这个结论很容易推出原版算术定理中“从任何一个普通化合物开始,每一步演化得到的数字串的长度和上一步相比,越来越趋近于固定常数λ”这部分。于是原版算术定理完全得证。

十一、更多的推论

一件有趣的事情是,如果我们将上面的r由量长向量换成每个分量都是1的行向量(1, 1, 1, 1, ……),那么ru就是u所对应的化合物中的元素个数(于是这个向量我们可以类似地称为计件向量,即以“件数”来称呼化合物中元素的个数),而rv精确地等于1(可称其为计件常数,滥用一下术语的话,丰度向量v所对应的化合物中恰好有1件元素)。对应于Mnu的化合物中的元素件数为rMnu,它约等于rvwuλn=drvλn=dλn。即在n相当大时,dλn是C在n天后演化结果中元素件数的很好的估计。

严格地写成命题的话就有:
计件推论)令普通化合物C的富度为d,它在第n天后演化结果中的元素件数为sn,那么当n趋向于无穷时,dλn/sn趋向于1。

如果再翻译回原版定理的说法,那就是“从任何一个普通化合物开始,每一步演化得到的元素个数和上一步相比,越来越趋近于固定常数λ。”事实上,这才是原版中的原版。康威的论文中的算术定理就是以化合物中元素个数为对象论证的,而不是象在本文上篇中那样,以化合物长度为对象。

这下我们达到了思路广的境界——量长和计件向量只是两个特定的向量而已,而每给定一个92个分量的行向量,上面的论证都可以被照葫芦画瓢地小小改编一下得到一个相应的推论。当然,这个行向量如果随便给就太没意思了,我在下面提几个有某种实际意义的例子。

令C是一个普通化合物,我们定义它的重量是它的所有数字之和。比如1氢的重量是2+2=4,11钠的重量是1+2+3+2+2+2+1+1+2=16。那么我们可以定义称重向量为各分量是各元素重量的行向量(4, 56, 47, 72, ……),定义称重常数则是称重向量和丰度向量v的内积,约等于12.964860969。我们有
称重推论)令普通化合物C的富度为d,它在第n天后演化结果的重量为wn,那么当n趋向于无穷时,dLλn/hn趋向于1,其中L为称重常数。

类似地我们可以引入“计1向量”、“计2向量”和“计3向量”,其分量分别是各元素中的“1”、“2”和“3”的个数,同样可定义“计1常数”、“计2常数”和“计3常数”,得到类似上面推论的“计1推论”、“计2推论”和“计3推论”。

十二、附记

如果对照康威原论文和本文内容的话,读者会发现在定理和引理的叙述方面有一些不同,最明显的是本文的化学定理变成是完全关于普通化合物的命题了,原本其中关于包含任意字符的数字串的部分,被移动到宇宙学定理中。这样的改动主要是出于科普文介绍的方便,康威从文章一开始就考虑包含任意字符的数字串,而笔者则需要注意循序渐进,以及将不同难度的问题分开。