|
|
51CTO旗下网站
|
|
移动端

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

试想一下,如果你的裤子破了好几个洞,每个洞形状各异,但是宽度都不超过1厘米。该如何设计一个通用的补丁,能够把所有的洞都补上呢?

作者:十三 赖可来源:量子位|2020-01-13 09:28

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

试想一下,如果你的裤子破了好几个洞,每个洞形状各异,但是宽度都不超过1厘米。

该如何设计一个通用的补丁,能够把所有的洞都补上呢?

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

这个问题在数学上叫做:万有覆盖问题(universal covering problem)

已经让数学家思考了一百年。

乍一听上去,这像是一个很简单的问题。

但是稍微想一想,似乎又不那么简单。

比如一个边长为1的等腰三角形,和一个直径为1 的圆形,两者的直径都为 1。

但是,这个三角形就不能被圆形覆盖。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

而最近,一个退休程序员,用高中方法取得了最新进展。

为什么这么难?

这个难题的的提出者,法国著名数学家:勒贝格(Henri Léon Lebesgue)。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

△Henri Léon Lebesgue

他提出了勒贝格积分,拓宽了积分学的研究范围。

在1914时,他给好朋友Julius Pál(也是数学家)写信时提了一个问题:

在一个平面上,找一个最小区域,让它可以覆盖直径不超过1个单位的面积?

直径不超过1个单位的任意形状,就是一个封闭曲线的边缘上,最远两点的距离不超过1个单位。

这个问题最难的部分是:

无法穷举所有直径为1的形状到底长什么样子

直径为1的形状千千万,到底用哪种万能补丁才能全部覆盖它们呢?

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

万有覆盖“通用”方法

但是这个问题并不难上手,只要你有高中数学基础,就可以试一下。

接下来,让我们一起看看数学家们目前解决这个问题的方法。

从直径为1的需要覆盖的区域R入手。

虽然不知道R长什么样子,能够确定的一点是:它绝对不会超过1个单位的宽度。

那么就先假设它有2个点——A和B,距离为1个单位。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

现在,我们假设除了A和B之外,在R区域内还存在一个点C。

那么C可能在哪里呢?

它不可能大于A的1个单位,这意味着它必须在以A为圆心且半径为1的圆中。

但另外一个问题是,C和B的距离也不能超过1个单位。

所以C也必须在以B为圆心且半径为1的圆中。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

所以,C的位置就确定在了两个圆形的交集位置。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

到A和B的距离不能超过1,这一条件不仅仅适用于点C,还适用于区域R中的每个点。

所以R中的每一个点都必须位于这两个圆的交集区域中。

换句话说,这个区域可以覆盖直径为1的所有可能的R集,是一个万有覆盖区域

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

但是这个区域不是最小面积,需要对它进行一下修剪。

注意,圆的相交点形成两个等边三角形,顶点分别是是A、B,以及距离AB中点垂直距离为√3/2的上下两个点。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

因为√3/2大于1/2,我们可以画两条平行线,与AB平行,距离AB 1/2个单位。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

现在,考虑下图中红色的区域。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

因为两个平行线之间的距离为1个单位,所以直径为1的集合不可能同时出现在两个红色区域。就可以去掉一个。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

这样万有覆盖面积从原来的(2π/3)-(√3/2)≈1.228,减少到(π/2)-1/2≈1.071

从一个基本的万有覆盖开始,可以通过去掉一个无关紧要的部分,来缩小它的面积

这就是数学家们得到最小万有覆盖的方法

优化方法:Pál六边形

通过更先进的技术,我们还能找到一些其他的简单形状。

Pál利用定宽曲线的特性表明:

即使直径为1的一组曲线,可能会从直径1的圆中“伸”出来,它也总是可以通过移动或旋转,以适应围成这个圆的六边形。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

下图就展示了Pál提出的,可以覆盖各种形状(直径为1)的六边形。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

上图中间的形状是一个勒洛三角形(Reuleaux triangle),这是一个与我们上一小节提到的万有覆盖密切相关的定宽曲线。

勒洛三角形是一个弧三角形,通过三个相同的圆可以获得。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

这个六边形的面积是√3/2≈0.866,比我们上小节所得到的面积还要小。

但Pál也表示,并不需要整个六边形。

他通过巧妙的旋转,去掉了一些无关部分。

首先,将两个Pál六边形堆叠在一起。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

其中一个六边形绕中心旋转30度。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

出现了6个红色小三角形。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

每个红色小三角形,都处在未旋转六边形的外部,以及旋转六边形的内部。

由于每个六边形平行对边的距离是1个单位,所以对着的两个红色小三角形中的点距离肯定大于1个单位。

也就是说,一组直径为1的形状不可能同时出现在两个相对的红色小三角形中。

