try ai
科普
编辑
分享
反馈
  • 不连续性的力量:从数学理论到现实世界的影响

不连续性的力量:从数学理论到现实世界的影响

SciencePedia玻尔百科
核心要点
  • 如果一个函数未能保持“邻近性”,即对应于输出“邻域”的输入集合本身不是一个完整的邻域,则该函数是不连续的。
  • 不连续函数可以出乎意料地作为一列无限光滑连续函数序列的极限而出现。
  • 连续性的缺失打破了诸如Brouwer不动点定理和极值定理等基本结论的保证。
  • 不连续性对于模拟现实世界现象至关重要,例如数字信号中的“振铃”(吉布斯现象)、材料中的裂纹(XFEM)以及人工智能中的决策边界(ReLU网络)。

引言

我们的数学直觉通常建立在光滑性和可预测性的基础之上。我们学到,连续函数——其图像可以一笔画出——是微积分的基石,并能描述许多物理过程。然而,世界充满了突然的转变、骤然的变化和急剧的分野——从开关“打开”到市场崩溃,从数字信号改变状态到材料在应力下断裂。单靠连续性的语言不足以捕捉这种动态且常常是破碎的现实。

本文将深入探讨不连续函数丰富而复杂的世界,以应对这一知识鸿沟。本文旨在证明,不连续性不仅仅是一个数学上的麻烦或良好行为的缺失,而是一个具有深远影响的深刻而本质的概念。在接下来的两章中,我们将踏上一段理解这些迷人函数的旅程。首先,在“原理与机制”一章中,我们将剖析不连续性的形式化定义,探索这些函数如何从连续函数序列中诞生,并见证它们的存在如何挑战数学中一些最宝贵的定理。随后,在“应用与跨学科联系”一章中,我们将看到这些理论概念如何成为工程、信号处理和人工智能领域创新的不可或缺的工具,证明了理解“断裂”是模拟现代世界的关键。

原理与机制

我们大多数人初次接触​​连续函数​​这一概念时,是通过一种极为直观的方式:一个函数的图像可以用笔不离纸地画出来。这是一个绝佳的起点,但世界——从数字电路的瞬间切换到电子的量子跃迁——充满了不那么平滑的时刻。要真正理解世界,我们也必须理解那些断裂、跳跃和间隙。我们必须理解​​不连续性​​。

断裂的剖析:什么是不连续性?

“提笔测试”虽好,但它背后隐藏着一个更深刻、更有力的思想。让我们直击问题的核心。在数学中,连续性关乎“邻近性”的保持。如果你在输出空间中取一个点集,其中的所有点都彼此靠近(一个“开集”),那么一个连续函数能保证其对应的输入点也组织成一个“邻域”(一个开集)。

如果一个函数违背了这一承诺,它就是​​不连续的​​。存在某个输出的开集,其对应的输入并不构成一个开集。想象一个简单的开关函数 f(x)f(x)f(x),对任何输入 x0x 0x0,其值为 −10-10−10;对任何输入 x≥0x \ge 0x≥0,其值为 101010。现在,考虑一个小的“开放”输出范围,比如 555 到 151515 之间的所有数,我们可以写成开区间 U=(5,15)U = (5, 15)U=(5,15)。什么样的输入 xxx 会产生一个落在 UUU 内的输出 f(x)f(x)f(x) 呢?唯一可能的输出值是 101010,这在所有 x≥0x \ge 0x≥0 时发生。所以,输入的集合是区间 [0,∞)[0, \infty)[0,∞)。

这里的关键洞见是:这个输入集 [0,∞)[0, \infty)[0,∞) 不是开集。思考一下 x=0x=0x=0 这个点。你在 000 周围画的任何微小开区间,比如 (−ϵ,ϵ)(-\epsilon, \epsilon)(−ϵ,ϵ),总会包含不在我们集合中的负数。点 000 在集合内没有向左的“喘息空间”。开集 (5,15)(5, 15)(5,15) 的原像是集合 [0,∞)[0, \infty)[0,∞),它包含一个“硬”边界。该函数未能通过测试;它在 x=0x=0x=0 处不连续。这就是​​跳跃不连续​​的形式化印记。

