一秒规划德国1.5万城市路线
Some combinatorial applications of spacefilling curves

空间填充曲线(Spacefilling curves)不仅是数学奇景,更是解决旅行商问题(TSP)的高效利器。通过Sierpinski曲线,我们能在O(n log n)时间内为随机点集生成路径,虽比最优解长约25%,却无需计算距离且支持并行。从Fulton County的Meals-on-Wheels送餐,到美国红十字会(American Red Cross)的血液配送,再到战略防御计划(SDI)的激光瞄准,这一启发式算法已广泛应用。对比Applegate等人耗时22.6年CPU时间算出的德国15,112城市最优解,我们的算法仅需不到一秒,虽多跑约34%路程,却实现了即时响应。
这里存在一个权衡:使用我们的启发式算法,你能立刻得到路线,但必须多旅行一个月;或者配置110个处理器的网络,花费两个月计算最短路线,只为节省一个月的驾驶时间。
HN 评论区
18- shoo
> 为了将太空激光瞄准“战略防御倡议”(俗称“星球大战”计划)
我猜这个应用场景是要选择一个顺序,以便在尽可能短的时间内同时攻击多个目标——比如分导式多弹头或齐射的导弹。
- kmschaal
将空间填充曲线用作旅行商问题的启发式算法,这是一个我之前没听说过的很棒的用法。我大多是在并行计算的领域分解背景下见过它们,在那里你会在 n 个点处切断曲线,从而获得 n+1 个互不相交的域。
- shoo
空间填充曲线也可以作为底层技术,用于支持高效空间查询的数据结构中:https://en.wikipedia.org/wiki/Hilbert_R-tree