【发布时间】:2013-04-18 14:49:27
【问题描述】:
我希望提高算法的速度,以计算 N+1 个皇后问题的解决方案数量(将 N+1 皇后放在带有 1 个棋子的 NxN 棋盘上)。
我基本上使用蛮力结合回溯,我首先将棋子放在棋盘上的随机位置(没有没有边缘的正方形的边缘和角落),然后我开始使用回溯放置皇后。这种方法很容易,但也很慢。什么算法会更快?
我正在考虑先在棋子的每一侧放置一个棋子和 4 个皇后,但我不确定这会提高计算速度。
【问题讨论】:
-
您是否考虑过将其公式化为约束问题并使用标准 CP 求解器求解?
-
这是一个需要纸、笔和逻辑而非暴力的问题。
-
这本身并不是一个好的答案,但是wikipedia page 上针对这个问题描述了很多优化。
-
我不确定我是否理解问题所在。你想要皇后不互相攻击还是所有皇后不攻击棋子?
-
8皇后问题和我要解决的问题不一样..
标签: algorithm enumeration backtracking brute-force n-queens