当然,函数也可以以其他方式不连续。它们可以“奔向无穷大”。考虑这样一个函数 f(z)=1cos⁡(πz)−1f(z) = \frac{1}{\cos(\pi z) - 1}f(z)=cos(πz)−11​。这个函数本身表现良好,除非分母为零。这种情况在 cos⁡(πz)=1\cos(\pi z) = 1cos(πz)=1 时发生,也就是对所有偶数整数 z=0,±2,±4,…z=0, \pm 2, \pm 4, \dotsz=0,±2,±4,…。在这些点上,函数不仅仅是未定义的;它有一个我们称之为​​极点​​的东西,一种无穷不连续。图像向无穷大处急剧延伸,形成一个不可逾越的障碍。

源于无穷:不连续性从何而来

很容易认为不连续函数是人为制造的怪胎,是我们必须小心构造的东西。但分析学中最深刻的发现之一是,它们可以从取极限的过程中自然产生。换句话说,你可以从一个由无限多个完美光滑、连续的函数组成的序列开始,而它们的最终极限可能是一个断裂的、不连续的函数。这意味着当我们“走向无穷”时,连续性这一性质并非总能保持。

让我们观察这一过程。想象一个在区间 [0,1][0, 1][0,1] 上定义的函数序列 fn(x)=11+exp⁡(−n(x−1/2))f_n(x) = \frac{1}{1 + \exp(-n(x-1/2))}fn​(x)=1+exp(−n(x−1/2))1​。对于任何给定的 nnn,这都是一条优美的、光滑的“S形”曲线,称为 sigmoid 函数。它从接近 000 的值平缓地过渡到接近 111 的值,过渡的中心在 x=1/2x=1/2x=1/2。当我们让 nnn 越来越大,过渡变得越来越陡峭。函数在水平方向上被“挤压”。这就像一个平缓的斜坡变成了悬崖。在 n→∞n \to \inftyn→∞ 的极限情况下,函数“啪地一声”断开了。它变成了一个阶跃函数:当 x1/2x 1/2x1/2 时为 000,当 x>1/2x > 1/2x>1/2 时为 111,在中间点恰好为 1/21/21/2。我们从一大批完美的连续函数出发,最终得到的极限函数在 x=1/2x=1/2x=1/2 处有一个急剧的跳跃不连续。

让我们看另一个例子。考虑在区间 [−1,1][-1, 1][−1,1] 上的多项式序列 fn(x)=(1−x2)nf_n(x) = (1-x^2)^nfn​(x)=(1−x2)n。每一个都是以 x=0x=0x=0 为中心的光滑、连续的凸起。当 n=1n=1n=1 时,它是一个简单的开口向下的抛物线。当 n=2n=2n=2 时,它底部更平坦,侧面更陡峭。随着 nnn 增大,位于 x=0x=0x=0 的峰值骄傲地保持在高度 111(因为 fn(0)=1n=1f_n(0) = 1^n=1fn​(0)=1n=1),但对于 (−1,1)(-1, 1)(−1,1) 中的任何其他值 xxx,底数 (1−x2)(1-x^2)(1−x2) 是一个小于一的数。将一个小于一的数取一个巨大的次方会使其迅速趋向于零。所以,当 n→∞n \to \inftyn→∞ 时,这个凸起在除了 x=0x=0x=0 这个单点之外的所有地方都被压扁到 x 轴上。我们的光滑凸起序列收敛到了一个处处为 000 的函数,除了在 x=0x=0x=0 处有一个高度为 111 的孤立尖峰。再次地,一个不连续函数从一个连续函数序列中诞生了。

不连续函数的奇特代数

那么,如果我们将两个连续函数相加,我们会得到另一个连续函数。如果我们相加两个不连续函数呢?你可能会猜结果注定是不连续的。但数学充满了惊喜。

想象两个函数 f(x)f(x)f(x) 和 g(x)g(x)g(x),它们都在 c=1c=1c=1 处有一个“瑕疵”。设 f(x)f(x)f(x) 在除了 x=1x=1x=1 之外的所有地方都等于 x+2x+2x+2,但在 x=1x=1x=1 处突然跳到值 555。当 xxx 趋近 111 时的极限是 333,但函数在 111 处的值是 555。所以它是不连续的。现在,设 g(x)g(x)g(x) 在除了 x=1x=1x=1 之外的所有地方都是 444,但在 x=1x=1x=1 处跳到 222。它也是不连续的。

