找回密码
 欢迎注册
查看: 10220|回复: 8

[游戏] 解“华容道”

[复制链接]
发表于 2009-11-11 19:53:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
解“华容道”


3*3的格子,里面随机放上数字1~8,每个格子放1个数,1个格是空的,每次只能移1个数字到空格,不能出界(我手机里有这个游戏)
用最少移动步骤实现
1 2 3
4 5 6
7 8
问题可推广到n*n
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-11-11 20:37:51 | 显示全部楼层
3*3,只有一半有解。
最远的状态为31步,只有2个,
647
85
321

867
254
3   1
右下角为空格的最远状态为30步,一共45种,如
347
682
51
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-11-12 15:59:47 | 显示全部楼层
过程是怎么样的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-11-13 10:09:19 | 显示全部楼层
我分析过下面图中的移动方法:
九方格.jpg
据说移动次数最少的世界记录为30步,方法有10种。通过自编的程序计算,证实了这个结论是正确的。下面是我的计算结果,其中数字表示移动棋子的编号:
1)347852178521785643856436421458
2)347852174374863865214786521478
3)345875134651328713246532487456
4)345215764357682176843568421456
5)345215435478214786386214758658
6)147852478638652471861741521478
7)145875365341653412874128741256
8)143142587316312587125465487456
9)125874852831825743163125741258
10)125874312587431631526528741256
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-11-13 12:00:51 | 显示全部楼层
编的过程呢?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-11-13 12:26:03 | 显示全部楼层
记录学习
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-11-13 13:02:27 | 显示全部楼层
本帖最后由 sheng_jianguo 于 2009-11-13 13:10 编辑

接4#
当时(好几年前)觉得此问题很有意思,就简单编了个程序进行计算,也没考虑编程的技巧性,基本思路就是找出≤30步的所有可能棋局,看是否有和要求棋局相同。当然n较大时,这个方法是行不通的。
这里有很多编程高手,他们会有好的求解方法,在这里学习了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-11-13 13:22:59 | 显示全部楼层
这个问题通常我们称为九宫格或八数码问题,是个很古老的问题了。
对于3*3情况,现在的计算机穷举完全不是问题(甚至应该可以扩大到4*4的规模)。
但是对于更加大的规模,求最优解几乎不可能。而如果仅仅求一个解,或者判断是否可解,都是很简单的事。
google一把应该可以找到很多解答。
本论坛里面发现kon3155发过一个参考程序:
http://bbs.emath.ac.cn/viewthrea ... fromuid=20#pid16617
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-11-17 10:37:17 | 显示全部楼层
这些天终于看明白一点了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-27 08:26 , Processed in 0.067797 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表