首页 > 代码库 > 拼图游戏的数学原理

拼图游戏的数学原理

一、线性代数基础知识

1、逆序的定义:

        逆序是一个与排列相关的概念。
        由自然数1,2…,n组成的不重复的每一种有确定次序的排列,称为一个n级排列(简称为排列);或者一般的,n个互不同元素排成一列称为“一个n级排列”。例如,1234和4312都是4级排列,而24315是一个5级排列。
        在一个n级排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个“逆序”。

        一个排列中逆序的总数就称为这个排列的逆序数

        逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列

        如2431中,21,43,41,31是逆序,逆序数是4,为偶排列

         再来一个定理:交换一个排列中的两个数,则排列的奇偶性发生改变

二、拼图的数学定义

       在m*n*p(m,n>2,p>=1)的方块区域里,所有的方格两两不同,其中有一个特殊的方格,称为空穴,任何与之有邻面(二维时只须有邻边)的方块均可与之互换位置(一次这样的位置互换称为一次操作,也称为空穴的一次移动)。刚开始时随机产生杂乱的排列顺序,要求经过一系列操作后形成要求的排列顺序(目标排列)。

       其实,拼图问题可以转化为这么一个问题:“任意给一个数字矩阵,能否证明:经过无限次的交换,一定能到达目标矩阵或者经过无限的交换也不能实现目标矩阵?”。

三、定理

定理一:

         图形A与图形B等价的充要条件图形A的排列的逆序数加上0元素行号和列号的奇偶性等于图形B的排列的逆序数加上0元素行号和列号的奇偶性。为方便表述,把图形排列的逆序数加上0元素行号和列号的奇偶性称为图形的奇偶性。

定理二:

        对于任意 m* n 的情况,任意两个空穴在同一个位置且奇偶性相同的排列可以通过空穴移动相互转化。

定理三、

        对源状态A与目标状态B进行规范化,使得两矩阵的元素0(此处的元素0就是空穴)的位置相同;记为新的源状态A‘与目标状态B‘;

        若A‘与B‘的逆序对的奇偶性相同(即A‘与B1的逆序对的奇偶性相同),则A‘必定可能转化为B‘,即A可以转化到B;

        若A‘与B‘的逆序对的奇偶性不同(即A‘与B2的逆序对的奇偶性相同),则A‘必定不可能转化为B‘,即A不可以转化到B;

小结:

        其实:以上三个定理或者说是结论,说的都是一个事,只是角度不同,三个定理的证明与叙述见下面的链接。

定理一的叙述及证明

定理二的叙述及证明

定理三的叙述及证明

 

 


拼图游戏的数学原理