我们可以使用“最佳优先搜索”解决4个皇后问题吗?

时间:2018-08-30 05:27:19

标签: algorithm data-structures artificial-intelligence

我知道我们可以使用回溯法解决n个皇后问题,但是我的老师要求我使用最佳的优先搜索算法解决4个皇后问题。我试图解决它,但我不知道该方法。我们可以采取无效状态并移动皇后区步长达到有效状态吗?

2 个答案:

答案 0 :(得分:2)

不确定最佳首次搜索的意思。在the OptaPlanner user guide中,我看到3个选项,在4个皇后中进行了解释:

  1. 蛮力,与优先搜索类似:

Brute Force

  1. 分支绑定,与深度优先搜索相似:

Branch and bound

  1. 首次试穿(减少)

enter image description here

话虽这么说,N-Queens is cheatable,所以最好还是利用它。

答案 1 :(得分:1)

是的,可以。
您可以使用A *作为最佳优先算法。您的A *的成本函数应该是被攻击的女王的数量。现在,也使用与启发式相同的值(即被攻击皇后的数量)。
您以后也可以尝试其他启发式方法。