8-queen problem using Dynamic programming

怎甘沉沦 提交于 2019-12-02 23:53:52

optimal solution for 7x7 board might not optimal as well (even incorrect) for 8x8.

Yes, you are correct. But this is not a good way to split the problem. Look into paper yi_H posted in his answer, theorem 2.4, and look at the algorithm description. They divide the solutions into equivalence classes according to the sets of closed lines (i.e. lines which are threatened by queens). The theorem 2.4 guarantees that once they solve the sub-problem on the particular set of closed lines, they can solve the rest separately and then combine the result! Very clever.

Just posting the obvious google hit:

A dynamic programming solution to the n-queens problem

Note: this is still very slow for large n's, O ( f(n)*8^n), you better use some other algorithm:

A Polynomial Time Algorithm for the N-Queens Problem

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!