《棋盘上的“马步”探究》(二)

来源:互联网 发布:java线程的作用 编辑:程序博客网 时间:2024/05/06 05:50

0. 问题背景 (本课题为九年级组探究课题)


在中国象棋中,马的走法是一直一斜,棋谚“马走日字(本质上说,“马走日字”是走1×矩形的对角线)。从棋盘上任意一点出发,马能跳到任意的一个点。




2. 在图中半幅棋盘上,马从点A出发,能否跳遍半个棋盘,且每个点恰都只走到一次? 


分析与解答

如下图所示,我们将矩阵划分为黑白间隔的样式。马每走一步,必然会跳到一个异色的方格,即从黑色的跳到白色的,或是相反。因此,马跳过的任何一条路径,必然是由黑白间隔的方格组成的序列。如果从任意白色方格出发,且途中每个方格只能经过一次,则整条线路上白色方格的数量必须等于黑色方格的数量,或者比黑色方格的数量大1。而半幅棋盘,总共有45个方格,其中黑色方格为23个,白色方格为22个。因此,从任意白色方格出发,包括A点,不重复地遍历整个棋盘是不可能的。



3. 半幅棋盘上,从哪些点出发,能跳遍半个棋盘,且每个点都只跳一次?


分析与解答

如上题解答中的分析,从任何白色方格出发,都不可能不重复地遍历整个棋盘。而从任意黑色方格出发,遍历整个棋盘,每个方格只走到一次,是可能的。接下来,我们要证明这不仅是可能的,而且确实有解。如下图所示,棋盘中所有的黑色方格一共有23块,因为对称性,如果以其中用字母标出的这8块方格为起点,可以分别构造出一条哈密尔顿路径,则所有黑色方格都可以作为路径的起点了。

 


下图给出了以这8个黑色方格为起点的行走方案。所以,以图中任何一个黑色方格为起点,都是存在一条哈密尔顿路径的;而以任何一个白色方格为起点,是不可能做到的。

研究与拓展

上述分析的解法,证明了在5×9的矩阵中,从任何一个黑色格子出发,都存在一条哈密尔顿路径。现在我做一个扩展:基于5×9的哈密尔顿路径,可以扩展到无穷平面空间。也就是说,在无穷大的平面中,都存在一个哈密尔顿路径。

如上面的图6和图7所示,我们构造一条路径,从一个5×9的顶点位置(左下角)可以走到这个矩阵的上、下和右方的同样一个5×9矩阵的顶点位置。这样如果我们把一个平面空间抽象为无数个5×的矩阵平铺而成的话,那么就可以从一个顶点出发,采用螺旋形的走法,去遍历所有的5×9矩阵。如下图所示,如此走法,就可以构造出在无穷大的平面空间内的一条哈密尔顿路径,即遍历所有的方格,每个方格只走一次。






…… 后续问题探究 


上文证明了从包括 A 点在所有白色点出发,都是不可能遍历整个半幅棋盘的。而从任何一个黑色方格出发,都存在一条哈密尔顿路径。同时,我还将这个遍历问题扩展到了无穷平面上。


现在问题来了,我们知道 “ 马 ” 的跳跃是 “ 日 ” 字型的,但如果不是 “ 日 ” 字型的,而是 “ 目 ” 字的呢?上述结论还成立吗?如果不是半幅棋盘,而是整幅棋盘呢?

原创粉丝点击