我正在尝试使用C++编写8数码游戏求解器,但在此过程中遇到了很多问题。虽然程序目前可以工作,但解决拼图需要的步骤太多了。有时它可以找到最优解,有时需要400步以上才能解决。我的主要疑问是...假设我有这个图(这只是一个草稿):
(图片略)
我使用曼哈顿距离作为启发式函数。第一步后,我们有两个状态使得f(n)=5,因此我扩展了树。扩展后,我仍然有两个状态使得f(n)=2。这里是我的疑问...我是否仍需要扩展树,直到获得唯一的最低f(n)?
提前感谢!
(图片略)
我使用曼哈顿距离作为启发式函数。第一步后,我们有两个状态使得f(n)=5,因此我扩展了树。扩展后,我仍然有两个状态使得f(n)=2。这里是我的疑问...我是否仍需要扩展树,直到获得唯一的最低f(n)?
提前感谢!