【发布时间】:2015-07-26 00:06:36
【问题描述】:
我正在编写一个程序来解决一个 3-puzzle(with 3 blocks and a blank) ,这是一个 8-puzzle 的较小版本。我试图通过将与黑色相邻的块移动到空白空间来构建一棵树;因此每个状态都可以给出 2 个状态(分支因子 = 2)。我正在使用广度优先搜索来解决树,但要遍历树,首先必须制作(扩展)它。由于我不能永远继续扩展树,我必须有一些方法将树扩展到一定深度然后遍历它。所以当遍历到最后一层时,会调用expand()函数进一步展开。谁能给我一个清晰的方法或算法来实现这个想法?还是有其他方法可以解决我的问题?
【问题讨论】:
-
@tucuxi 不,我说的是3拼图,因为空间只能是一边(因为只有4个方格)。因此,该空间附近只能有 2 个方块。
-
(删除了我之前的评论——你是对的)