数学之美理科生的果壳有意思的文章

反直觉的实数轴

2016-07-04  本文已影响0人  火烧风

(这是一篇关于数学的科普文,我保证任何一个具有初中数学知识的人都能看懂,只是可能需要费一点脑筋。)

1.

若要比较一个班上男生女生的人数多少,最直接的办法,当然是数出男女生各自有多少人,然后比较数字即可;但也有一种间接的做法,即把男生女生一 一配对,最后哪方有剩余,就表明哪方的人多了。

这后一种方法看上去挺傻,而且引人遐想。但如果男女生各有无穷多人呢?要知道,人数为无穷多时,已无法数出各自有多少人。那这后一种方法,似乎倒成了唯一可行的方法了。

这正是19世纪的数学家康托尔所考虑的方法,他打算以这种一 一对应的方式比较两个无穷集合的大小。当时没有多少人为这个问题操心,一般的看法是:“既然已经是无穷大了,比较两个无穷的大小还有意义吗?”

但康托尔却坚信这问题是很有意义的,也正是通过他的探索,实数轴的一些惊人的性质展现了出来。

先从最简单的开始:奇数集{1,3,5,……}和偶数集{2,4,6,……},这两个集合间显然能建立起一 一对应:(1,2),(3,4),(5,6)……所以这两个无穷集合是一样大的。

那么,正整数集{1,2,3,4,……}与偶数集{2,4,6,8,……}呢?从直觉来看,偶数集是正整数集的一个部分,那么偶数集就该比正整数集小。然而,我们这里的直觉来自我们对有限集合的考察,事实上,涉及到无穷集合时,人的直觉是往往会犯错的

由于正整数集的每个元素乘以2后就是偶数集的相应元素,所以两个集合的元素间存在一 一对应。因此,正整数集和它的子集偶数集是一样大的。

是时候引入一些严格的术语了。集合中元素的个数叫做该集合的,两个集合一样大意味着它们是等势的集合。正整数集和偶数集有相同的势,这个势记作

ℵ₀,读作“阿列夫零”。

一切势为ℵ₀的集合,叫做“可数集”。为什么称其为“可数”呢?因为对于这样的无穷集合,你可以对其中的每个元素进行编号,标为a1,a2,a3,…an(实际上也就是建立了它和正整数集合的一 一对应)。这个无穷集合里的元素可以这样一个个地数下去,所以该集合被称为可数集。

偶数集是正整数集的一个子集,而两者是等势的。同样的,正整数集是有理数集的一个子集,两者是否是等势的呢?

可以证明结论是成立的。具体过程我就不写了,直接用网上找的一张图来说明思路:

证明一个无穷集合为可数集的关键,在于寻找一种方法来给这集合中的每个元素编号。上图中就是一种编号的方法。

先把所有有理数写成分数的形式。再按分子与分母之和的不同,把这些有理数归到不同的类。比如1/2与2/1,分子与分母之和都为3,所以它们是同一类。1/3,2/2,3/1,分子与分母之和都为4,所以它们是另一类。这样就可以给每个元素编号了:

a1=0

a2=1/1

a31=1/2,a32=2/1

a41=1/3,a42=2/2,a43=3/1

……

因为所有有理数,都可以这样被编号,所以有理数是可数集。

我们知道,有理数在实数轴上是处处稠密的,也就是说,在两个有理数之间,总还存在别的有理数,不管它们靠得多近。(这只需注意到,若a,b为有理数,则(a+b)/2也为有理数,且(a+b)/2在a和b之间。)

但整数并非处处稠密的。直觉上看,处处稠密的有理数应该比看似更加稀疏的整数更多,然而,它们却有相等的势,这是实数轴上,第一个反直觉的结论

2.

前面论证了,偶数、整数、有理数,它们都是可数集,都有相同的势ℵ₀。那么,有理数作为实数的子集,实数是否也是可数集呢?

康托尔证明了,实数不是可数集。这就是他著名的“对角线证明”。有人说,不知道“对角线证明”相当于没有学过“实变函数”。可见其重要性。还好,这个证明本身并不难理解。

康托尔采用的是反证法(很多巧妙的证明都用的是反证法),他先假设区间(0,1)上的实数是可数的,然后构造了一个矛盾,从而推翻了原假设。具体地讲,康托尔是这么做的:

如果(0,1)上的实数是可数的,那么就存在一种给(0,1)上所有实数编号的方法,比如,在该方法下列出的所有(0,1)上的实数如下:

数1,    .34538294305……

数2,    .21248392843……

数3,    .29483213447……

数4,    .57490000000……

数5,    .78759237382……

数6,    .00000000100……

……

康托尔接下来打算构造一个实数,该实数位于(0,1)区间,却不在上面的队列中。于是就可以推出矛盾了。

怎么构造呢?康托尔先取出第1个数的小数点后第1位,第2个数的小数点后第2位,第3个数的小数点后第3位,……第N个数的小数点后第N位,……然后将取出来的部分相加得到一个新的数:

