我知道我们可以使用回溯法来解决这个n皇后问题,但我的老师要求我使用最佳优先搜索算法来解决4皇后问题。我尝试过解决这个问题,但我想不出具体的方法。我们可以从一个无效状态开始,通过移动皇后一步步达到有效状态吗?
回答:
是的,你可以做到。
你可以使用A*作为最佳优先算法。你的A*的成本函数应该是被攻击的皇后的数量。目前,你可以将这个值也用作启发式函数(即被攻击的皇后的数量)。
你以后也可以尝试使用其他启发式函数。
我知道我们可以使用回溯法来解决这个n皇后问题,但我的老师要求我使用最佳优先搜索算法来解决4皇后问题。我尝试过解决这个问题,但我想不出具体的方法。我们可以从一个无效状态开始,通过移动皇后一步步达到有效状态吗?
回答:
是的,你可以做到。
你可以使用A*作为最佳优先算法。你的A*的成本函数应该是被攻击的皇后的数量。目前,你可以将这个值也用作启发式函数(即被攻击的皇后的数量)。
你以后也可以尝试使用其他启发式函数。