ITPub博客

首页 > > > 10597 超级任务、一致收敛与共产主义

10597 超级任务、一致收敛与共产主义

作者:格伯纳 时间:2017-05-02 10:17:59 0 删除 编辑

.

  上个月,知乎上有一个有意思的问题,引起了火热的讨论。下面是它的简化版:

我有一个缸,一开始是空的。在 t = 1 秒时,我往缸里放 10 个球(编号 1~10),再把 1 号球拿出来;在 t = 2 秒时,我把 11~20 号球放到缸里,再把 2 号球拿出来;在 t = 3 秒时,我把 21~30 号球放到缸里,再把 3 号球拿出来;依此类推。问:到最后,缸里有几个球?

当然你可能马上反驳:「最后」是不可能达到的,问题没有意义。但把题目稍加修改,「最后」就可以达到了:

我有一个缸,一开始是空的。在 t = 0.5 秒时,我往缸里放 10 个球(编号 1~10),再把 1 号球拿出来;在 t = 0.75 秒时,我把 11~20 号球放到缸里,再把 2 号球拿出来;在 t = 0.875 秒时,我把 21~30 号球放到缸里,再把 3 号球拿出来;依此类推。问:在 t = 1 秒时,缸里有几个球?

  直觉告诉我们:既然每次操作后缸里都会增加 9 个球,所以最后缸里会有无数个球。但有人却说:最后缸是空的!你信吗?

  「最后缸是空的」这个结论,可以这样推理出来:考虑 n 号球,它将在第 n 步被拿出来,所以最后它不在缸里。上面这句话对于任意的 n 都成立,所以最后缸是空的。

  原来,这道题目描述的放球、取球的过程,是一个超级任务。超级任务指的是步骤无限多,却要在有限时间内完成的任务。涉及超级任务完成时的状态的问题,很容易产生悖论。上面的问题,就是有名的 Ross-Littlewood 悖论。

  我们仔细分析一下两种解法为什么会给出截然相反的结果。用I_k(n) \in \{0,1\}表示 k 步操作之后,n 号球是否在缸里。容易知道,k 步操作之后缸里的球数是\sum_{n=1}^\infty I_k(n) = 9k。第一种解法就是对操作步数取极限,得到「最后」缸里的球数为\lim_{k \rightarrow \infty} \sum_{n=1}^\infty I_k(n) = \infty。而第二种解法,则是分别考虑每个球,用\lim_{k \rightarrow \infty} I_k(n)表示「最后」n 号球是否在缸里,这个极限对于任意的 n 都是 0;然后再求和,得到最后缸里的球数为\sum_{n=1}^\infty \lim_{k \rightarrow \infty} I_k(n) = 0。

  我们发现,矛盾产生的关键原因在于\lim_{k \rightarrow \infty} \sum_{n=1}^\infty I_k(n) \ne \sum_{n=1}^\infty \lim_{k \rightarrow \infty} I_k(n),即「极限」与「无穷级数求和」两个操作不能随便交换次序。要想交换次序,I_k(n)逐点收敛于 0 是不行的,必须要一致收敛。「一致收敛」这个词,恐怕会让很多人想起学习微积分时经历的噩梦,但要弄清楚本文的悖论,是绕不开这个概念的。我们来比较一下逐点收敛和一致收敛的定义:

  • 逐点收敛,说的是\forall\, n, \, \lim_{k \rightarrow \infty} I_k(n) = 0。把极限用\varepsilon\text{-}\delta语言展开,就是这样:\forall \, n, \forall \, \varepsilon > 0, \exists \, K, \forall \, k > K, |I_k(n)| < \varepsilon。由于I_k(n)非 0 即 1,所以这句话可以化简为:\forall \, n, \exists \, K, \forall \, k > K, I_k(n) = 0。
  • 而一致收敛,说的是\exists \, K, \forall \, n, \forall \, k > K, I_k(n) = 0。它与逐点收敛的不同,仅在于\forall \, n和\exists \, K的顺序不一样。

