在上一次证明一个关于棋盘完美覆盖的问题时遗留了另一个问题没有解决。这个遗留的问题来自于一个没有被采用的证明方法。该方法的证明步骤中需要一个证明,该证明就是如果某一个棋盘完美覆盖存在同色相连的格子那么通过有限次的翻转方块就可以消除棋盘中所有的同色相连的格子。为了便于区别,这次用于覆盖棋盘的方块是由红色和绿色组成的,方块还是1乘2的矩形。所谓同色相连的格子就是指棋盘被覆盖后红色或者绿色的格子相邻。如下图所示就是一个例子:

首先我们采用这样一种方法来翻转方块,就是水平放置的方块就水平翻转,这样左边的格子到右边,右边的格子到左边;垂直放置的方块就垂直翻转,这样上边的格子到下边,下边的格子到上边。对于某一个存在同色相连格子的完美覆盖,先任意选择相连格子中的一个方块,然后翻转,这样当前的这个同色相连的方格就消除了。然后看方块翻转以后是否引起新的同色相连。如果有那就继续翻转(当前翻转过的就不要再翻转了,而是翻转没有被翻转过并且是同色相连的那个方块),重复执行这个操作。如果某次翻转后没有新的同色相连的格子增加,那么就停止翻转,然后寻找棋盘中的其他同色相连的格子重复上述的过程。如果这整个过程可以顺利完成那么需要证明的问题就解决了。所以这里假设这个过程是不可能完成的,也就是说不能通过有限次翻转方块来消除所有的同色相连的格子。下面的证明就从这个假设开始,使用反证法推出矛盾从而证明原命题是成立的。

通过上述的分析可以看出,如果无法通过翻转方块消除同色相连的格子,那么在某次执行翻转的时候必定会出现这样一种情况:每次翻转一个方块在消除一个同色相连方格的同时必定会产生一个新的同色相连的格子,从而导致翻转的过程无法停止,永远继续下去,现在就要证明这是不可能的。我们假设这样的翻转执行了33次(大于32的次数都可以)。显然覆盖整个棋盘需要的方块是32个,而翻转执行了33次,那么根据鸽鸟巢原理必定存在两个方块是一样的。把这样一个被翻转的方块的序列描述如下:

K,K+1,K+2,... K+N,K

现在我们取第K个方块到第K+N个方块的序列。将这些方块首尾相连就得到一个连续的方格序列。显然这个序列中的第一个方格(方块K的第一个格子)和最后一个方格(方块K+N的第二个格子)在棋盘上是相邻的,并且这个序列中的任意2个相邻的格子在实际的棋盘中也是相邻的。这个特点是由翻转方块的方法决定的。那么在这个序列中,最初的同色相连的格子也在其中并且相邻,不失一般性假设相连的是红色格子。现在先从这个序列中拿走这两个同色相邻的红色格子,然后依次每次从这个序列中拿走两个相邻的格子,直至拿走序列中全部的格子。那么在这个过程中必定会有一次拿走的是两个绿色的格子。

这个很容易证明。首先方块的个数是整数,所以绿色方格和红色方格的总数是相同的。那么在第一次拿走两个红色格子后,后续没有一次同时拿走两个绿色格子的话,红色格子的总数和绿色格子的总数就不相等了。基于同样的理由,实际上这个结论很容易推广到更一般的情况,那就是绿色格子相连的个数和红色格子的相连个数是相等的。

由于一个方块只包含一个红色和一个绿色的格子,因此这两个绿色格子来自于两个不同的方块。可以假设这两个方块是J和J+1。好了现在我们就可以从第一个方块开始依次翻转每一个方块了。当翻转到第J个方块时,可以发现原来相邻的两个绿色格子不相邻了。因为翻转后第K个方块覆盖的绿色格子变成了红色格子。这就意味着在翻转第J个方块后没有产生新的同色相连的格子,从而导致没有必要翻转第J+1个方块,翻转的过程在这里就可以停止了。这个事实和我们的假设是矛盾的,所以原命题就得到了证明。

