上帝之数
2008 年七月, 来自世界各地的很多最优秀的魔方玩家聚集在捷克共和国 (Czech Republic) 中部的帕尔杜比采 (Pardubice), 参加魔方界的重要赛事: 捷克公开赛。 在这次比赛上, 荷兰玩家阿克斯迪杰克 (E. Akkersdijk) 创下了一个惊人的纪录: 只用 7.08 秒就复原一个颜色被彻底打乱的魔方。 无独有偶, 在这一年的八月, 人们在研究魔方背后的数学问题上也取得了重要进展。 在本文中, 我们就来介绍一下魔方以及它背后的数学问题。
一. 风靡世界的玩具
1974 年春天, 匈牙利布达佩斯应用艺术学院 (Budapest College of Applied Arts) 的建筑学教授鲁比克 (E. Rubik) 萌生了一个有趣的念头, 他想设计一个教学工具来帮助学生直观地理解空间几何的各种转动。 经过思考, 他决定制作一个由一些小方块组成的, 各个面能随意转动的 3×3×3 的立方体。 这样的立方体可以很方便地演示各种空间转动。
这个想法虽好, 实践起来却面临一个棘手的问题, 即如何才能让这样一个立方体的各个面能随意转动? 鲁比克想了很多点子, 比如用磁铁或橡皮筋连接各个小方块, 但都不成功。 那年夏天的一个午后, 他在多瑙河畔乘凉, 他的眼光不经意地落在了河畔的鹅卵石上。 忽然, 他心中闪过一个新的设想: 用类似于鹅卵石表面那样的圆形表面来处理立方体的内部结构。 这一新设想成功了, 鲁比克很快完成了自己的设计, 并向匈牙利专利局申请了专利。 这一设计就是我们都很熟悉的魔方 (magic cube), 也叫鲁比克方块 (Rubik's cube)[注一]。
六年后, 鲁比克的魔方经过一位匈牙利商人兼业余数学家的牵头, 打进了西欧及美国市场, 并以惊人的速度成为了风靡全球的新潮玩具。 在此后的 25 年间, 魔方的销量超过了 3 亿个。 在魔方的玩家中, 既有牙牙学语的孩子, 也有跨国公司的老总。 魔方虽未如鲁比克设想的那样成为一种空间几何的教学工具, 却变成了有史以来最畅销的玩具。
魔方之畅销, 最大的魔力就在于其数目惊人的颜色组合。 一个魔方出厂时每个面各有一种颜色, 总共有六种颜色, 但这些颜色被打乱后, 所能形成的组合数却多达 4325 亿亿[注二]。 如果我们将这些组合中的每一种都做成一个魔方, 这些魔方排在一起, 可以从地球一直排到 250 光年外的遥远星空。 也就是说, 如果我们在这样一排魔方的一端点上一盏灯, 那灯光要在 250 年后才能照到另一端。 如果哪位勤勉的玩家想要尝试所有的组合, 哪怕他不吃、 不喝、 不睡, 每秒钟转出十种不同的组合, 也要花 1500 亿年的时间才能如愿 (作为比较, 我们的宇宙目前还不到 140 亿岁)。 与这样的组合数相比, 广告商们常用的 “成千上万”、 “数以亿计”、 “数以十亿计” 等平日里虚张声势、 忽悠顾客的形容词反倒变成了难得的谦虚。 我们可以很有把握地说, 假如不掌握诀窍地随意乱转, 一个人哪怕从宇宙大爆炸之初就开始玩魔方, 也几乎没有任何希望将一个色彩被打乱的魔方复原。
二. 魔方与 “上帝之数”
魔方的玩家多了, 相互间的比赛自然是少不了的。 自 1981 年起, 魔方爱好者们开始举办世界性的魔方大赛, 从而开始缔造自己的世界纪录。 这一纪录被不断地刷新着, 到本文写作之时为止, 复原魔方的最快纪录 - 如我们在本文开头提到的 - 已经达到了令人吃惊的 7.08 秒。 当然, 单次复原的纪录存在一定的偶然性, 为了减少这种偶然性, 自 2003 年起, 魔方大赛的冠军改由多次复原的平均成绩来决定[注三], 目前这一平均成绩的世界纪录为 11.28 秒。 这些记录的出现, 表明魔方虽有天文数字般的颜色组合, 但只要掌握窍门, 将任何一种组合复原所需的转动次数却并不多。
那么, 最少需要多少次转动, 才能确保无论什么样的颜色组合都能被复原呢[注四]? 这个问题引起了很多人, 尤其是数学家的兴趣。 这个复原任意组合所需的最少转动次数被数学家们戏称为 “上帝之数” (God's number), 而魔方这个玩具世界的宠儿则由于这个 “上帝之数” 一举侵入了学术界。
要研究 “上帝之数”, 首先当然要研究魔方的复原方法。 在玩魔方的过程中, 人们早就知道, 将任意一种给定的颜色组合复原都是很容易的, 这一点已由玩家们的无数杰出纪录所示范。 不过魔方玩家们所用的复原方法是便于人脑掌握的方法, 却不是转动次数最少的, 因此无助于寻找 “上帝之数”。 寻找转动次数最少的方法是一个有一定难度的数学问题。 当然, 这个问题是难不倒数学家的。 早在二十世纪九十年代中期, 人们就有了较实用的算法, 可以用平均十五分钟左右的时间找出复原一种给定颜色组合的最少转动次数。 从理论上讲, 如果有人能对每一种颜色组合都找出这样的最少转动次数, 那么这些转动次数中最大的一个无疑就是 “上帝之数”。 但可惜的是, 4325 亿亿这个巨大的数字成为了人们窥视 “上帝之数” 的拦路虎。 如果采用上面提到的算法, 哪怕用一亿台机器同时计算, 也要超过一千万年的时间才能完成。
看来蛮干是行不通的, 数学家们于是便求助于他们的老本行: 数学。 从数学的角度看, 魔方的颜色组合虽然千变万化, 其实都是由一系列基本的操作 (即转动) 产生的, 而且那些操作还具有几个非常简单的特点, 比如任何一个操作都有一个相反的操作 (比如与顺时针转动相反的操作就是逆时针转动)。 对于这样的操作, 数学家们的军火库中有一种非常有效的工具来对付它, 这工具叫做群论 (group theory), 它早在魔方问世之前一百四十多年就已出现了。 据说德国数学大师希尔伯特 (D. Hilbert) 曾经表示, 学习群论的窍门就是选取一个好的例子。 自魔方问世以来, 数学家们已经写出了好几本通过魔方讲述群论的书。 因此, 魔方虽未成为空间几何的教学工具, 却在一定程度上可以作为学习群论的 “好的例子”。
对魔方研究来说, 群论有一个非常重要的优点, 就是它可以充分利用魔方的对称性。 我们前面提到 4325 亿亿这个巨大数字时, 其实有一个疏漏, 那就是并未考虑到魔方作为一个立方体所具有的对称性。 由此导致的结果, 是那 4325 亿亿种颜色组合中有很多其实是完全相同的, 只是从不同的角度去看 (比如让不同的面朝上) 而已。 因此, 4325 亿亿这个令人望而生畏的数字实际上是 “注水猪肉”。 那么, 这 “猪肉” 中的 “水份” 占多大比例呢? 说出来吓大家一跳: 占了将近 99%! 换句话说, 仅凭对称性一项, 数学家们就可以把魔方的颜色组合减少两个数量级[注五]。
但减少两个数量级对于寻找 “上帝之数” 来说还远远不够, 因为那不过是将前面提到的一千万年的时间减少为了十万年。 对于解决一个数学问题来说, 十万年显然还是太长了, 而且我们也并不指望真有人能动用一亿台计算机来计算 “上帝之数”。 数学家们虽然富有智慧, 但在其它方面却不见得很富有, 他们真正能动用的也许只有自己书桌上的那台机器。 因此为了寻找 “上帝之数”, 人们还需要寻找更巧妙的思路。 幸运的是, 群论这一工具的威力远不只是用来分析象立方体的对称性那样显而易见的东西, 在它的帮助下, 新的思路很快就出现了。
三. 寻找 “上帝之数”
1992 年, 德国数学家科先巴 (H. Kociemba) 提出了一种寻找魔方复原方法的新思路。 他发现, 在魔方的基本转动方式中, 有一部分可以自成系列, 通过这部分转动可以形成将近 200 亿种颜色组合[注六]。 利用这 200 亿种组合, 科先巴将魔方的复原问题分解成了两个步骤: 第一步是将任意一种颜色组合转变为那 200 亿种组合之一, 第二步则是将那 200 亿种组合复原。 如果我们把魔方复原比作是让一条汪洋大海中的小船驶往一个固定的目的地, 那么科先巴提出的那两百亿种颜色组合就好比是一片特殊的水域 - 一片比那个固定地点大了 200 亿倍的特殊水域。 他提出的两个步骤就好比是让小船首先驶往那片特殊水域, 然后从那里驶往那个固定的目的地。 在汪洋大海中寻找一片巨大的特殊水域, 显然要比直接寻找那个小小的目的地容易得多, 这就是科先巴的新思路的优越之处。
但即便如此, 要用科先巴的方法对 “上帝之数” 进行估算仍不是一件容易的事。 尤其是, 要想进行快速的计算, 最好是将复原那 200 亿种颜色组合的最少转动次数 (这相当于是那片 “特殊水域” 的地图) 存储在计算机的内存中, 这大约需要 300 兆的内存。 300 兆在今天看来是一个不太大的数目, 但在科先巴提出新思路的那年, 普通机器的内存连它的十分之一都远远不到。 因此直到三年后, 才有人利用科先巴的方法给出了第一个估算结果。 此人名叫里德 (M. Reid), 是美国中佛罗里达大学 (Unversity of Central Florida) 的数学家。 1995 年, 里德通过计算发现, 最多经过 12 次转动, 就可以将魔方的任意一种颜色组合变为科先巴那 200 亿种组合之一; 而最多经过 18 次转动, 就可以将那 200 亿种组合中的任意一种复原。 这表明, 最多经过 12+18=30 次转动, 就可以将魔方的任意一种颜色组合复原。
在得到上述结果后, 里德很快对自己的计算作了改进, 将结果从 30 减少为了 29, 这表明 “上帝之数” 不会超过 29。 此后随着计算机技术的发展, 数学家们对里德的结果又作进一步的改进, 但进展并不迅速。 直到 11 年后的 2006 年, 奥地利开普勒大学 (Johannes Kepler University) 符号计算研究所 (Research Institute for Symbolic Computation) 的博士生拉杜 (Silviu Radu) 才将结果推进到了 27。 第二年, 即 2007 年, 美国东北大学 (Northeastern University) 的计算机科学家孔克拉 (D. Kunkle) 和库伯曼 (G. Cooperman) 又将结果推进到了 26, 他们的工作采用了并行计算系统, 所用内存高达 700 万兆, 所耗计算时间则长达 8000 小时 (相当于将近一年的 24 小时不停歇计算)。
这些计算结果表明, “上帝之数” 不会超过 26。 但是, 所有这些计算的最大优点 - 即利用科先巴的那片 “特殊水域” - 同时也是它们最致命的弱点, 因为它们给出的复原方法都必须经过那片特殊水域。 可事实上, 很多颜色组合的最佳复原方法根本就不经过那片特殊水域, 比如紧邻目的地, 却恰好不在特殊水域中的任何小船, 显然都没必要象大陆台湾的直航包机一样, 故意从那片特殊水域绕一下才前往目的地。 因此, 用科先巴的思路得到的复原方法未必是最佳的, 由此对 “上帝之数” 所做的估计也极有可能是高估。
可是, 如果不引进科先巴的特殊水域, 计算量又实在太大, 怎么办呢? 数学家们决定采取折衷的手段, 即扩大那片特殊水域的 “面积”, 因为特殊水域越大, 最佳复原路径恰好经过它的可能性也就越大 (当然, 计算量也会有相应的增加)。 2008 年, 研究 “上帝之数” 长达 15 年之久的计算机高手罗基奇 (T. Rokicki) 运用了相当于将科先巴的特殊水域扩大几千倍的巧妙方法, 在短短几个月的时间内对 “上帝之数” 连续发动了四次猛烈攻击, 将它的估计值从 25 一直压缩到了 22。 截至本文写作之时为止, 这是全世界范围内的最佳结果。 罗基奇的计算得到了电影特效制作商索尼影像 (Sony Pictures Imageworks) 的支持, 这家曾为 “蜘蛛人” 等著名影片制作特效的公司向罗基奇提供了相当于 50 年不停歇计算所需的计算机资源。
因此, 现在我们已经知道, “上帝之数” 一定不超过 22。 但是, 罗基奇的特殊水域虽然很大, 终究仍有很多颜色组合的最佳复原方法是无需经过那片特殊水域的, 因此, “上帝之数” 很可能比 22 更小。 那么, 它究竟是多少呢? 人们虽然还无法确知, 但种种迹象表明, 它极有可能是 20。 这是因为, 人们在过去这么多年的所有努力 - 其中包括罗基奇直接计算过的大约四千万亿种颜色组合 - 中, 都从未遇到任何必须用 20 次以上转动才能复原的颜色组合, 这表明 “上帝之数” 很可能不大于 20。 另一方面, 人们已经发现了几万种颜色组合, 它们必须要用 20 次转动才能复原, 这表明 “上帝之数” 不可能小于 20。 将这两方面综合起来, 数学家们普遍相信, “上帝之数” 的真正数值就是 20。 当然, “上帝” 也许是微妙的, 我们谁也无法保证它是否会在某个角落为我们留下惊讶, 我们唯一有理由相信的也许是: 这个游戏与数学交织而成的神秘的 “上帝之数” 距离它水落石出的那一天已不太遥远了。
注释
1.魔方是鲁比克自己为这一立方体所取的名字, 鲁比克方块则是美国玩具公司 Ideal Toys 所取的名字。 在西方国家, 鲁比克方块这一名称更为流行, 在中国, 则是魔方这一名称更为流行。 另外要提醒读者的是, 魔方有很多种类, 本文介绍的 3×3×3 魔方只是其中最常见的一种。
2.具体的计算是这样的: 在组成魔方的小立方体中, 有 8 个是顶点, 它们之间有 8! 种置换; 这些顶点每个有 3 种颜色, 在朝向上有 37 种组合 (由于结构所限, 魔方的顶点只有 7 个能有独立朝向)。 类似的, 魔方有 12 个小立方体是边, 它们之间有 12!/2 种置换 (之所以除以 2, 是因为魔方的顶点一旦确定, 边的置换就只有一半是可能的); 这些边每个有两种颜色, 在朝向上有 211 种组合 (由于结构所限, 魔方的边只有 11 个能有独立朝向)。 因此, 魔方的颜色组合总数为 8!×37×12!×211/2 = 43252003274489856000, 即大约 4325 亿亿。 另外值得一提的是, 倘若我们允许将魔方拆掉重组, 则前面提到的结构限定将不复存在, 它的颜色组合数将多达 51900 亿亿种。 不过组合数的增加并不意味着复原的难度变大, 魔方结构对组合数的限制实际上正是使魔方的复原变得困难的主要原因。 举个例子来说, 二十六个英文字母在相邻字母的交换之下共有约 400 亿亿亿种组合, 远远多于魔方颜色的组合数, 但通过相邻字母的交换将随意排列的二十六个英文字母复原成从 A 到 Z 的初始排列却非常简单。
3.确切地说是取五次尝试中居中的三次成绩的平均值。
4.为了使这一问题有意义, 当然首先要定义什么是转动。 在对魔方的数学研究中, 转动是指将魔方的任意一个 (包含 9 个小方块的) 面沿顺时针或逆时针方向转动 90° 或 180°, 对每个面来说, 这样的转动共有 3 种 (请读者想一想, 为什么不是 4 种?)。 由于魔方有 6 个面, 因此它的基本转动方式共有 18 种。
5.确切地说, 是 18 种基本转动方式中有 10 种自成系列, 由此形成的颜色组合共有 8!×8!×4!/2 (约 195 亿) 种。
欲医—妙手神针的作者介绍
笔名:戴小楼民族:汉籍贯:扬州原起点中文网站作者,2013年6月加盟创世中文网,成为创世中文网驻站作者。与唐家三少,静官都是同学。起点写手天使奥斯卡,静官,跳舞,夹子,戴小楼号称“五鼠”唐家三少口中的桃谷六仙之一(唐家三少、跳舞、宁致远、天使奥斯卡、静官、戴小楼)。根据其好友的描写(梦入神机等),自小练武,握拳时骨节磨平,“经常表演袖底脚”。当过DJ,甚至跳过艳舞(玩乐性质)。大概是如此的生活历练才能让他写出的文字“嬉笑怒骂皆成文章”。代表作:《大宋时代周刊》(已烂尾)、《欲医-妙手神针》(已烂尾)、《白目老师》(已烂尾)、《大明春》(已烂尾)《我和女侠有个约会》(连载于创世中文网)