在数据可视化网站 The Pudding 上,一个不起眼的割草小游戏正吸引着不少人反复挑战。游戏的规则很简单:屏幕上是一块长满草的庭院,散布着花坛、树木等障碍,你控制一台割草机,要把所有草地修剪干净。真正的问题藏在每一步的选择里——先割哪块?怎么绕开障碍?路线规划稍有不同,走的路程就可能差出一大截。看似日常的家务劳动,背后其实是一个名为“旅行商问题”的经典数学难题。

设计这个实验的 The Pudding 团队,是受一项关于人类解决旅行商问题表现的研究启发。他们读到,当面对的“城市”数量不多时,普通人找出的路线能惊人地接近计算机计算的最优解;即使节点增加到70个以上,人类的效率也只比最优方案低大约11%。那项研究把不同节点数量下的人机差距画成了直观的图表,曲线清晰地显示:节点越多,人类的表现会逐渐下降。Pudding 团队好奇,如果把旅行商问题“伪装”成割草游戏,不告诉玩家这是数学题,大家的表现还会和那项研究的结论相似吗?于是他们做了这个游戏,并悄悄记录下每位玩家的移动轨迹。

打开网易新闻 查看精彩图片

游戏里的草地区域就相当于旅行商问题里的一个个“城市”,割草机从出发到完成任务走过的路径,就是要优化的路线。从 The Pudding 公开的分析看,在低复杂度场景中,很多玩家能自然而然地找到几乎最优的割草顺序;即便庭院变得零散、障碍增多,平均路径长度上升了,但整体仍只比算法算出的理论最短路径多出那11%左右的额外距离。对于计算机来说,这类组合优化问题极为耗时,复杂度随节点数指数级增长,而人类几乎就能凭空间直觉做到这个程度,多少有些出人意料。

比平均值更耐人寻味的,是“最佳玩家”和“最差玩家”之间的逐点对比。团队分别复盘了两类玩家的每次移动:从总时长看,大家在开始前观察、犹豫的时间差不多,似乎都在认真思考;可一旦把镜头聚焦到每个需要割草的节点上,差异立刻变得明显。优秀的玩家会把注意力精准地放在几个关键位置的先后顺序上,快速做出决定,而低效的玩家往往在一些边缘的细节上反复更改,最终踩出不少迂回路线。这种模式很像棋类高手与新手的分野——高手凭直觉抓住全局,新手在局部计算中消耗太多精力。

The Pudding 还复现了那项早期研究中的图表,把它和自己的游戏数据并列比对。在较低节点数的情况下,玩家的表现曲线几乎贴着最优线;随着节点攀升,两条线逐渐分开,但始终保持着相当窄的差距。换句话说,即使任务变得复杂,人脑的“启发式算法”也没有出现断崖式下跌,依然能把路径长度控制在合理范围。这样的结果反过来也印证了,许多日常的空间决策——停车选位、快递分货、仓库拣选——本质上都在调用我们对旅行商问题的直觉解法,而多数时候,我们做得并不差。

旅行商问题在计算机科学里属于 NP-hard,至今没有找到多项式时间内解决所有实例的通用算法。正因如此,The Pudding 的这个夏日小实验才显得有趣:它把硬核的数学难题藏进一个谁都能上手的割草游戏里,用另一种方式提醒我们,在算法快速进化的今天,人脑那种瞬间抓住全局的启发式推理,依然有着它的长处。游戏目前仍在 The Pudding 开放,感兴趣的读者不妨试一下,看看自己的路径距离和理论最优值之间,究竟会差多少。