什么时候修剪在深度优先搜索中停止有效?我一直在研究解决N-Queens问题的有效方法,我正在寻找第一次修剪。我已经为前两行实现了它,但什么时候停止效率呢?我应该修剪多远?
答案 0 :(得分:4)
N-Queens问题通常是递归的。在一个深度实施修剪应该意味着在任何深度实施修剪。
答案取决于你正在做什么样的修剪。如果你正在修剪对称移动,那么当检查成本高于评估整个分支的成本乘以分支对称的概率时,不值得修剪。对于N-Queens问题,在前两行之后,对称性可能不是一种非常富有成效的修剪方法。
答案 1 :(得分:1)
我曾经看过一句关于这个的话,“早点修剪;经常修剪。”另一个,“不要做任何愚蠢的事情;不要做任何事情两次。”
我认为你所做的修剪量应该由你的问题目标或你在N的边界决定。