当我们将它们相加时会发生什么?对于任何 x≠1x \neq 1x=1,它们的和是 h(x)=(x+2)+4=x+6h(x) = (x+2) + 4 = x+6h(x)=(x+2)+4=x+6。这个和当 x→1x \to 1x→1 时的极限是 777。而这个和在 x=1x=1x=1 处的值是多少呢?是 h(1)=f(1)+g(1)=5+2=7h(1) = f(1) + g(1) = 5+2 = 7h(1)=f(1)+g(1)=5+2=7。极限等于函数值!这个和函数 h(x)h(x)h(x) 在 x=1x=1x=1 处是完全连续的。两个不连续点完美地相互抵消,填补了那个洞。

这种“抵消”甚至可以更富戏剧性。考虑函数 g(x)g(x)g(x),当 xxx 是有理数时为 111,当 xxx 是无理数时为 −1-1−1。这个函数简直是个噩梦;它处处不连续。它的图像是两个稠密交织的点云。现在,让我们取一个简单的连续函数 f(x)=x2−1f(x) = x^2-1f(x)=x2−1。当我们复合它们,计算 f(g(x))f(g(x))f(g(x)) 时会发生什么?我们将 g(x)g(x)g(x) 的狂野、不可预测的输出馈入 f(x)f(x)f(x)。但请注意一个巧妙之处:f(x)f(x)f(x) 对输入 111 和 −1-1−1 给出相同的输出。具体来说,f(1)=12−1=0f(1)=1^2-1=0f(1)=12−1=0 和 f(−1)=(−1)2−1=0f(-1)=(-1)^2-1=0f(−1)=(−1)2−1=0。所以,无论 g(x)g(x)g(x) 给出什么——是 111 还是 −1-1−1——f(g(x))f(g(x))f(g(x)) 的最终结果总是 000。复合函数 (f∘g)(x)(f \circ g)(x)(f∘g)(x) 是常数零函数,这是最连续的函数了。fff 的连续性有效地“吸收”并中和了 ggg 的病态不连续性。同样道理,那个在有理数上为 111、在无理数上为 −1-1−1 的函数处处不连续,但它的绝对值是常数函数 111,而后者是处处连续的。

一个没有保证的世界:当基本定理失效时

为什么数学家如此关心连续性?因为它是我们拥有的一些最强大、最美丽的定理的关键要素。它提供了确定性。当你拿走它时,那种确定性就消失了,可预测的结果变得不确定。

一个基石是​​Brouwer不动点定理​​。在一维情况下,它表明如果你有一个连续函数 fff,它将一个闭区间(如 [0,1][0, 1][0,1])映射回自身,那么 f(x)f(x)f(x) 的图像必须至少一次穿过直线 y=xy=xy=x。必须存在一个“不动点” x0x_0x0​,使得 f(x0)=x0f(x_0)=x_0f(x0​)=x0​。这似乎很明显——如果你从区间上开始并在区间上结束,且不抬起你的笔,你就必须穿过那条对角线。但这个直觉依赖于“不抬笔”的规则。

考虑一个在 [0,1][0,1][0,1] 上的不连续函数 f(x)f(x)f(x),它在区间的前半部分 x∈[0,1/2]x \in [0, 1/2]x∈[0,1/2] 等于 111,在后半部分 x∈(1/2,1]x \in (1/2, 1]x∈(1/2,1] 等于 000。在前半部分,它的图像是一条高度为 111 的水平线,始终在直线 y=xy=xy=x 的上方。然后,在 x=1/2x=1/2x=1/2 处,它突然“跳”到 000。在后半部分,它的图像是 x 轴上的一条水平线,始终在直线 y=xy=xy=x 的下方。它巧妙地跳过了对角线 y=xy=xy=x,从未接触或穿过它。这个函数没有不动点。保证被打破了。

