7

无法用语言描述的数字

 2 years ago
source link: https://oldj.net/article/2022/02/26/numbers-that-cannot-be-described/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

无法用语言描述的数字

2022-02-26

问题是这样的:是否存在这样的数字,我们知道它存在,却无法用语言描述它?

先抛出结论:存在。

要证明这样的数字存在,我们需要先定义一下什么是“可描述”,在这儿,我们采用一个简单粗暴的定义:可以使用有限个字符精确指定的事物,被称为可描述。对于数字来说,即是可以使用有限个字符精确表示的数字。

比如各个自然数:1、2、3……,小数:0.5、0.˙3 ……,分数:13、1729 ……,无理数:√2、√3 ……,等等,都是可以用有限个字符精确表示的。

一些特殊的数甚至还有专门的名字,比如圆周率 π,自然常数 e,这一些自然也是可描述的,它们的名字就是对它们的描述。

还有一些比较复杂的数没有专用名字,但可以用算式精确表示,比如 cos(√75)、1−13+15−17+19−…、……,等等,也是可描述的,这些算式就是对它们的描述。

但如果只给出一个数字的前面 n 位,却不知它后面的数字是什么,则不能说这是对这个数字的描述。比如 0.966554122907…… 就不是一个描述,因为它不能精确指定一个数字。就好像在班级里,你可以说“学号是 19 的同学”,大家能知道你说的是谁,不会有歧义,但如果你说“学号是 1 开头的同学”,一般就会有几位同学符合条件,无法知道你在说谁了。

简单来说,要描述一个数字,你要么直接给出它的精确值,要么给出它的命名,要么给出一个能得到它的值的算式或者算法。

这儿有一个有意思的悖论,如果真的存在不可描述的数字,并且我们找到了这样一个数字,那么这个数字马上会变成可描述的,比如就将它命名为“那个由 oldj 在某日上午 10 点找到的数字”。这个描述看似不精确,但结合上下文以及语境,的确是可以锁定某个具体的数字的,于是,我们也认为这个数字可描述了。

那是不是说就不存在不可描述的数字了呢?

自然不是,因为我们可以找到一个、两个这样的数字,甚至可以在一定规则下找到无穷多个这样的数字,这些数字一旦被找到之后就自动变成可描述的了,但无论我们如何努力,仍然会有无穷多个数字无法被我们精确找到。

简单来说,我们的语言只有有限个字符,所能生成的所有的描述语句(包括各种算式、算法),尽管可能有无数种组合,却是可数的,也就是说,能以某种方式,与 1、2、3…… 这样的自然数一一对应起来。

像 1、2、3…… 这样的自然数,虽然可以一直增长到无穷大,数量上是无穷的,但却是最“小”的一种无穷(ℵ0),而数轴上的实数的数量,是一种更大的无穷,是不可数的。

关于实数为什么不可数,有很多精彩的证明,其中一个证明如下:

取 (0,1) 间的实数,假设实数是可数的,那么我们一定能找到某种方法,将 (0,1) 间的实数进行排序编号。不失一般性地,假设这种排序编号如下:

编号 数字

1 0.367907298575……

2 0.209006496378……

3 0.874761555568……

4 0.908158719864……

5 0.737294241171……

…… ……

此时,根据定义,(0,1) 中的任何一个数字,都可以从上面这个表中找到,不会有遗漏。

但我们总是可以构造出一个新的数字 x,使得 x 也在 (0,1) 之中,但小数点中的第 1 位与上表中编号 1 的数字的第 1 位不同,第 2 位与上表中编号 2 的数字的第 2 位不同,……第 n 位与上表中编号 n 的数字的第 n 位不同。比如这样一个数:

x=0.41520……

注意 x 与表中的每一个数字都不同,因为它与这些数字之间总是至少有一位数不一样:

编号 数字

1 0.367907298575……

2 0.209006496378……

3 0.874761555568……

4 0.908158719864……

5 0.737294241171……

…… ……

这就表明不可能构建出这样一个表格,能将 (0,1) 之间的数字全部毫无遗漏地排序编号,也即,(0,1) 间的所有数字是不可数的。

从上面的分析我们可以知道,一定存在无法用有限个符号精确描述的数字。即总是会存在那么一些数,我们知道它们存在,但不知道它们的精确值,也无法用某个算式或者算法将它表达出来。因为我们的由有限个符号组合而成的语言,表达能力存在上限,虽然这个上限是无穷大,但却是虽小的一种无穷,所有数字总数的无穷,大于我们的语言组合的无穷。

进一步来说,如果将每一个数字都当作一个事实(真理),那么宇宙中的事实(真理)的数量,也将是我们的语言所不能完全描述的。遗憾的是,我们现在的文明,甚至我们的思维,都是建立在有限个符号的语言之上的,从这个角度来说,我们的认知能力也有着一个上限,即使我们拥有无限的时间,我们恐怕仍然不足以认识到宇宙的一切事实。

也许有更高级的文明,能使用一种更高级的不可数的语言来描述这个宇宙,对他们来说,宇宙或许是另一个样子。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK