44年,10?3?的关键突破
本文插图
你是一位辛苦而忙碌的推销员 , 需要穿梭在许多城市之间 。 假设现在你有一系列目的地城市需要逐一拜访 , 并最终返回你生活的那座起点城市 。 你已经做了充足的准备 , 知道任意两座城市之间的距离 , 那么 , 应当如何规划旅行路径 , 才能使得整个旅程最短呢?
虽然描述和理解起来并不复杂 , 但这绝不能算是一个简单的问题 , 尤其是当“城市”的数量远不止三五座 , 而是一个庞大的数字时 , 问题的复杂程度也可能变得超乎想象 。
这个问题有个专属的名字 , 它通常被称为旅行推销员问题(travelling salesman problem, TSP) , 是理论计算机科学中一个最著名的存在已久的基本问题之一 。 理论计算机科学家为了检验有效计算的极限 , 对这一问题进行了反复研究 。 几十年来 , 它也激发了计算机科学中许多基础的进步 , 帮助阐释了 线性规划等技术的能力 。 一些科学家甚至把探索TSP称为一种“瘾” 。
TSP也并非单纯的“纸上谈兵” , 而是具有广泛的实际意义 , 在物流、制造业 , 甚至DNA测序中都有应用 。 在这些情况下 , “城市”就代表着客户、DNA片段等 , 而“城市间的距离”则可以指时间、距离、相似度等 。
两年前 , 当Nathan Klein开始研究生学习时 , 他的导师Anna Karlin与Shayan Oveis Gharan提出了这样一个规划——共同研究理论计算机科学中这个著名问题 。 Klein的导师都认为 , 即使他们无法解决这个问题 , Klein也能在这个过程中学到很多东西 。 当时仍是研究生新生的Klein同意了这个计划 , 他还不知道自己在接下来两年将会面临什么 。
如今 , 在上传至预印本网站的一篇论文中 , 导师与Klein终于实现了他们的目标 , 事实上 , 这也是计算机科学家近半个世纪以来一直所追求的——他们 证明了找出TSP近似解的更优算法 。
大多数计算机科学家相信 , 没有一种算法可以有效地为TSP所有可能的城市组合找到最优解 。 虽然如此 , 找到接近最优解的方法还是有可能的 。
1976年 , 尼科斯·克里斯托菲德斯(Nicos Christofides)提出了一种算法 , 可以有效地找到TSP的近似解 , 并保证这种近似解中的往返旅程最多比最优解长出50%(近似比不超过3/2) 。这种算法利用了连接所有城市的最短“树” , 也就是没有闭合回路的连接(或者叫“边”)网络 , 然后将这种树作为主干 , 随后添加额外的连接 , 将它转换成完整的往返路径 。
【44年,10?3?的关键突破】
本文插图
这是一个简单的TSP例子 , 在这个例子中 , 最优解并不复杂 。 而克里斯托菲德斯算法会先找到连接所有城市的最短树 , 然后再将它转换成完整的往返旅程 。 | 图片设计:雯雯子;素材参考:[1]
在任何往返旅程中 , 连接每座城市的边都必须是偶数条 , 这不难理解 , 因为每次到达后都会离开 。 事实证明反之亦然 , 也就是说 , 如果网络中的每座城市都有偶数条连接 , 那么网络中的连接一定能构成一个往返旅程 。
连接所有城市的最短树则缺乏这种“偶数性” , 因为位于分支末端的城市只存在一条连接 。 克里斯托菲德斯算法找到了最佳的方式 ,将拥有奇数条连接的城市相连 , 就让最短树变成了一个往返旅程 。 随后他证明 , 由此产生的往返旅程最多比最优解长50% 。
克里斯托菲德斯算法是理论计算机科学中最著名的近似算法之一 , 它也成了不少教科书和课程中经常出现的最佳案例 。 但计算机科学家一直相信 , 应当存在比克里斯托菲德斯算法更优的近似算法 。 毕竟 , 克里斯托菲德斯算法虽然简单直观 , 但并非总是那么高效 , 因为连接城市的最短树或许并非可选择的最佳主干 。 比如 , 如果这个树有许多分支 , 那么分支末端的每座城市都需要与另一座城市相匹配 , 这可能会带来大量昂贵的新连接 。
推荐阅读
- 芯片|半导体制造关键原料面临断供 光刻机一哥ASML急寻备胎
- CPU处理器|半导体制造关键原料面临断供 晶圆代工厂联电回应:有备份
- OLED|大突破!京东方研发f-OLED柔性N形折叠屏:12.3/8.6/5.6英寸随意切换
- 骁龙8|Redmi K50电竞版游戏30分钟只有35.8℃!官方详解:三大技术突破才做到
- 天玑9000|呼声极高的天玑9000已在路上:跑分突破107万 超越部分骁龙8机型
- 贾跃亭|法拉第未来汉福德工厂完成接收用于 FF 91 车身装配的关键设备,量产车下周发布
- 贾跃亭|贾跃亭FF 91下周发布 法拉第未来接收车身装配关键设备:来自国内
- 油价|国际油价8年来首次突破每桶100美元:全球油价还要继续上涨
- 服务器|Epic宣布注册账号突破5亿!却有玩家被“堵在门外”无法登陆
- 可折叠手机|苹果还没入局!安卓开创的折叠屏品类今年销量有望突破1500万台