按照上一小节的思路,可能会觉得应该能从6个小三角形去掉3个小三角形,但实际上是不行的。

因为一个六边形旋转60度,或者对称翻转一下,都不会发生形状的改变。

所以从相对的一对中选择一个红色三角形只有两种不同的方法:

3个三角形可以是连续的,也可以是交替的。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

但是,我们可以去掉2个这样的小三角形。Pál就是这么做的。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

他从他的六边形上切下两个三角形,得到一个保证能覆盖所有直径为1的区域的新形状。

这种新的万有覆盖的面积是2-2/√3≈0.8453,比六边形面积略小一些。
但是Pál六边形并不是最优解。

在此基础上,数学家和数学爱好者们继续修修剪剪。

在1992年,数学家Roland Sprague和HC Hansen在Pál六边形上减去了三个小细条。

使面积缩小为0.844137708416

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

Sprague减少了0.001单位面积,Hansen减少了0.00000000004单位面积。

退休程序员用高中几何,两次逼近极限

然后二十年过去了,这个问题毫无进展。

直到2014年,一位叫做Philip Gibbs的退休软件工程师尝试解决这个数学问题。

他利用自己的编程背景优势,尝试用电脑解来解决。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

△Philip Gibbs

Gibbs首先对200个随机生成的直径为1的形状进行了计算机模拟。

这些模拟结果表明,他或许能够修剪一个最小万有覆盖空间顶部角落的一些区域。

随后,他证明了新的覆盖对所有可能的直径为1的形状都适用

2015年2月,Gibbs和两位共同研究者将论文发表在了网上。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

△论文地址:https://arxiv.org/abs/1502.01251

他们把最小万有覆盖面从0.8441377减少到0.8441153单位面积。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

他的策略是将所有直径为1的形状移到他早些年发现的万有覆盖的某一角。

然后把对角部分剩下的任何区域都去掉;然而从节省面积测量的角度来说,却是非常精确的。

虽然此次减小的单位面积只有0.0000224,但这却几乎是汉森在1992年减少的面积的100万倍

然而,这并未阻止他进一步的“裁剪”。

2018年10月,Gibbs独自又发布了一篇文章,再次将最小万有覆盖面积缩小

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

△论文地址:https://arxiv.org/abs/1810.10089

要知道,在Gibbs的基础上再缩小覆盖面积实属不易。正如来自加州大学河滨分校的数学家约翰·贝兹所说:

你不可能真的把这些碎片画出来,因为他们都是原子大小的。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

而Gibbs却再次突破了极限,堪称原子剪刀

这一次他的着手点是上图中的点A和点E。

一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限
一个退休程序员,用高中几何方法,让百年数学难题逼近理论极限

最终,通过这次研究,得到的最小面积就是0.8440935944

值得一提的是,实验方法基本都属于高中几何知识

正如贝兹所评价:

从数学角度来说,这只是高中几何难度,但是它几乎让人为之疯狂。

极限挑战,仍将继续

问题虽然还没有最终解决,但是在2005年的时候,有数学家计算出了这个问题的理论下限,万有覆盖范围不能小于0.832单位面积。

抵达终点最后一步步依旧等待人来跨越,困难之处依旧在于,直径唯一的形状千变万化,最后给出的范围需要涵盖所有可能性。

如果你做到了,名字就将载入数学史。

传送门

QuantaMagazine博客:
https://www.quantamagazine.org/how-simple-math-can-cover-even-the-most-complex-holes-20200108/
https://www.quantamagazine.org/amateur-mathematician-finds-smallest-universal-cover-20181115/

GitHub项目地址:
https://github.com/guadaran/lebesgue-universal-covering-problem

【编辑推荐】

  1. 一个平凡程序员的年度总结
  2. Java 开发者需要研究 JDK,Linux 开发者需要研究 Kernel
  3. 35岁被裁员,“保鲜期”短的程序员如何转型?更新知识、坚持学习
  4. Linus Torvalds 礼貌的批评一位开发者的博文
  5. 天下苦Vim久矣!硬核程序员教你如何花式退出Vim,一周收获2400星
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

Python应用场景实战手册

Python应用场景实战手册

Python应用场景实战手册
共3章 | KaliArch

15人订阅学习

一步到位玩儿透Ansible

一步到位玩儿透Ansible

Ansible
共17章 | 骏马金龙1

178人订阅学习

云架构师修炼手册

云架构师修炼手册

云架构师的必备技能
共3章 | Allen在路上

31人订阅学习

读 书 +更多

超级网管员——网络管理

本书全面深入地介绍了在网络的日常管理中,网络管理员必须掌握的知识,包括系统基本管理、性能调优、故障恢复、域控制器管理、存储资源管理...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微