人类对迷宫游戏的执着未曾消退,我们不断在寻求着逃离迷宫的方法。数学会是方法之一吗?
从HBO的《西部世界》和英国热播电视剧《水晶迷宫》(The Crystal Maze)的回归可以看出,迷宫游戏堪称当下的一个时尚潮流。
几千年前,世界就已出现迷宫了,其中最著名的有“牛头怪迷宫”(the Labyrinth home of the Minotaur),它是希腊神话中的主角之一。这就引出了一个问题:“maze ”和“labyrinth”都表示“迷宫”,但它们的区别在哪?
虽然一些人认为它们是同义词,但人们通常认为“labyrinth”是指只有一条路的呈螺旋状蔓延并可以回到原点的迷宫,像不断缩小的一个个循环圈;相反,“maze”指的是一种有许多分岔路的迷宫,在“maze”中探索者有选择的余地,也有不断迷路的可能。
因为设计迷宫是一项有偿工作,所以电脑科学家和数学家热衷于进行迷宫生成算法。这些算法可分为两种基本类型:一种是从有界限的单一空间开始设计的,然后利用若干墙壁(和门),来将空间分隔,以生成更小的次空间;另一种是从若干互不接触的空间开始设计,然后“去墙加路”来连接各个空间。
大出逃
逃离迷宫是需要方法的,但首先你要确定迷宫的类型。大多数的方法都适用于“简单”迷宫,也就是那些没有看似是捷径的桥梁或“通道环”来作陷阱、来引导玩家回到起点的迷宫。
假设面对的是个简单的迷宫,许多人知道的逃离办法是“摸墙走”法,也就是一手摸着墙(只要你够方便,哪只手都可以用),然后边走边摸墙壁,最终你会走出来的。你可以想象成,你将墙壁展开,将棱角抚平,最终它成一个圆形的周,这个圆其中的一段路必是迷宫的外边线。
但是,如果迷宫的起点或终点位于迷宫中心,这种逃脱方法可能就行不通了。有一些迷宫的设计是故意刁难玩家的,比如像英国德文郡的厄斯科特花园(Escot Gardens)的山毛榉树篱迷宫,该迷宫内有五座以上的桥梁,要逃离这里的话,可谓是“难上加难”。
另一种逃离迷宫的方法叫Trémaux绳索探索法(Trémaux’s algorithm),它适用于各种情况。就像《格林童话》中的韩塞尔(Hansel)与葛雷特(Gretel),你可以边走边留下一行“面包屑”,然后要记住:如果你到了从未走过的交叉路口(前面的路上没有面包屑),那你就可以任选一条路走;如果你到了一个交叉路口,前面有一条路你走过了,另一条则没有,那你要选择没走过的路;如果要在已经走过一次和走过两次的路之间选择,你要选走过一次的路,然后留下第二条痕迹。基本原则就是,永远不要走那些已经留下两条痕迹的道路。这种方法绝对可以帮你最终走出任何迷宫。
日常生活中的迷宫
玩迷宫游戏到底有什么用处呢?从建筑与城市设计的角度来说,我们要避免一不小心设计出迷宫的情况。迷宫游戏虽然有趣,但在日常生活中,或者说去上班的时候,我们并不需要迷宫一样的道路。
上世纪80年代,建筑理论家比尔·希列尔(Bill Hillier)发现,社会上那些存在问题的住宅区都是格局似迷宫的建筑。这由此引出了一个理论上的问题:我们该如何测量“迷宫型”建筑?
为了找到答案,希列尔创造了“可理解度”(intelligibility)的测量方法。“可理解度”是指在一处迷宫/住宅区/社区里从一处地方可明显看到的东西与从同一区域的其他地方到原来地方的容易程度的关系。
测量结果按0至1判断:高分的环境(0.5以上)是路线清晰、便于人们理解和行驶、人气高的地方——例如伦敦的邦斯贝利(Barnsbury)。相反,可理解度低的地方路线复杂、不便于人们行走,就像迷宫一样——如伦敦的巴比肯屋村(Barbican Estate),虽然在建筑上有可圈可点之处,但布局过于复杂,以致游客们如果不想迷路,就要跟着黄线走。
迷宫设计的数学算法不仅在远古的希腊神话中有用武之地,也适用于现代抗老年痴呆软件的设计当中。我们在最近的航海英雄游戏( SeaHeroQuest game)的游戏等级设计中就使用了“可理解度”测量方法。这款游戏的设计初衷是,通过测试人们的航海技术以推进人们对痴呆的进一步研究。
为了设计出或多或少地类似于迷宫游戏的难度,以及确保玩家在游戏中会能遇到一系列的挑战,我们采用“反向工程”的方法,将“可理解度”应用到这个过程中。因此,迷宫设计的数学算法在古希腊神话中能发挥多大的作用,它在现代抗痴呆软件的设计中就能发挥多大的作用。
原文选自:BBC
译者:刘殷殷
编辑:钦君
阅读更多文章,请关注“文谈”公众号:cdwentan