版权归原作者所有,如有侵权,请联系我们

[科普中国]-棋盘完全覆盖问题

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

棋盘完全覆盖问题(problem of perfect cover of chessboard)是一类组合问题,一个8×8国际象棋棋盘,m×n广义棋盘,以及任意形式的残破棋盘都可以被骨牌覆盖。棋盘的一个完全覆盖是若干骨牌安排到棋盘上,使:1.每块骨牌覆盖棋盘上相邻两格;2.棋盘上每一格都被骨牌覆盖;3.没有两块骨牌同时覆盖一格1。

问题总述考虑一个普通的棋盘,它有8行和8列,总共分成64个方格,设一个方格是1 cm2,问能否用32张长2 cm,宽1cm的纸片将棋盘覆盖住(任两片纸片不重叠且不能将纸片剪断),这个问题称为棋盘的完全覆盖问题,显然很容易作出许多不同的完全覆盖,要计算不同的完全覆盖的个数虽然是困难的,但仍可算出来。1961年M.E.Fischer发现这个数是12988816=24×(921)2。2

m×n棋盘的完全覆盖以上问题可推广到m行n列,mn个方格的棋盘的覆盖问题,也可以表述为:用2×1的骨牌,去覆盖一张m×n的棋盘,使得每一个骨牌占两个方格,而每个方格都有骨牌占住,而且没有两块骨牌重叠。

此时完全覆盖就未必存在,如3×3棋盖就不能完全覆盖。那么对于m和n的哪些值,m×n的棋盘有完全覆盖呢?不难看到,一个m×n的棋盘有完全覆盖的充要条件是m和n至少有一个是偶数,换句话说,棋盘中的方格的个数是偶数3。

对于m×n棋盘的覆盖,最为困难的问题要算对覆盖种数的讨论。

假定我们用F(m,n)表示m×n棋盘覆盖方式的总数,显然,我们有

当n≥3时,读者不难从下图看出

F(2,n) =F(2,n-1)+F(2,n-2).

由此可以推得数列{F(2,n)}如下;

1, 2, 3, 5, 8,13,21, 34, 55,.....

聪明的读者想必都知道,这是著名的菲波那契数列!

至于求F(m,n)的一般公式,那是一项异常艰巨的工作。只知道公元1961年,M.E.费切尔求出8×8棋盘的覆盖方式的总数为

F(8,8)=24×(901)2=12988816.

其难度可想而知3。

残缺棋盘的完全覆盖把一个棋盘随意剪去一些方格,得到的是一张“残缺棋盘”。那么,关于残缺棋盘的覆盖问题又怎么样呢?

当然,在残缺棋盘上留下的方格必须是偶数个,否则根本谈不上覆盖。但并不是所有偶数方格的残缺棋盘都能覆盖得了,下图3就是一个有启迪性的例子。那是一张去掉两个角的国际象棋棋盘,它不可能用两方格的多米诺骨牌去覆盖。事实上,我们可以把多米诺骨牌看成是由一个白格和一个黑格组成。很明显,凡能用多米诺

骨牌覆盖的棋盘,其黑格与白格一定一样多,然而图上的残缺棋盘少了二个白格显然不满足这个要求。

读者试一试就会发现,下面两张各挖去一个方格的3×5残缺棋盘,一个是可以覆盖的(图4(Ⅰ)),而另一个却不能覆盖(图4(Ⅱ))。那么,其中的奥妙在哪里呢?

原来,被挖掉的方格的位置有讲究。如果我们将上图像国际象棋盘那样把方格黑白相间涂色,那么这一点将会看得更清楚。例如,上图Ⅱ中白格原本就少,而现在挖去的又是白格,致使黑格比白格净多两个,自然就更无法覆盖了!

再考虑一个8×8棋盘用剪刀剪掉对角上两个方格,能否放置31张纸片把这个残缺的棋盘完全覆盖呢?我们对8×8棋盘上的方格用黑白交替着色,共有32个黑色方格和32个白色方格,如果我们剪掉对角上的两个方格,我们就剪掉了两个同样颜色的方格,比方说是白色的,这样就剩下32个黑色方格和30个白色方格,因此31张纸片必定覆盖棋盘上31个黑色方格和31个白色方格,因此对这个残缺棋盘不能用31张纸片完全覆盖2。

更一般地说,可以取一个黑白交替着色的m×n棋盘,并且任意剪掉若干方格,什么样的残缺棋盘有完全覆盖呢?由上面所述知,残缺棋盘具有完全覆盖的必要条件是黑白方格的个数相同,不过如图5、6所示,这个条件并不是充分条件2。

本词条内容贡献者为:

王海侠 - 副教授 - 南京理工大学