Skip to content
May 20, 2006

长度是怎样炼成的 (三)长度的意义

回到我们的主题:「长度」的意义上来。

先总结一下我们已经知道了的事情:

所谓(一维)测度,就是要给直线上的每个子集标上一个数字,使得它们满足下面两条性质:

  • 空集对应的数字(空集的测度)是零。
  • 若干个(但是至多可数无穷个)彼此不相交的子集,它们并在一起得到的子集的测度,刚好等于这些子集各自测度之和。

这样的测度存在很多种,而且几乎全都行为古怪。为了更好的符合「长度」的概念,我们添上第三条要求:

  • 如果把直线看作实数轴,那么从数轴上a点到b点的线段(这是直线的一个子集)对应的测度应当等于 b-a。

满足这三条性质的对直线上的每个子集定义的测度是不存在的。但是,如果放松要求,不对直线的每个子集定义而只对直线的可测子集定义测度,那么这样的测度存在并且唯一,数学上称为勒贝格测度。靠一系列定理的帮助,对直线的任何一个可测集(一般来说你能想象到的任何子集都是可测集),都有一套严密定义的公式能够把这个测度的具体大小算出来。

于是,数学家郑重宣布:

勒贝格测度就是人们通常所说的「长度」的严密定义,而且是唯一正确的定义。

「什么?」我们的哲学家朋友们一定要跳起来了。「你上面绕来绕去的说了一大堆让人听不懂的话也就罢了,你怎么能说这是关于长度唯一正确的定义呢?这顶多是你们数学家对这个词的理解而已,我最讨厌你们学理科的用这种自以为掌握绝对真理的口气说话了!」

「是么?」数学家回答道,「难道长度这个词还可能有别的理解不成?」

「当然可以。」哲学家愤愤不平地说。「亚里士多德说过……,莱布尼茨说过……,康德说过……,江泽民同志说过……,总之,人类对长度这个词的理解是经历过漫长的争论的,而且必然还会一直争论下去。每个人都有权提出自己的观点啊。」

「我不管他们怎么说,」数学家说,「我只问你心里有没有对长度的定义?」

「当然有了。」哲学家骄傲地说,「我认为,长度就是……」

「慢着,」数学家迫不及待的打断他,「我不想听你的哲学论文,我只问你,在你对长度的定义里,空集有没有长度?有的话,是不是零?」

「是……的。」其实哲学家暂时没想到空集这么细节的事情,但是他觉得反正这个无关紧要吧,所以先首肯了。

「那么,按照你定义的长度,数轴上从 2.76 这个点到 6.98 这个点的线段的长度,是不是等于 6.98-2.76=4.22?」

「这个废话,不然还叫什么长度啊。」哲学家有点不耐烦了。

「还有,如果我把可数无穷个有长度的集合放在一起,总长度等不等于各自的长度之和?」

「这个……」哲学家对于「可数无穷」这个词有点拿不准,「反正两个线段的总长度是等于它们各自的长度之和的,至于无穷个……好吧就算是吧,那又怎样?」

「那就结了。」数学家慢条斯理地说。「我根本不关心你关于长度的哲学观念是怎么建立起来的,我只想说,如果你的观念没有内在的逻辑矛盾,那它就一定和我们数学家所说的勒贝格测度是一回事。这就是我为什么说勒贝格测度是唯一正确的长度的定义。——你当然可以有你自己的定义,只不过它一定正好就是勒贝格测度!」

「什么和什么呀!」哲学家有点懵了。「可是你什么也没有定义啊,你只是自己号称证明了一个所谓勒贝格测度的存在,可是我们关心的是为什么!我们哲学家要问的是为什么从 2.76 这个点到 6.98 这个点的线段的长度等于 4.22,你却把它写在了定义里,这并没有回答问题本身啊。」

「唉,」轮到数学家不耐烦了。「从 2.76 这个点到 6.98 这个点的线段的长度当然也可以不等于 4.22,只要你不取勒贝格测度而换一种测度就成了,——问题是人们不喜欢那样啊。不是为什么它的长度等于 4.22,而是你首先要求了 4.22 这一属性,然后把它叫做长度。为什么只有在春天桃花才会开?因为是你把桃花会开的那个季节叫做春天的!」

哲学家:「……」

数学家:「……」

嗯,我不知道这段对话是把问题讲清楚了还是搅得更混乱了。当然这里面还有许许多多的细节需要阐明,下面让我们来更仔细的讨论一下吧。

「长度是什么?为什么从 2.76 这个点到 6.98 这个点的线段的长度等于 4.22?」正如前面那个数学家所说的,这个问法本身就是不合适的。我们给从 2.76 这个点到 6.98 这个点的线段赋予一种属性是 4.22,给从姚明的头到姚明的脚的线段赋予一种属性是 2.26 米,现在我们把这种属性叫做长度,如此而已。——这完全是人为的设定,没有任何先验的意义。数学家已经说了,你当然也可以给从 2.76 这个点到 6.98 这个点的线段赋予另一种属性是 3.86,给从姚明的头到姚明的脚的线段赋予另一种属性是 0.03 米,只要你足够细心,这种做法是不会引起问题的,只不过你自己定义的那种属性不再被人们称作「长度」罢了。你可以把它称为「短度」或者别的什么,没有问题。

