拼图游戏研究

拼图游戏研究

Benkong Xiao 2008/9/20

未经许可,不得转载

 

一、问题描述

拼图游戏起源于西方,发明与19世纪70年代,据说是由著名的美国拼图制造者SamLoyd(1841-1911)发明的。在一段时间内,这种拼图在欧洲十分流行,并且被冠以各种名字。其规则就是将一幅图像分割成mn(m*n>1),然后将右下方最后一块去掉,随机放在m*n的一个表格里,从而有一块空格留出,要求玩者通过上下左右将图片与其旁边的空格不停的交换,直到最终将其还原为一幅完整的图片。

 

将其转化为数学问题描述就是:随机将编号1m*n-1的球填入一个mn列的方格里,其中有一个空格,任何一个球都只能在其身边有空格的情况下才可以移动,并且位置与空格交换,现在要求玩者将这些球按其编号顺序移入到表格中对应的单元格中,其中单元格格的编号按从左到右,从上到下进行编号。

 

二、问题提出

 

现在存在一个问题,即每次球被随机打乱后,一定能移动成功吗?或者说有解吗?如果有解?那这种有解概率是多少?对于不同的M*N的表格(行列不相同),其解的概率也不同吗?分别又是多少?

 

三、重要结论及其证明

 

结论1

对于2*2方格,将编号132*2-1)的球随机填入表格中,则其解的概率为1/2

 

证明:

将编号132*2-1)的球随机填入表格中其排列组合方式共有C13 *C23* C33=6种,分别如下:

1

2

3

 

 

2

3

1

 

 

3

1

2

 

 

 

 

 

1

3

2

 

 

3

2

1

 

 

2

1

3

 

 

 

 

 


 

其中上排中后面二种方式通过移动,都可变为第上排的第一种,此模式为有解模式。

下排中的后面两种方式通过移动也可变为下排的第一种,此模式为无解模式。

所以解的概率为3/6=1/2

 

结论2

对于任何一个2n (n>2) 列的方格,将2*n-1个编号为1到(2*n-1)的球随机填入该表格内,则必可通过移动使之表格第一行的球均与其单元格位置对应。即:

1

2

。。。

n

X

X

。。。

 

 

 

 

 

 


 

引论1:表格中任何一个球均可移动到表格中任何一个位置。(通过循环移动的方式即可实现)

引论2:假设编号1-k的球 (k<n)已经有序,对于任何m(m>2)n列的表格,空格可始终移动k的后面,即k+1位置上。

 

证明:

   由引论1,球1必定可以移到表格左上角位置,形成有1个球的有序列。

   现假设球1到球k已经有序(1=<k<=n),又当k=n时,结论已得证明。所以现在证明k<n的情况:

(1)    如果球k+1出现在k球的右侧,如下图灰色所示区域:

1

2

k

 

x

x

x

x

x

x

x

x

x

 

 

 

(2)     

 


 

则由引论1,将灰色区域所在的部分视为一个表格,即知k+1必能移到空格位置。

从而将球k+1移入到k的后面。

2)如果球k+1出现在球1到球k的下方,如下图灰色区域所示:

1

2

k

 

x

x

x

k+1

x

x

x

 

 

 

 

 


 

则可先将球循环左移,知道球k+1移到如下位置:(因为空格在k+1的右方,向左循环移动时,空格向左移动,球k+1向右移动,从而必定空格会出现在球k+1的正上方)

3

4

k

 

x

x

2

1

x

k+1

x

x

 

 

 

 

 


 

k+1上移到空格位置,再循环右移即可将球1k+1移动其对应位置。

 

结论3

对于任何一个2n (n>2) 列的方格,将2*n-1个编号为1到(2*n-1)的球随机填入该表格内,则必可通过移动使之表格第一行的球均与其单元格位置对应。即:

1

X

。。。

X

2

X

。。。

 

 

 

 

 


 

证明: 由结论2,将上面的循环左移一下即可。

 

结论4

对于任何一个2n (n>2) 列的方格,将2*n-1个编号为1到(2*n-1)的球随机填入该表格内,则其解的概率为1/2

证明:

    1   2                    n-2 n-1 n

1

2

。。。

n-2

X

X

n+1

n+2

。。。

2n-2

X

 

 

 

 

 


 

由结论3,可知第1列必可将球1和球n+1移入到其位置中。将右边剩下的第2列到第n列继续利用结论2,则球2和球n+2必然也可移入到其位置,如此直到第n-2列。

最后剩下的第n-1列和第n列由结论1即可证明。

 

四、问题解决

 

    通过上面一系列的结论,我们终于可以得到问题的最终结论了,结论如下

对于任何mn列的表格,将编号1m*nm>=2,n>=2)的球随机填入表格中,则其解的概率为1/2

证明:

(1)       m=2n=2,即为结论1

(2)       m=2n>2,即为结论4

(3)       m>2n=2,由表格的对称性,亦即为结论4

(4)       m>2n>2

由结论2,必可先将前m-2行的球按顺序移动好,对于最后两行2,根据结论4即可证明其解的概率为1/2

综上,结论得证。

 

五、计算机算法及实现(待续)

 

附录:

引论2

假设编号1-k的球 (k<n)已经有序,对于任何m(m>2)n列的表格,空格可始终移动k的后面,即k+1位置上。

证明

1

2

k

x

S

x

x

x

x

x

x

 S

x

x

x

S

x

x

x

x

 

      

 

 

 

 

 

(1)       假设空格S出现在如上图中第一排中的S位置,则只需S一直与其前面相邻的x交换位置即可,直到k的后面停止。

(2)       如果空格出现在第二排中的任意一个位置,则S只需与其相邻的数一直交换位置,直到S出现在单元格k+1位置的正下方即可,然后将k+1位置的球x与它交换即可。

(3)       如果空格出现在第m(m>2)排位置中,则可以将空格位置始终与其上排正上方的球x交换位置,直到空格出现在第二排为止,然后利用(2)即可实现。

 

参考文献

...

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值