▲地球上可航行的最长海洋路线。
五年前,一位国外网友曾在网络上贴出了一张标注了环球最长海上直线路径的地图。这条始于巴基斯坦南部、结束于俄罗斯东北部的近2万英里长的路线全部在海上,没有陆地部分。据ZME科学网5月1日报道,爱尔兰联合技术研究中心(United Technologies Research Center)的罗翰·查布科斯沃(Rohan Chabukswar)和印度IBM研究院的库绍尔·慕克吉(Kushal Mukherjee)编写了一种算法,能够计算出陆地和水上最长的直线路径,并证实了5年前这位网友关于这一命题的假设。
这一算法的数据来源于美国国家海洋和大气局的“ETOPO1全球地形起伏模型”,并对这些数据进行了处理。该模型的空间分辨率为1.8公里,换句话说,这也就是其显示地图上特征的最小标尺大小。该模型还能捕捉高度测量数据,研究人员靠它还可以准确地判断出地图上某个点是位于陆地还是水面上。
为了达到测量最长直线距离的目的,地球可以被看作是一个球体,所以它表面上两点之间的距离是一个圆弧或大圆的一部分。大圆是围绕球体的最大圆周,也就是说,它总是与球体的中心在同一平面上,比如,赤道就是一个大圆。这项研究中最大的挑战是优化绘制的路径——该模型描绘了地球上233,280,000个可能的大圆,其中每一个大圆包含21600个陆地或海洋的位置点,这样算下来,总的位置点数一共有5万亿个。如果靠蛮力去穷尽这5万亿个点的路径数据是不可能的,因此研究人员使用了一种名为“分支和绑定”(branch and bound)的算法技术,它可以将每一套潜在解决方案视为一个树叉的分支,算法会依次计算每一个分支,其中每个分支都是潜在路径方案的子集。然后,“绑定”部分对搜索结果进行优化,最后纳入考虑范围的仅仅是所有可能大圆中的几个子集——最接近于解决方案的最优路径。在每次算法的循环反复时,研究人员都会对最佳路径的搜索进行微调。让人惊讶的是,一台普通商用笔记本电脑只花10分钟就完成了这个模型的运算工作。
该研究的搜索结果证实了网友的最初断言,并算出地球上最长的水上直线路径有32089.7千米,也就是19,940英里。如果你乘着一艘船沿着这条路线航行,它将从巴基斯坦的索米尼出发,与马达加斯加和非洲大陆的海岸擦肩而过,然后穿过南美洲和南极洲之间的海峡,再横渡太平洋,避开阿拉斯加群岛,直到最后到达俄罗斯勘察加的卡拉金地区。另一方面,当该算法按着参数反向运行时,它便生成了最长的陆地直线路径,这条11,241公里(大约6,985英里)长的路线起始于中国福建晋江,结束于葡萄牙,途经15个国家。
编译:Jonathan 审稿:阿淼
责编:南熙