有趣的是,——测度论的伟大也就体现在这里,——只要我们承认了诸如从 2.76 这个点到 6.98 这个点的线段的长度等于 4.22 这样一些朴素的论断,那么仅仅靠着逻辑推演,我们就能够给直线的几乎所有子集——可测集——计算出对应的「长度」来,哪怕它们已经变得不是那么直观。譬如说,单点集的「长度」是 0(不是什么无穷小,就是 0),2 到 5 之间的全体无理数的集合的「长度」是3,某个广义康托集(一种有着复杂分形结构的点集)的「长度」是2.86……这一切本来似乎都可以问一问为什么的事情,其实都只是逻辑的自然推论罢了,你要是不承认它们,就必然导致逻辑上的不自洽。

——为什么这个东西的长度是 0?那个东西的长度是 2.3?为什么这个奇奇怪怪的集合也会有长度?为什么它的长度不等于别的,偏偏等于根号 2?

因为长度满足那三条性质,所以必然如此。

——为什么长度要满足那三条性质?

因为人们把满足那三条性质的属性就叫做长度。你当然也可以用别的几条性质定义出来一个什么度,只是不能再叫长度就是了。

这就是「长度」这个词的全部意义。

「可是,」我们的哲学家还是不甚满意,「我还是觉得你没有真正回答我想问的问题。」

「还有什么呢?」数学家说,「我上面这些理论不都已经自圆其说了么?」

「就是这个自圆其说让我特别恼火。」哲学家说。「我总觉得你绕过了我真正的问题。我问为什么长度要这么定义,你说因为人们把这样定义出来的属性就叫长度,这当然没错,可是我其实想问的是,为什么会有这样一种属性存在?为什么自然界中的事物可以具有长度——或者用你的话说——这种属性?你当然可以告诉我说,因为数学上证明了你的那什么勒贝格测度一定存在,可是我不想听你那个证明,我想听到的是一个更深入的解释,为什么长度是得以存在的?」

「因为……因为我们能证明它实际上存在……」数学家迷惑不解的说。

「我不是问你它存不存在,我是问它为什么存在!」哲学家怒气冲冲的说。「你不觉得这是件不太自然的事情么?反正是一堆点,你又说了点的长度是零,可是一旦把点排列起来得到的线段就有了测度,在这个过程中发生了什么呢?这个不为零的长度是怎么出现的呢?——别又对我说你能证明它不为零,我要问的是为什么,——比证明更本质一步的那个为什么!」

「啊,」数学家字斟句酌地说,「你想问的其实是为什么线段的测度不等于简单地把点的测度加在一起对吧。是啊,这确实是个有趣的问题……」

这确实是个有趣的问题。

如果我们仔细检查关于勒贝格测度的那三条公理,会发现关于第一条和第三条并没有什么可多说的,可是第二条——至多可数个彼此不相交的子集的并集的测度等于这些子集各自测度之和——却多少让人心生疑惑。这句话读起来总是有点别扭。

如果我们把它换成「有限个彼此不相交的子集的并集的测度,等于这些子集各自测度之和」,听起来就会舒服多了,可是这里做了某种推广,从有限到无限,而且还不是任意无限个而是「至多可数无穷」个,这是为什么呢?

首先,这种推广是必须的:只对有限个的子集定义测度的可加性,这样得出来的测度会不满足人们的需要,——不仅仅是给长度一个精确定义的需要。测度论不只是为哲学家发明的,它要在数学的其他领域里以及别的自然科学领域里得到应用,而在这些场合里,我们时刻会碰到对无穷个集合的并集的测度的计算。我们必须在定义里就保证测度能够无穷相加。

可是另一方面,为什么又偏偏要限制可数无穷个集合才有可加性呢?

事实上,我们很容易就会发现,正是这一点促成了前面那个问题的出现:为什么线段具有长度?如果我们假设任意无穷个彼此不相交的子集的并集的测度等于这些子集各自测度之和,那么,既然线段是由无穷个点构成的而点又没有长度,那线段也应该没有长度才对。难道这一条是专门为了避免这个悖论才设置的么?

不是。我们很快就能看到,这种对于可数性的限制,有着更为本质的原因存在。

首先,让我们想想看把很多数相加是什么意思。我们一开始学到的加法是针对两个数而言的,给定任意两个数,我们能够算出它们的和。进而,我们把这一过程推广到了三个数求和:先对其中两者求和,然后再把这个和同第三者相加。依此类推,我们可以把四个数相加,把五个数相加……

请注意,这里的过程完全是递归的(inductively):只有定义了 n 个数的和,我们才能够继而定义 n+1 个数的和。然后,这样一直进行下去,我们就能够对任意有限多个数求和。——只是「任意有限」,还不是「无限」。