.314990……

再把这个新的数的小数点后每一位都加1(其实加2,加3都可以,关键是要产生不同),如果某一位是9,加1后就写成0,不用考虑进位。这样产生的最终数X为:

0.425001……

接着,康托尔声称,构造出的最终数X不在上面的数列中。这是因为,X的第1位和数列中第1个数的第1位不同,所以X和第1个数不同;同样的,X的第2位和数列中第2个数的第2位不同,所以X和第2个数不同;一般的,X的第N位和数列中第N个数的第N位不同,所以X和第N个数不同。

于是我们就证明了,X和数列中的任意一个数都不同。但最初的假设中宣称该数列中包含了(0,1)上的所有实数。

X是实数,在(0,1)上,却不包含在该数列中。于是产生矛盾。这说明最早的假设“(0,1)上的实数是可数的”是错的,所以(0,1)上的实数是不可数的。

这结论可以很方便地推广到整个实数域,即,实数是不可数的。

证明过程中,康托尔选取数的轨迹恰如一条斜向下的对角线,所以这个证明方法被称为“对角线证明”。

实数是不可数的,意味着实数的势比有理数的势更大。但具体大多少呢?

我们先考虑一个集合所拥有的子集的个数。

比如集合{0,1},它拥有空集,{0},{1},{0,1} 4 个子集。集合{0,1,2},它拥有空集,{0},{1},{2},{0,1},{0,2},{1,2},{0,1,2} 8 个子集。一般的,若一个集合含有X个元素,则它的子集个数为2^X个。同样的,若一个无穷集合的势为

ℵ₀,则它的所有子集的势为2^ℵ₀

而下面我们要证明,实数集的势就为2^ℵ₀。

我们先把正整数一个个写出来,写成一行:

1 2 3 4 5 6 7 8 9 10 11 12…………

再写出一些(0,1)上的实数的二进制形式:

.0 0 1 1 0 0 0……

.1 0 1 0 1 0 0……

这些二进制实数可以这样理解它的含义,若第N位为1,表明选取了正整数集中的第N个元素;如果为0,则表明没有选取。所以,(0,1)上的二进制实数,它的小数点后的每一位,都对应着正整数集中各个相应元素的取舍。也就是说,它恰好对应正整数集的某个子集,即:

.0 0 1 1 0 0 0……        对应{3,4}

.1 0 1 0 1 0 0 ……        对应{1,3,5}

于是,正整数的每个子集都可以对应到某个(0,1)上的二进制实数,同时每个(0,1)上的二进制实数都可以对应到正整数的某个子集。于是,建立起了(0,1)上的实数和正整数的子集之间的一一对应

又因为正整数是可数集,它的势为ℵ₀,而正整数的子集的势为2^ℵ₀。所以(0,1)上的实数的势也为2^ℵ₀。

而(0,1)上的实数又可以和整个实数建立一 一对应(对这个的证明我就不写了),所以整个实数的势也为2^ℵ₀。

那2^ℵ₀比ℵ₀大多少?这个没法直接算,因为ℵ₀是个超穷数。但你可以以一个正整数为例来感受一下,比如2^35比35大多少(2^35=34 359 738 368)。

这就是实数轴第二个反直觉的地方了。我们知道在实数轴的每一个区间内,都包含着无穷多的有理数。好像有理数已经把实数轴填满了。然而,一旦我们把实数轴上的无理数抽走,只留下有理数,这就好像把整个沙漠拿走,只留下一粒沙

3.

人们对实数的认识还在不断加深。1937年,艾伦·图灵提出了“可计算数”的概念。所谓“可计算数”,是指对于某个数,如果存在某个算法,通过该算法可以计算出这个数的任意位数,我们就称这个数是可计算的。比如圆周率π,它是无理数,也是超越数,但有算法可以计算出它的任意位数,所以它是可计算的。

与“可计算数”对应的,也就是“不可计算数”,对于“不可计算数”,就不存在某种可以将其计算到任意精度的算法。

图灵证明了每个可计算数都与一个“图灵机”相对应,而“图灵机”是可数的,所以可计算数也是可数的。

也就是说,可计算数,尽管包含了所有有理数,无理数中的所有代数数和部分超越数(如π、e),但可计算数的势仍然只是ℵ₀。在实数轴上,可计算数与有理数一样,仍然只是沙漠中的一粒沙。

实数轴,看上去平平无奇,似乎轴上的数字都是我们可以掌控的。但图灵告诉我们,这条轴上的几乎所有数字,都是无法精确计算的。这是实数轴第三个反直觉的地方

4.

关于实数轴的这些反直觉的事实,究竟是只存在于数学观念中的怪兽,还是现实世界的某种真实写照呢?如果是后者,那么这些事实就似乎带有这样一种意味:我们的世界,表面看来充满了秩序和确定性,但在这秩序和确定性的背后,却是广阔无边的混乱和不确定性

事实是否如此?只有等科学的发展给出答案了。

上一篇 下一篇

猜你喜欢

热点阅读