作者 | Patrick Honner
译者 | 慕容玖
原载于 | Quanta Magazine
汽车掉头和卦谷针问题
想象一下, 你的无人驾驶汽车在街上行驶, 突然前方被两辆大卡车挡住了去路, 无法前行. 街道太窄, 不能直接U型掉头, 于是你的AI增强型汽车启动了“三点掉头”模式. 汽车先沿着弯曲的路径驶向对面路边, 接着车头向另一侧转向并倒车回原来的路边, 然后再将方向盘转回第一个弯曲路径的方向, 向前行驶, 成功!
这个简单的几何算法通过中间步骤的转换方向, 可以帮助你在狭窄的路面上顺利掉头. 如下图是“五点掉头”模式. 如果你经历过侧方位停车, 你就知道这种来回小幅摆动可以为你带来什么效果.
这里有一个有趣的数学问题: 需要多大的空间才能把车掉头, 数学家们对理想化问题已经进行了100多年的研究. 这个问题始于1917年,
当时日本数学家卦谷宗一(Sōichi Kakeya) 提出了一个听上去与本文开头遇到交通拥堵困境相类似的问题: 假设你有一根长度为
问题求解
和许多数学问题一样, 这个问题需要一些简化假设, 这使得问题虽然不够现实, 但更易于处理. 例如, 汽车的长度和宽度在驾驶时很重要, 但我们假设我们的针长为
我们的目标是找到一个最小的区域, 使得针可以旋转180度. 找到满足特定条件的最小区域可能很具挑战性, 但一个好的起点是寻找任何满足这些条件的区域, 然后再不断完善.
例如, 一个简单的解法是将针绕着一个端点旋转180度, 然后滑动回原位. 这样针就回到了原来的位置, 但现在它指向相反的方向, 这正是卦谷针问题所要求的.
该区域是半径为
于是我们找到了一个可行的区域.
由于这根神奇的数学针可以绕任何一点旋转, 我们可以不绕针的一端旋转, 而是绕针的中点旋转. 我们的针开始时指向北方, 旋转后, 它仍在原地但指向南方, 你可以称之为卦谷的指南针.
这个区域是半径为
我们可以从无人驾驶汽车的困境中获得灵感, 考虑使用类似于三点转弯的方法来处理针. 实际上, 这种方法效果非常好.
如图, 针扫过的区域称为三角形区域, 并且满足卦谷的问题要求. 计算其面积需要对参数曲线有一些了解, 但超出了我们本文讨论的初等几何知识, 这里我们直接给出结果, 这个由长度为
但当俄罗斯数学家亚伯拉罕·贝西科维奇(Abram Besicovitch) 发现可以做得更好时, 卦谷的问题发生了重大转折.
重大转折
贝西科维奇提出了一种方法, 通过削减多余的区域, 直到达到他想要的最小尺寸.
这一过程技术性强且复杂, 贝西科维奇的策略依赖于两个简单的想法. 首先, 考虑下面的直角三角形, 底边长为
暂时我们先不考虑将针完全旋转一圈, 只关注一个简单的事实: 如果我们将一根长度为
由于三角形的面积公式为
重要想法一
现在, 介绍第一个重要的想法: 我们可以在保留90度旋转的情况下减少区域的面积. 策略很简单: 将三角形沿中线切开, 然后将两半推到一起.
显然现在三角形的部分重叠了, 新图形的面积必然小于原来的三角形面积. 事实上, 这个图形的面积很容易计算: 它只是边长为
我们仍然可以将针指向与之前相同的方向. 只是有一个问题: 原来的角度被分成了两部分, 所以这些方向现在被分成了两个独立的区域.
如果针在新区域的左侧, 我们可以将它旋转45度, 从南向东南;如果针在右侧, 我们可以将它旋转45度, 从南向西南, 但由于这两部分是分开的, 似乎无法像之前那样旋转完整的90度.
重要想法二
这时, 第二个重要的想法出现了. 有一种巧妙的方法可以将针从一侧移动到另一侧, 而不需要太多的面积. 在国际象棋中, 你可能知道骑士是以L形移动的. 而我们的针将以N形移动.
操作方法如下: 首先, 针沿着N的一侧向上滑动. 然后, 它旋转至沿对角线指向并向下滑动. 接着再旋转一次, 通过滑动完成其行程, 沿N的另一侧向上滑动.
一开始, 这种N形移动看起来可能没什么特别之处, 但它确实非常有用. 它允许针从一条平行线“跳”到另一条平行线, 这能帮助我们将针从一个区域移动到另一个区域. 更重要的是, 它不需要太多的面积. 事实上, 你可以让它所需的面积尽可能小. 这是为什么呢?
回想一下, 我们的针宽度为零. 因此, 针前后移动的任何线段都具有零面积. 这意味着移动针沿N形上下或对角线移动所需的区域将由零面积的部分组成.
剩下的就只有在N形拐角处的旋转了.
这些移动确实需要一些面积. 你可以在每个拐角处看到一个小圆弧区域. 但这里有个巧妙的地方: 你可以通过拉长N形来使这些区域变得更小.
扇形的面积公式为
记住, 我们能够通过将三角形区域一分为二并使这些部分重叠来减少其面积. 问题在于, 这样一来90度的角被分成了两个独立的部分, 阻止了我们将针旋转完整的90度. 现在, 我们可以通过添加一个合适的N形来解决这个问题, 确保针可以从一侧移动到另一侧.
在这个更新后的区域中, 针仍然可以像之前一样旋转完整的90度, 只是现在分为两个阶段. 首先, 针旋转45度并与左侧的垂直边对齐. 接下来, 它沿着N形移动到另一侧. 一旦到达那边, 针就可以自由地旋转另外45度.
这将针移动了90度, 为了继续旋转, 你只需要添加旋转的区域副本.
通过添加合适的N形区域, 针可以从一个三角形突出部跳到下一个, 逐渐完成旋转, 直到完全转过来, 就像汽车进行三点回转一样. 在细节中还有更多复杂的数学, 但这两个想法——我们可以通过切割和移动原始区域来不断减小其面积, 同时确保通过任意小的N形区域可以从一个部分到达另一个部分——帮助我们在越来越小的区域中移动针, 最终可以使区域变得尽可能小.
一种更标准的构建这种区域的方法是从等边三角形开始, 使用“佩龙树”(Perron trees) [1], 巧妙的将三角形切割、拉伸和滑动回到一起的方式. 最终结果非常惊人.
最近, 数学家们在这个古老问题的新变种方面取得了进展, 这些变种涉及更高维度和不同的大小概念. 我们可能永远不会看到一辆由人工智能驱动的汽车完成一个卦谷针点转弯, 但我们仍然可以欣赏它的美丽和简洁.
关于作者
Mathematics and Computer Science Teacher in New York City
- Perron trees and Kakeya needle sets. https://math.indiana.edu/research/gallery/perron-trees-and-kakeya-needle-sets.html ⬅
- Larry Guth, James Maynard. New large value estimates for Dirichlet polynomials. https://arxiv.org/abs/2405.20552
- 原文发布于 Quanta Magazine