从有限到无限这一步跨越其实走得颇为艰难。哲学家也好别的领域的科学家也好常常随心所欲的使用数学词汇而并不特别在意自己是否真的明了它们的严格意义,可是数学家却不能如此自由。真正把无穷个数加起来,也就是数学中所谓的「级数」(series),这套理论的严密化在数学史上经历了相当长的一段时间。最终,借助于极限理论的帮助,真正严格的关于级数求和的理论才得以建立。——也就是说,事实上,什么样的无穷级数可以相加,什么时候不能相加,相加的时候要注意什么问题,这一切都受到了理论的约束。在这些理论的基础上,我们才能够确定当我们随口说出「把这无穷个数加在一起」的时候,我们确实知道我们在说什么。

什么是级数呢?级数就是把有限个自然数相加的自然推广:既然定义了n个数的和我们就能够进而定义n+1个数的和,那么,把这个过程递归地进行下去,我们就能够对任意有限多个数求和。当有无穷个数需要我们求和的时候,我们就只对它们中的前N个求和,并且让这个N不断变大,如果这一过程有极限,这个极限就被我们称为这个无穷数的和。

请注意上面这段话背后的涵义:当我们说「对无穷个数求和」的时候,我们其实潜在地要求了这些数的总个数必须能够通过 n->n+1->n+2……这样的过程来逼近,然后通过极限的方式定义它们的和。这也就是说,这些数的总个数必须是可数个!

让我们回忆一下什么是「可数个」:「可数个」就是能够和自然数集建立起一一对应的那么多个,用更直观的语言来说,「可数个」就是「可以一个一个数下去」的那么多个。只有一个集合里包含可数个元素的时候,我们才能够对于它应用数学归纳法,因为数学归纳法的本质就是「一个一个数下去」:当一件事对 n 成立时,我们进而要求它对 n+1 成立,这样的过程进行下去的极限,就是可数无穷。

那么,既然多个数的加法本质上是个递归过程,——只有先把 n 个数加起来,我们才能进而加上第 n+1 个数,——所以加法至多能对「可数无穷」个数来定义(也就是级数加法)。把「不可数无穷个」数加在一起,这件事情是毫无意义的!

这正是前面所有那些所谓哲学悖论的根源:当人们想当然的说着「把无穷个点的测度加在一起」的时候,他们以为他们是在说一件自然而然的事情,可是事实上,除非这无穷个点是可数个,否则这里的加法根本无法进行。不幸的是,任何线段都偏偏是由不可数个点构成的(它们是连续统)。

为什么线段是由点构成的,而线段的测度却不等于组成它的那些点的测度之和?因为「组成它的那些点的测度之和」这个短语根本没有意义,所以两者也不必相等。

这个回答也许有些出人意料,可是事情就是如此。很多问题之所以令人迷惑,不是因为它们真的是什么悖论,而只是因为问题本身没有被恰当的叙述。人们常常自以为是的使用很多词汇却罔顾自己是不是了解它们的真实含义,譬如说「求和」。人们随心所欲地说「把若干个数加在一起」却忘了其实不可能真的把它们「一下子」加在一起,加法是个递归过程,这就决定了如果要加的东西的个数太多(不可数那么多),它们就加不起来了。

(不得不补充一点——一个很扫兴的补充——在数学中,某些场合下我们真的必须要对不可数个数定义总和……数学家总是这样,为了各种极端情况而拓展自己的定义。在这些情况下,这种不可数个数的和也是能定义出来的。但是,这件事并不会对上面那些论述造成削弱:这里的特殊意义上的「和」是为了应付特别的目的而定义的,它和我们平时所说的求和已经不是一个意思了。)

也许哲学家还会追问:既然线段的测度不是组成它的那些点的测度之和,那么这个测度是从哪里来的呢?

它们不是哪里来的……它们是线段自己所固有的。这就是为什么我们在定义长度的时候非要加上第三条公理的原因:我们必须在定义里就写明线段的测度,否则就没有办法建立起直线的所有可测子集的测度的架构。事实上,既然点的长度是零,根据可数可加性我们很容易推出一切可数集的长度也都是零,所以在某种意义上说来,「长度」是本质上只属于连续统的一种性质。换句话说,只有进入了连续统的范畴,不为零的长度才可能出现。这就是为什么我们不能从单点集出发定义长度的原因。

那么,我们现在可以回答那个著名的「飞矢不动」的芝诺悖论了:一支飞驰的箭,在每一个确定的时刻都静止在一个确定的位置上,为什么经过一段时间后会移动一段距离?

答案是:因为任何一段时间(不管多么短暂)都是一个连续统,包含了不可数个时刻,所以箭在每一时刻的静止根本不需要对一整段时间之内的移动负责。——后者并不是前者的相加,而前者也根本不可能相加。

因为连续统不可数,所以我们能够在每时每刻里都静止的存在,同时又能在一段时间内自由运动。这也许是大自然的巧妙安排吧。

One Comment

  1. shincepu / Jan 21 2013

    好文啊,个人认为是对芝诺悖论最漂亮、清晰的解释。谢谢。

Comments are closed.