我正在尝试解决4盒拼图问题。根据我的经验,我的逻辑是每个数字都与空格交换,然后到达正确的位置。
我有这个:
1 3
2
我的目标状态:
1 2
3
使用该方法的是什么:(密钥:R->右,D->向下;向上 - >向上;向左 - >向左)
1 3
2
R/ D| up\ \L
/ | \ \
1 3 1 (not possible boundary exists)
2 2 3
R/ D| up\ \L
/ | \ \
3 1 3
1 2 2
...............
.................
这是我正在做的事情,但我每次都在某个树状态相同,但不是正确的目标状态。如果我使用错误的树方法或算法请告诉我。因为我在通过互联网学习后实现了这种树。
答案 0 :(得分:1)
算法没有错。没有解决方案。没有办法从最初的情况到最终的情况。
答案 1 :(得分:0)
并非所有 4个谜题的实例都是可解的,下图显示了状态图,可以看出有2个连接的组件。
https://stackoverflow.com/a/37421794/624706
如上图所示,目标状态(编码为 0123 )属于这些组件之一,此组件中的所有实例都是可解决的。从另一个组件中,无法达到目标状态,因此这些实例都不可解决。