另一个基石是​​极值定理​​,它指出任何在闭有界区间上的连续函数都必须达到一个最大值和一个最小值。如果你在一个山脉中沿着一条连续路径行走,你的路径上必定有一个最高点和一个最低点。但如果路径不连续呢?让我们取连续函数 f(x)=∣x∣f(x)=|x|f(x)=∣x∣ 在 [−1,1][-1, 1][−1,1]上。它的最小值显然是 000,在 x=0x=0x=0 处达到。现在让我们加上一个微小的不连续函数 g(x)g(x)g(x),它在除了 x=0x=0x=0 之外的所有地方都是 000,但在 x=0x=0x=0 处的值是 111。我们的新函数是 h(x)=f(x)+g(x)h(x) = f(x) + g(x)h(x)=f(x)+g(x)。对于任何 x≠0x \neq 0x=0,h(x)=∣x∣h(x)=|x|h(x)=∣x∣,它可以任意接近 000。它似乎趋向的“最低值”(其下确界)是 000。但它真的能达到吗?不。在唯一可能的地方,即 x=0x=0x=0,函数值突然变成了 h(0)=∣0∣+1=1h(0) = |0| + 1 = 1h(0)=∣0∣+1=1。它无限接近 000 但从未触及。它没有达到最小值。

驯服野兽:当不连续性无关紧要时

函数中的一个断点会毁掉一切吗?不总是。科学和工程中最重要的工具之一是积分,我们可以将其理解为寻找“曲线下面积”。对于连续函数,这是明确定义的。但对于不连续函数呢?

让我们回到那个从 (1−x2)n(1-x^2)^n(1−x2)n 的极限中诞生的函数。它在除了 x=0x=0x=0 处有一个高度为 111 的尖峰之外,处处为零。让我们试着找出它在区间 [−1,1][-1, 1][−1,1] 上的曲线下面积。这个函数仅在单一点上非零。一个点没有宽度。这个尖峰下的“矩形”高度为 111 但宽度为 000。我们理应得出结论,其面积为 1×0=01 \times 0 = 01×0=0。

令人惊讶的是,严谨的​​黎曼积分​​理论与我们的直觉一致。对于任何合理的将区间分割成小矩形以近似面积的划分,我们总能使包含该尖峰的那个矩形变得足够窄,以至于它对总面积的贡献可以忽略不计。这个不连续函数的积分是零。在积分的世界里,有限数量的跳跃或可去不连续点“小”到可以被忽略。它们是“测度为零”的集合。

这一洞见非常实用。它意味着我们可以对那些模拟真实世界的函数进行积分,尽管它们充满了开关、冲击和突然的变化,而我们的数学工具不会因此失效。不连续性,虽然有时是混乱之源,但也可以被驯服和理解。它不仅仅是连续性的失效,而是一个丰富而必要的概念,描述了我们所居住的美丽而不完美、充满活力的世界。

应用与跨学科联系

在经历了不连续函数基本原理的旅程之后,你可能会倾向于将它们视为病态的奇物,虽然引人入胜但终究与“行为良好”的连续世界格格不入。但现在,我们来到了故事最激动人心的部分,在这里我们将看到事实恰恰相反。不连续性不是宇宙的缺陷;它们是其特征。它们不仅是规则的例外;它们正是发明更强大新规则的原因。从数字信号的振铃到钢梁的断裂,从奇异金融工具的定价到人工智能的架构,不连续性的印记无处不在。现在让我们来探索这片广阔而令人惊讶的领域。

I. 现代分析的核心:不可或缺的要素

你可能认为,如果你从一堆完美光滑的连续函数开始,任何“极限”过程都会让你留在这个纯净的世界里。但现代分析最深刻的发现之一并非如此。你可以构建一个由无可挑剔的连续函数组成的序列,随着序列的推进,它们彼此越来越接近,但它们收敛到的那个东西根本不是连续的——它有一个跳跃!。

想象一系列斜坡,每一个都比前一个更陡,都旨在将 −1-1−1 的水平连接到 +1+1+1 的水平,且水平距离越来越小。每个独立的斜坡都是完美连续的。然而,整个序列收敛到一个完美的、瞬时的阶跃函数,这正是不连续性的精髓。这一发现告诉我们一些根本性的东西:连续函数的世界不是“完备的”。就像有理数若没有无理数来填补空隙就是不完备的一样,连续函数的空间也缺少它的极限。为了为微积分和分析建立一个稳健的框架,数学家们不得不将视野扩展到像 LpL^pLp 这样的空间,这些空间包含了不连续函数,它们是完备的,并构成了现代积分和微分方程理论的基石。

