作 者:吴 飞
引言:
谁知此时黛玉不在自己的房中,却在宝玉房中大家解九连环顽呢。 --- 曹雪芹,《红楼梦》,第七回
游戏简介:
九连环 (Chinese Ring Puzzle) 是中国古老民间玩具,以金属丝制成九个圆环,将圆环套装横式框架上,并贯以环柄。
游玩时,按照一定的规律操作,使九环解开或合而为一为胜。
游戏规则:
九连环的每个环互相制约,仅有两种基本的操作可能的。(假设九连环按照如图所示的位置摆放,其手柄在左侧。)
1. 只有最右侧的环可以在任何时候被上下改变位置。
2. 移动其他环时当且仅当,第它右侧邻近的环在架上,且邻近环右侧的环都不在架上。
如果用二进制来表示九连环的状态,则以 1 代表环在柄上,以 0 代表环已下柄。
演示代码:
本演示基于格雷码,提供了程序解决九连环的方法和答案(当为9环时,解答为341步)。
初始化:创建九连环三维模型
初始化:基于格雷码的九连环求解器,并根据环数设定的最大步数。
操控程序 :九连环解题演示
下载链接: http://demonstrations.wolfram.com/TheChineseRingsPuzzle/
参考文献:
[1] F. Wu,"The Chinese Ring Puzzle", Wolfram Demonstrations Project.
[2] E. Weisstein, "Baguenaudier", "Gray Code", Wolfram Mathworld.
[3] D. E. Knuth, "Gray Code", The Art of Computer Programming, Vol. 4, Addison-Wesley, 2001, pp.5-6.
[4] 吴鹤龄,七巧板、九连环和华容道,科学出版社 2004,pp.143-186.