提问::九宫拼图问题是不是都有解啊??我刚做了个发现不是都有解!!是不是我写错了??!!
一看起来好像篇幅有点长,但是希望各位不要被吓住,由于解释的比较细,所以看起来比较长,请耐心看看
最近人工智能要求写个计算机自动排九宫问题,相信这个小游戏大家都有耳闻,就不多解释了。
但是我用的是宽度优先算法,发现有些初始化的九宫是不能排好的。
例如::目标用数字表示为(0表示空格):
1 2 3
4 5 6
7 8 0
初始化的九宫是:
1 3 4
2 5 6
7 8 0
这就不能解。
问题基本总结为两类:
一:我称为偶数类(因为本人数学学得不好,不知道这用专业算反属于怎么说)
1 3 4 2 5 6 7 8 0
大致意思就是比一个数大的数排在他前面的个数是偶数(这个数比方定义为 M ),这儿3和4比2大而且排在2的前面,M=2,是偶数个,
(0未计算在内,因为我把它表示空格,即“空”),同理,奇数个就是比一个数大而且排在他前面的个数为奇数,
而且 M 可以累加,例如比2大且排在前面的数有3个,比3大且排在3前面的 数有2个,其余 的没有了,那么 M=3+2=5,为奇数,我发现
当 M 为奇数是问题可解,为偶数时不可解,不知是否正确!!
希望了解此类问题的 大哥 们能给些帮助......期待中........
(如果要我的源程序可以说下!!)