关于八码数问题有解与无解的证明

关于八码数问题与无的证明


8数码难题搜索时,有时候是无的,8数码问题总共有9!种状态,如果用计算机一
个一个去搜索去判断哪些有哪些误,无疑要花费很长的时间,也没必要。作为一种
智力游戏,玩之余,我在想,能否通过事先的分析来判断哪些问题,哪些问题
呢?对于有问题,是否能通过一种固定的步骤来得到?经过昨天晚上和今天的仔
细分析,我觉得我已经得到了这个问题的初步答,下面我公布一下我得到的结果和证
明,抛砖引玉,如果大家发现其中有什么问题,欢迎来我宿舍一起讨论或者给我发Emai
l。
     我的证明分好几个步骤,恳请大家能够耐心的看下去,我会尽量说得简洁一点。
     一、我的结论
     我们将九宫格按行排成一行共九个数(空格也占一个位置,在本文种,我用@表示空
格)。比如:    1 2 3     4 @ 5     =>   1 2 3 4 @ 5 6 7 8    6 7 8     这样
,九宫格的每一种状态和上图的行之间是一一对应的。在代数上册我们学过逆序的概念
,也就是对于任意一对数,如果前面的数比后面的数大,则为一对逆序。对于一个序列
,我们定义其逆序奇偶性如下:    如果其中有奇数对逆序,称之逆序奇;如果其中有
偶数对逆序,称之为逆序偶。这样,对于1,2,...,n这n个数,其所有的排列可以分为
两类,逆序奇类和逆序偶类。相对应的,九宫图(除去空格)也有它的奇偶性,我们的定
理是:
     所有的奇九宫图之间是可达的,所有的偶九宫图之间也是可达的,但奇九宫图和偶
九宫图之间互不可达。
     二、问题的转化
     为了证明上述定理,我想先对问题进行一下转化。我定义两种行序列的变换:一种
是空格@和相邻的数对换,一种是空格@和前后隔两个数的数之间的对换,前者对应着空
格在九宫图中的左右移动,后者对应着空格在九宫图中的上下移动。
     引理一:在上述的两种对换下,序列的奇偶性不改变。    这个引理很容易证明。
首先,相邻的对换肯定不改变奇偶性;其次,隔两格的对换也不改变奇偶性,它相当于
三个数的轮换,我们可以自己列举一下几种情况验证一下。这就说明了奇九宫图和偶九
宫图之间是互不可达的。
     引理二:转化后行序列在上面定义的两种对换下的任意操作,可以转换成九宫图中
空格的合法变化。    这个引理也是比较容易证明的。我们只要证明如下的几种状态之
间是互达的:    a b c        a b @        a b c        a b c    @ d e  <=>  
  c d e        d e f  <=>   d e @    f g h        f g h        @ g h        f
  g h    通过计算机搜索,可以发现上面两对状态之间的确是互达的。从而,我们可以
假定上面两种状态之间的转换可以用行序列中的两种邻对换来代替。
     想提一点的是,九宫图之间的变换是可逆的。下面,到了问题的核心部分了。
     引理三:所有的奇状态可以转换为 @ 1 2 3 4 5 6 7 8,            所有的偶状态
可以转换为 @ 2 1 3 4 5 6 7 8.    要证明这个引理,得分几个步骤。我的想法是先设
法把8移到最后一个,然后8保持不动(注意,我们这里的不动只是形式上不动,但不管怎
样,我们的每一个变换后,8还是保持在最后一个,余类似),再将7移到8之前,然后,
保持7和8不动,依次移动6,5,4,3,得到 * * * 3 4 5 6 7 8这里 * * *是 @ 1 2 的
一个排列。到这里,我想要得到前面的两种状态之一是显然的了。下面,我说明,上面
的想法是可以实现的。如下:    1. 对于 a b c @ ,我们可以将其中的任意一个移到
最后,并且对变换仅限于这四个位置上。显然,对于a,c是一步就可以做到的。对于b,
步骤如下:   a b c @ -> @ b c a -> b @ c a -> b c @ a -> b c a @ -> @ c a b  
    2. 先把要移到最后位置的那个数移到最后四个位置之一,然后再将空格移到最后一
个位置,用1的方法将待移动的数变换到最后一个位置。循环这样做即可。    引理三证
毕。
     证完了这三个引理,定理的成立就是显然的了。首先,将奇偶性相同的两种状态都
变换到上述两种标准状态之一,然后对其一去逆变换即可。以上是我的所有证明,有些
地方在计算机上写起来不是太清楚。


转载自:http://www.newsmth.net/nForum/elite/file?v=%2Fgroups%2Fsci.faq%2FAI%2F5%2F8%2FM.1006525571.A

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值