对棋盘完美覆盖问题证明过程的质疑及其解决(续)相关推荐

  1. 对棋盘完美覆盖问题证明过程的质疑及其解决

    所谓棋盘完美覆盖问题是这样的,在8乘8的国际象棋棋盘上,用1乘2矩形方块覆盖.棋盘如下图所示: 如果棋盘上所有的格子被覆盖,并且没有漏的也没有重复覆盖,那么这样的覆盖就是完美覆盖.现在要求证明在如下的 ...

  2. 多米诺骨牌最长牌阵java_棋盘的完美覆盖(多米诺骨牌完美覆盖)幻方(魔方阵)...

    棋盘的完美覆盖: 一张8行8列的棋盘一共有64个方格,用一些形状相同的多米诺骨牌覆盖,每一张覆盖相邻的两个方格,没有相互重叠,能用32张这样的多米诺骨牌完全覆盖整张棋盘称为多米诺骨牌完美覆盖或者盖瓦. ...

  3. 缺角棋盘的覆盖算法 | CoverMissingConnerBoard Recursion Algorithm

    1-24 缺角棋盘的覆盖算法 1 | CoverMissingConnerBoard Recursion Algorithm Primary 考察缺失右上角(面积为4n-1)的2n * 2n 的棋盘 ...

  4. (小规模)b牌棋盘完美覆盖数【整理】

    (小规模)b牌棋盘完美覆盖数 农夫三拳@seu(drizzlecrj@gmail.com) 考虑一个普通的国际象棋棋盘,它被分成8*8(8行8列)的64个正方形.设有形状一样的多米诺骨牌,每张牌恰好覆 ...

  5. 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质 | 证明过程 )

    文章目录 一.傅里叶变换时移性质 1.证明过程 2.使用场景 一.傅里叶变换时移性质 傅里叶变换频移性质 : " 序列信号 x(n)x(n)x(n) " 的 " 傅里叶变 ...

  6. 【计算理论】图灵机 ( 多个带子的图灵机 | 计算能力对比 | 证明过程 | 一个带子图灵机 )

    文章目录 一.多个带子的图灵机 二.证明过程设计 三.模仿操作 四.模仿带子排列 五.模仿读写头操作 一.多个带子的图灵机 多个带子的图灵机 指的是 图灵机不止一个带子 , 下图是 333 个带子的图 ...

  7. 协方差公式性质证明过程_论文推荐 | 刘志平:等价条件平差模型的方差-协方差分量最小二乘估计方法...

    <测绘学报> 构建与学术的桥梁 拉近与权威的距离 等价条件平差模型的方差-协方差分量最小二乘估计方法 刘志平1, 朱丹彤1, 余航1, 张克非1,2 1. 中国矿业大学环境与测绘学院, 江 ...

  8. 算法证明_CFR+算法证明过程

    在介绍CFR+算法之前,我们首先介绍一下基础概念. 在CFR+算法中,counterfactual utility被定义为以下形式: 然后在regret的基础上,CFR+算法定义了一个regretli ...

  9. (1-e^(-j5w))/(1-e^(-jw))=e^(-j2w)*sin(5w/2)/sin(w/2)的证明过程

    问题出现:<数字信号处理第三版>第90页刘顺兰版 最后一步怎么得到的? 思路:观察答案,有一个自然对数项.关键就是如何提取出这一项. 我的证明过程如下: 参考链接: [和差化积]

最新文章

  1. setTimeOut()
  2. linux xz 解压initrd.img,2016-8-28 linux基础学习——压缩解压缩及归档 while脚本
  3. 2006年大话IT数码新潮
  4. View-webui controller 功能流程
  5. 子类重写父类虚函数_C/C++编程笔记:关于C++的虚函数和多态,你真的了解吗?...
  6. 推荐系统的十个关键点
  7. SAP标准培训课程C4C10学习笔记(二)第二单元
  8. BluePrint和ORM
  9. Python基础(八)--迭代,生成器,装饰器与元类
  10. 使用mkdir创建同级多目录
  11. Installing SuiteSparse
  12. 2015蓝桥杯C++A:奇妙的数字(枚举法)
  13. 资料 |《深度学习500问》,川大优秀毕业生的诚意之作
  14. 690 - Pipeline Scheduling (DFS + 状态压缩 + 剪枝)
  15. html 幻灯片原理,js幻灯片
  16. [BScroll warn]: Can not resolve the wrapperDOM. .......
  17. RecyclerView、Adapter、ViewHolder的关系
  18. PHP-简单的留言薄功能
  19. 【H5】 h5运行在手机浏览器查看控制台信息
  20. java二维数组添加数据_我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊...

热门文章

  1. nohup java - cp_nohup java - cp
  2. android mm 修改路径,Android 编译系统模块
  3. multisim怎么设置晶体管rbe_怎么在multisim14里仿真电路
  4. oracle迁移性能对比,SQL Server 2015与Oracle性能对比.doc
  5. 如何填满word页面_Word应用分隔符的使用
  6. Fiddler——自动响应器设置——URL重定向
  7. 使用 Autofill 插件快速提交BUG
  8. git向远程推送代码提示需要token
  9. linux搭建博客day2
  10. 如何判别你的领导是否值得跟随?这几点帮你快速看清