俄罗斯方块背后的数学故事
1984年的时候,当时还名不见经传的阿列克谢•帕基特诺夫(Alexey Pajitnov)只是苏联科学院计算机中心的一位普通的工程师。他热衷于开发电脑游戏,不过这些游戏卖得都不好。那年夏天,他突然又想到了一个新点子——让不同形状的积木落进一个矩形的玻璃容器里,在容器底部堆叠起来,使之排列成完整的一行或多行。在两位同伴的协助下,他很快编写好了这个游戏。
虽然他早就预感到这个游戏可能会火起来,但结果还是令他瞠目结舌:这个游戏在莫斯科迅速流行起来,并很快风靡全球。在此后的27年里,这个游戏被移植到了几乎所有的电脑系统和游戏平台上,不少mp3、mp4、手机、电视甚至示波器上也附带有这个游戏。并且它还衍生出其他各类玩法,极大丰富了解谜游戏的类型。这个无人不知无人不晓的经典游戏后来被命名为——俄罗斯方块。
你对俄罗斯方块了解多少?你知道俄罗斯方块的游戏场地大小吗?你知道每一种方块的名字吗?
俄罗斯方块的游戏场地是一个宽为10,高为20的矩形。游戏里共有7种方块,根据它们的形状分别命名为I, J, L, O, S, T, Z。玩家需要控制不断下落的方块填放到合适的位置,被填满的行将自动消除。视局面的不同,玩家一次可消除1行至4行不等,这在游戏里分别叫做 SINGLE、DOUBLE、TRIPLE和TETRIS。一次性消除的行数越多,得分也就越高。随着被消除的总行数的增加,方块下落速度会越来越快。一旦某个方块放置后超出了场地高度,游戏便自动结束。
到如今俄罗斯方块已经诞生27年了。在这27年里,俄罗斯方块不但让几代玩家为之疯狂,也让不少数学家沉迷于其中。
俄罗斯方块引出的第 一个数学问题是,如果玩家的技术足够高,游戏是否永远也不会结束?1988年,约翰•布鲁托斯基(John Brzustowski)的一篇论文指出,若“S”型方块和“Z”型方块以适当的间隔交替出现时,游戏区域中将不可避免地出现越来越多无法消去的行,最终导致游戏结束。虽然这种情况发生的概率极低,但毕竟是有可能的,因此理论上俄罗斯方块是不能一直玩下去的。
另一个值得思考的问题是,游戏中用到的7种方块总面积为28,那么是否能用这7个不同形状的方块拼出一个4×7的矩形呢?虽然游戏中的方块似乎都是填补空间的好手,但这个问题的答案却是否定的。原因很简单:如果把这7种方块都放到国际象棋棋盘上,你会发现几乎每一种方块都总是占据着两个黑色格子和两个白色格子,只有“T”型方块所占的黑白格子个数始终不等。因而7个方块所占据的黑白格子总数也是不相等的。但在一个4×7的矩形区域中黑白格子数目是相同的,因此它不可能被这7个方块完全覆盖住。
有趣的是,这7种方块恰好能构成一个平面镶嵌。如果一组几何图形能够既无重叠又无空缺地填满整个平面,我们就把它称作一种平面镶嵌。地砖的形状基本上都是等边三角形、正方形和正六边形,这就是因为单用一种正多边形构造平面镶嵌仅有这三种情况。如果允许使用多种图形,我们还能构造出更多漂亮的平面镶嵌图。一些设计师别出心裁,把墙砖做成了俄罗斯方块的形状,给居家生活带来几分创意。
我坚信人人都玩过这极易上手的游戏。还有很多人用俄罗斯方块搭建出各种创意图形。那你能搞定下面两个问题吗:
如何把6个“L”形状的方块摆放在一起,使得每个“L”恰好都和另外三个“L”相邻?
怎样用奇数个“L”摆成一个轴对称图形?
来源:matrix67