来源:Quanta Magazine,编译张二七
“老妈,我裤子上破了几个洞,帮我缝一下吧!”
“没问题,多大的洞啊?”
“洞的形状都挺怪的,不过任意两点的距离都不超过 1 厘米。”
妈妈翻出了一些碎布头,形状都是直径 1 厘米的圆形,她认为这样应该就足够补上各种形状的洞了。不过真的是这样吗?想要盖住形状各异,但最宽不超过 1 厘米的破洞,直径 1 厘米的圆形补丁真的够用吗?
圆形的“补丁”
让我们假设你的裤子上破了一个三角形的洞,这是一个边长 1 厘米的等边三角形——因此三角形中任意两点间的距离都不会超过 1 厘米,符合我们在开头对洞的要求。但是你会发现,直径 1 厘米的圆形补丁并不能完全盖住这个洞。
直径 1 厘米的圆形并不能完全覆盖边长为 1 厘米的等边三角形。(若无特殊标注,本文图片均来自 Quanta Magazine)
经过简单的计算,你就能理解这个道理。圆的半径是 0.5 厘米,但等边三角形中心到顶点的距离是√3/3 ≈ 0.58 厘米——大于圆的半径,这个圆当然就无法覆盖到三角形的顶角了。
当然了,最保险的方法就是准备一大块布,这样什么洞都能补上了,就是有些浪费。那么问题来了:能不能找到面积最小的一块布,让它能够补上任意形状的,宽不超过 1 厘米的洞呢?
万有覆盖问题
在数学中,这被称为“万有覆盖问题”(universal covering problem)。这个问题是亨利·勒贝格(Henri Lebesgue)在 1914 年写给另一位数学家朱利叶斯·帕尔(Julius Pál)的一封信中提出的。这个问题的说法有很多种,但它们的核心都是宽度为1,也就是在平面上有一个图形,图形中任意两点间的距离都不超过1。勒贝格的万有覆盖问题,就是要求找到一个面积最小的图形,使其能够“覆盖”所有宽度为 1 的图形。
这个看似简单的问题其实已经困扰了数学家们一百多年,甚至到了现在,他们依然没有找到最终答案。如果只要求能够覆盖所有宽度为 1 的洞,那么我们有很多的选择,但要找出面积最小的那个就很困难了。
为了讨论这个问题,让我们先假想出任意一个宽度为 1 的形状R,虽然不知道它长什么样子,但其中一定存在相距 1 单位长度的两个点,我们称之为A点和B点。
那么现在想象形状R中的第三个点C,C可能存在于哪些区域呢?首先,C点到A点的距离一定不能超过1。也就是说,我们以A为圆心,1 单位长度为半径画一个圆A,C点一定在这个圆内(或圆周上)。
同样的,C点到B点的距离也不能超过 1 单位长度,那么我们以B点为圆心,1 为半径作圆B的话,C点也应该在这个圆的范围内。
由于C点应该既在圆A中,也在圆B中,那么C点就应该落于两圆的重合区,也就是下图这个“橄榄球”形状中。
不止C点,形状R中的其他点也需要满足相同的条件,因此形状R中的所有点都应落在上图的“橄榄球”中。换句话说,这个形状能够覆盖所有可能的形状R,那么它就是一个“万有覆盖”图形。
不过这块“橄榄球”布料还是太大了,让我们试着剪掉一部分。
首先,添加两条与线段 AB 平行的直线(如下图),使其与 AB 的距离均为1/2,因此这两条直线间的距离就是 1 单位长度。
现在我们得到了这样的两块红色区域Ⅰ和Ⅱ,它们之间的最短距离为1。或者说,Ⅰ中的任意一点,与Ⅱ中的任意一点的距离一定大于1。
想象一下,如果形状R包含了Ⅰ区域中的某些点,那么这些点到Ⅱ区域中任意一点的距离一定会大于1,这就违背了我们对形状R的要求。也就是说,此时的形状R一定不能与Ⅱ区域重叠。因此,在Ⅰ和Ⅱ区域中,我们就可以剪掉一个了。这样得到的“美妆蛋”一样的形状,依然是一个万有覆盖图形。
在裁剪之前,我们用到的“布料”面积是2π/3-√3/2≈ 1.228,而剪完后,“布料”的面积变成了π/2-1/2 ≈ 1.071。请记住我们得到这个“美妆蛋”的过程——从最容易想到的图形出发,通过不断裁剪多余的部分,我们就能获得面积更小的万有覆盖图形。
这也正是数学家们探索面积最小的万有覆盖图形的方法,不过他们是从六边形开始的。
“帕尔六边形”
还记得勒贝格的那位数学家朋友帕尔吗?在收到勒贝格的来信后不久,帕尔就利用等宽曲线的性质证明,对边相距为 1 的正六边形就能做到万有覆盖(等宽曲线是指曲线上任何一对平行切线的距离都相等的曲线,圆就是最常见的一种等宽曲线)。
“帕尔六边形”的面积比我们的“美妆蛋“更小了,其面积为√3/2≈ 0. 866。不过,帕尔并不满足于此,他发现这个六边形还能再剪掉几个角。
我们知道,正六边形的旋转对称角是 60°。那么将另一个六边形绕中心旋转 30°,再叠在原先的六边形上,我们就能给原先的六边形切出六个角,对应下图中的红色区域。
还记得我们是如何将“橄榄球”剪掉一个角,变成“美妆蛋”的吗?接下来的步骤和我们之前的裁剪过程非常相似。
首先,每一组相对的小三角间的距离都是 1 单位长度,因此每一对红色三角中都有一个可以被裁去。我们当然希望能够剪掉三个——也就是每对中的一个。然而,如果真的剪掉三个角的话,这个图形就无法满足万有覆盖条件了。
根据六边形的对称性,如果某个图形占据了六个小三角中的三个时,它可能会出现两种情况:连续的三个角(左图),或是相间的三个角(右图)。我们在图里用蓝色和红色来表示这两种情况。
如果我们的形状R占用了左图中的三个蓝色三角区域,那么我们就无法在剪掉右侧图形中的三个红色三角的情况下,将其覆盖。反之也是一样,如果我们剪掉了左侧图形中的三个红色三角,那么当形状R占据了右图中蓝色区域的三个三角时,新的图形也无法将R覆盖了。
不过就算不能同时修剪掉三个角,我们至少可以裁掉两个。如果我们剪掉既不相邻也不相对的两个红色三角形区域的话,就不会出现上述的问题了,而这就是帕尔所做的。
帕尔剪掉了六边形的两个角,这样得到的新图形仍然能够覆盖所有宽度为 1 的形状。这个新图形的面积是2-2√3/3≈ 0. 8453,比帕尔六边形的面积减少了约 0.0207。
不断地修剪
接下来的修剪工作就愈发艰难了。在帕尔的工作基础上,1936 年,数学家罗兰·斯普拉格(Roland Sprague)移除了面积为0. 001的一块小碎片。随后,在 1992 年,H·C·汉森(H. C. Hansen)从右下角和左下角裁去了0. 00000000004个平方单位的面积(小数点后 10 个0,不用数了)。
2014 年,一位本职是软件工程师的业余数学家(虽然说是业余,但是人家也有数学的博士学位)菲利普·吉布斯(Philip Gibbs)选择了一种简单粗暴的解答思路——先看答案,再想过程。他用计算机随机生成了 200 个宽度为 1 的图形,把他们叠到一起,然后以其覆盖的形状为线索,找出了对过去万有覆盖图形的顶部的修整方法。他的证明于 2015 年发表,该论文将此前的万有覆盖图形再次缩小了 0.0000224 平方单位。
菲利普·吉布斯与帕尔六边形(图片来源:Philip Gibbs)
这项成果给了吉布斯很大的信心,在他 2018 年发表的另一篇文章中,他又剪掉了“一大块”区域,使万有覆盖面积从 0.8441153 降到了0. 84409359 平方单位。
灰色的部分是吉布斯裁剪的角(图片来源:Philip Gibbs)
从 1914 年至今,数学家们一直在寻找最小的万有覆盖图形,他们能走多远呢?2005 年,彼得·布拉斯(Peter Brass)和梅尔博德·沙里夫(Mehrbod Sharifi)证明,万有覆盖面积不能小于 0.832 平方单位。因此我们知道,留给数学家裁剪的区域已经不多了。
不过大家也可以试着提出一种新技术,又或是裁剪的新起点,或许你也能像那位业余数学家一样,更加逼近最小的万有覆盖图形。