但这并不意味着连续性是一个脆弱的属性。事实上,一些数学运算具有强大的“平滑”效应。考虑卷积,这是一种通过滑动平均的方式将两个函数混合在一起的运算。如果你取任何两个行为相当良好(具体来说是平方可积,或 L2L^2L2)的函数——它们可以随你喜欢地参差不齐、狂野不羁,只要它们在 L2L^2L2 中——然后将它们卷积,结果总是一个完美的、一致连续的函数。通过卷积两个 L2L^2L2 函数来产生像简单的开关(特征函数)这样的不连续函数,在数学上是不可能的。这展示了一种美丽的二元性:虽然一些极限过程从连续性中创造出不连续性,但另一些过程,如卷积,则主动摧毁它们,强制使其输出平滑。

II. 信号、波与机器中的幽灵

也许不连续性最经典、最直观的应用是在信号和波的世界里,通过傅里叶分析的视角。Joseph Fourier 的伟大思想是,任何周期函数,无论多复杂,都可以表示为不同频率的简单正弦和余弦之和。这些基波是平滑的典范;它们处处无限可微。

现在,考虑一个方波,一个从“关”突然跳到“开”的信号。你怎么可能通过将平滑、滚动的正弦波相加来构建这个尖锐、不连续的悬崖边缘呢?答案是,你可以,但会带有一个迷人且不可避免的人工产物。任何有限的正弦波之和将永远是连续和平滑的。你可以越来越接近方波,但永远无法完美地形成那个跳跃。要做到这一点需要一个无穷级数。

这里蕴含着一个深刻的数学真理:一个连续函数序列(我们的部分和)的极限只有在收敛是“一致的”——即逼近在各处都以相同速率改善——的情况下才能是连续的。但对于一个不连续函数,这是不可能的。跳跃点附近的收敛是顽固的,比其他地方慢,所以收敛只是“逐点”的,而不是一致的。

这一事实的物理表现就是著名的​​吉布斯现象​​。当你添加越来越多的高频正弦波来更好地逼近方波的尖锐边缘时,逼近在跳跃点处会产生一个“过冲”或“振铃”。这个过冲永远不会消失!即使有无穷多项,逼近也会在跳跃点处过冲约 9%。这种行为从根本上与函数的不连续性有关,不连续性导致其傅里叶系数衰减缓慢(如 1/n1/n1/n)。一个连续函数,比如三角波,其系数衰减更快(如 1/n21/n^21/n2),这保证了一致收敛,因此不会出现吉布斯现象。这种振铃不仅仅是数学上的奇闻;它是一种真实存在的现象,每当处理尖锐边缘时,都会出现在数字信号处理和图像分析中。

而且这个原理不仅限于线上的信号。它是分析学的一个普遍属性。同样的想法可以扩展到更抽象空间上的函数,比如所有三维旋转的群 SO(3)SO(3)SO(3)。这个空间的“基函数”(量子力学中的维格纳 D 矩阵)都是完美光滑的。因此,它们的任何有限组合也必须是光滑的。要描述旋转空间上的一个不连续函数——比如一个在小旋转角时“开”、大旋转角时“关”的函数——同样需要一个来自 Peter-Weyl 展开的无穷级数,这是傅里叶级数的一个宏大推广。用光滑的构建块来创造一个尖锐边缘的挣扎是贯穿数学的一个基本主题。

III. 数字世界:在工程中模拟断裂与裂纹

在很长一段时间里,物理模型中的不连续性被视为计算机模拟的麻烦。毕竟,连续介质力学的方程是连续的。但自然界充满了断裂。一个断层线滑动,一个激波在超音速飞机前形成,一条裂纹在材料中扩展。现代计算工程已经接受了一种革命性的哲学:如果世界是不连续的,为什么我们的数值解不能也是呢?

考虑模拟固体结构中裂纹的挑战。裂纹是一个物理上的不连续;它一侧的材料独立于另一侧的材料移动。传统的模拟技术,如有限元法 (FEM),它从连续的分段多项式块构建解,对这个问题感到非常棘手。它们要求模拟网格与裂纹完美对齐,并且随着裂纹的扩展而重新划分网格是一场计算噩梦。

​​扩展有限元法 (XFEM)​​ 提供了一个绝妙的解决方案。它从一个不符合裂纹几何形状的标准的简单网格开始。然后,它“丰富”位移场的数学描述。对于被裂纹切割的单元,它在标准逼近中添加一个特殊函数:一个亥维赛阶跃函数。这个函数正好提供了所需的东西——解中的一个清晰跳跃,允许裂纹面分离。此外,为了捕捉裂纹尖端附近的高应力,它还添加了另一组特殊函数,这些函数复制了断裂力学中已知的位移场的 r1/2r^{1/2}r1/2 奇异行为。这使得工程师能够准确计算诸如应力强度因子等关键参数,而无需繁琐的重新划分网格。

