从海洋某点出发,是否能找到最长直线航行距离

如果你从海洋的某一点开始沿着直线航行,能毫无阻碍地走多远?这个脑洞问题看起来毫无实用价值,但其实是个相当麻烦的数学问题。毕竟海洋上有无数可能的出发点,而海洋中还有各种岛屿分布。这个问题吸引了研究人员和业余数学爱好者进行探寻。

一位网友认为,可以从巴基斯坦直线航行到俄罗斯,路程将近320000公里。最近,科克联合技术研究中心(United Technologies Research Center in Cork, Ireland)的物理学家Rohan Chabukswar和Kushal Mukherjee为这一问题建立了一个数学模型。

他们在国家海洋和大气管理局(NOAA)创建的全球模型中,找到了关于地球陆地和海洋覆盖的数据源,这个地形数据模型的空间精度为 1.8 公里。数据中也包括了海拔信息,这使得他们俩能够更准确的区分陆地和海洋区域。。起初,他们用大圆航线算法(great circle)函数计算球面上的两点间距离,想通过穷举法计算地球上所有可能的大圆。在1.8公里的精度下,一共有 2 亿多个圆,每个大圆由 21600 个陆地或海洋上的点构成。这样的话,他们总共需要检查约 5 万亿个点来找出最合适的大圆,其运算量是天文数字。后来,两位研究者改变了方法,使用数学优化算法“分支定界法”(branch and bound)来找出最优航线。这个方法首先只会测试其中一部分航线。然后在“有潜力最长”的大圆范围内中再次筛选,大大降低了运算量。用这种算法得到的结论与原先网友找到的路线非常相似。不过,当这条笔直的航线被渲染到扁平的地图上时,它看起来是一条曲线。

这条航线始于巴基斯坦,在非洲大陆和马达加斯加之间“穿针引线”,在南极洲和南美洲火地岛之间穿过,最后在俄罗斯的堪察加克拉依(Kamchatka Krai)结束,全长32090公里。

这两位研究人员还顺便回答了一个类似的问题:假设路上没有自然的或人为的障碍,你有一辆能驾驶任何地形的交通工具,能在陆地上直线连续驾驶的最长距离。他们使用同样的算法生成陆地上最长的连续直线,绘制出从中国到葡萄牙的航线,全长11241公里。

不过,两位“数学宅”提醒大家,他们进行的这项调查是“纯粹的数学练习”,你如果想要按照这两条路线来航行或驾驶,仍然会遇到无数艰难险阻,他们可不背锅哦!

编译:邵颖 审稿:Peter Wang 责编:南熙