\forall \, n和\exists \, K的顺序是很重要的:若\forall \, n在前,那么 K 就可以依赖于 n;若\exists \, K在前,那么这个 K 就必须适用于所有的 n。用自然语言来说,逐点收敛说的是每个球都早晚被拿出来,但一致收敛要求这个「早晚」对于每个球来说都是同一个时刻。在本题中,在每个球被拿出来时,总有编号更大的球还在缸里,这种「按下葫芦起来瓢」的情况,正是满足逐点收敛而不满足一致收敛的情况。

  弄清了两种解法的矛盾之处,一个自然的问题就是:两种解法到底哪个对呢?据我观察,支持解法二的人有许多理由反对解法一,而支持解法一的人却难以反驳。解法二的支持者常用下面的理由反对解法一:解法一认为「缸中球的数目」在t \rightarrow 1^-时的极限就是 t = 1 时缸中球的数目,或者说「缸中球的数目」在 t = 1 处左连续,而这个连续性是题目不能保证的。同时,他们会用这样的理由支持解法二:要求「最后缸中球的数目」,就要先定义出「最后缸中球」这个集合,而这个集合可以定义成「k 步操作后缸中球的集合」在k \rightarrow \infty时的极限。按照集合列的极限的定义,这个极限是空集。

  这个理由涉及到了「集合列的极限」这个定义,看起来很高大上。这个定义到底是怎么回事呢?它有许多种等价表述,我在这里选一种比较好理解的表述。用 S 表示「最后缸中球」这个集合,则:

  • 若\lim_{k \rightarrow \infty} I_k(n) = 1,即在某步操作后 n 号球一直在缸里,则n \in S;
  • 若\lim_{k \rightarrow \infty} I_k(n) = 0,即在某步操作后 n 号球一直不在缸里,则n \notin S;
  • 若对于有些 n,\lim_{k \rightarrow \infty} I_k(n)不存在,即 n 号球一直一会儿在缸里,一会儿不在缸里,则 S 也不存在。

  按此定义,S 确实为空集。但这个定义说到底,是把每个球独立考虑的,它定义出来的极限,只是集合逐点收敛的极限。我觉得,用这种「集合列的极限」来定义 t = 1 时缸中球的集合,并没有充分的理由。比如,我可以模仿数列极限的\varepsilon\text{-}\delta定义,设计这样一种「集合列的极限」的定义:

  • 称一列集合S_1, S_2, \ldots收敛于S,当且仅当\forall \, \varepsilon > 0, \exists \, N, \forall \, n > N, d(S_n, S) < \varepsilon。

这里涉及「集合的距离」的概念。由于在本文的问题中,球与球之间是没有定义距离的,所以比较合理的「球的集合的距离」就是d(A,B) = |(A \setminus B) \, \cup \, (B \setminus A)|,即只属于一个集合的元素的个数。这样定义出的距离都是非负整数,若要能小于任意正实数\varepsilon,则距离只能是 0。于是我对「集合列的极限」的定义就变成了:

  • 称一列集合S_1, S_2, \ldots收敛于S,当且仅当\exists \, N, \forall \, n > N, S_n = S。

可以发现,这种定义跟「I_k(n)一致收敛」是一回事,在I_k(n)不一致收敛时,极限集是不存在的。

  总结一下我对于 Ross-Littlewood 悖论的观点,就是:解法一和解法二都不充分,「最后缸中球数」不是良定义的。

  说了这么多,跟标题里的「共产主义」有什么关系呢?

  我发现,对于「共产主义一定会实现」的论证,与 Ross-Littlewood 悖论有相似之处。共产主义社会的一个特征是不再存在私有制,而要消灭私有制,就需要生产力高度发达,以至于社会上不存在让人产生占有欲望的「稀缺品」。许多人不相信共产主义,就是卡在了这一步:他们无法相信有些东西会在生产力高度发达的将来不再稀缺。这个答案举了一个很有启发性的例子,以引导人跳出思维定势:曾经稀缺的「邮箱账号」,如今已经唾手可得,不会再有人囤积居奇。与此类似地,该答案的作者还论述了「艺术品」乃至「性伴侣」这些事物也都会有一天不再稀缺,尽管在现代看来这是不可思议的。但是这样就足以证明私有制终将不复存在吗?

  我们用数学语言表述一下上面的论证。用I_k(n) \in \{0,1\}表示在生产力水平为 k 时,n 号物品是否稀缺(1 表示稀缺,0 表示充足)。上面的论证,事实上说的是「对于任何物品,总存在一个生产力水平,当生产力超过这个水平时,该物品不再稀缺」。然而,这只能说明I_k(n)是逐点收敛到 0 的,而不能证明它一致收敛到 0,即不能证明「当生产力超过一定水平时,任何物品都不稀缺」。形象的理解就是,「稀缺品」可能呈现出「按下葫芦起来瓢」的局面,当生产力的发展使得一种物品不再稀缺时,会同时创造出其它的稀缺品,让人产生占有欲望。

  上面答案的作者对这样的反驳似乎有所准备。不过,这篇文章的主题还是数学,关于共产主义,我就只讨论到这里了。

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    2383
  • 访问量
    983800