将不连续性直接构建到解空间中的这种思想是被称为​​间断伽辽金 (DG) 方法​​的一类强大技术的核心。微分方程的标准数学公式(“弱形式”)隐含地假设了连续解。如果你想允许不连续解,你必须回到第一性原理,推导出一个新的公式。这个新的 DG 公式涉及将问题分解为一系列单元,然后通过在界面上定义通量和惩罚项来将它们“粘合”在一起。这些界面项正是管理单元之间跳跃的关键。

一个经典的例子是模拟输运现象,比如河流中污染物的流动。这类问题由平流方程控制,其解可以发展出急剧的前沿甚至激波,这些都是移动的不连续点。使用单元级“帽函数”的 DG 方法可以通过允许解在单元之间不连续来模拟这一点。为了确保物理真实性和稳定性,单元间的数值通量必须是“迎风”的——也就是说,它必须从流动的来向获取信息。这使得模拟能够捕捉到急剧的前沿,而不会出现困扰传统连续方法的伪振荡。

IV. 数据、决策与维度:人工智能时代的不连续性

在最后一章中,我们转向技术的前沿:数据科学、机器学习和量化金融。在这里,不连续性代表决策边界、相变和风险阈值。一个病人被分为高风险或低风险。一个市场从牛市转为熊市。一个期权要么支付,要么不支付。逼近这些急剧的转变是一个核心挑战。

想象一下,试图学习一个依赖于50个不同变量的函数,但其行为主要由其中三个驱动,并且包含一个突兀的跳跃。这是高维数据分析中的一个常见情景。许多经典方法都非常吃力。例如,k-近邻 (k-NN) 算法通过平均附近数据点的值来工作,但它会迷失方向。在50维空间中,“附近”是一个模糊的概念,不相关的变量会冲淡重要的结构,导致收敛速度极其缓慢,受限于高环境维度。

这正是现代机器学习架构大放异彩的地方。配备了​​修正线性单元 (ReLU)​​ 激活函数的神经网络特别适合这项任务。一个 ReLU 神经元本身就是一个简单的、导数不连续的函数:它在一侧为零,在另一侧是一条直线。它计算 max⁡(0,x)\max(0, x)max(0,x)。通过组合这些简单的分段线性单元,网络可以构建出极其复杂的、非线性的分段函数。它可以学会忽略47个不相关的变量,并使用其 ReLU 来构建对那三个重要变量中尖锐、倾斜的分割线的逼近。它们不像多项式那样试图用一个全局曲线来平滑跳跃;它们用尖锐的角来构建跳跃,这是一种效率高得多的策略。

然而,不连续函数的力量也伴随着一个警示故事,尤其是在金融领域。​​拟蒙特卡洛 (QMC) 方法​​是一种复杂的工具,用于通过对成千上万种可能的市场情景进行预期收益积分来为复杂衍生品定价。QMC 方法用确定性的、“低差异”序列(如 Sobol 序列)取代随机点,这些序列更均匀地填充空间,对于平滑的收益函数能带来更快的收敛速度。

但如果收益是不连续的呢?考虑一种“数字期权”,如果股票价格最终高于某个行权价,它就支付固定金额,否则为零。这是一个阶跃函数。对于这样的函数,QMC 可能会惨败。可以构造一个“最坏情况”的指示函数,即一个只在所选 QMC 点集中的最大间隙内非零的收益。根据设计,成千上万个 QMC 采样点中的每一个都会落在收益为零的地方,导致估计值为零。与此同时,真实值——那个间隙的体积——可能是显著的。这揭示了一个关键的漏洞:QMC 备受推崇的效率与问题的平滑性息息相关,一个隐藏的不连续性可能导致对风险的严重错误定价。

从分析学的基础到人工智能的前沿,不连续函数已经证明它们不是我们数学图景中的一个缺陷,而是其最深刻和有用的特征之一。它们挑战我们的假设,迫使我们发明更强大的工具,并最终为我们提供了一种更真实的语言来描述我们周围这个错综复杂、且常常是破碎的世界。