![](https://img-blog.csdnimg.cn/direct/5b561f874b4c41369974117036cf6c1e.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
N皇后问题
文章平均质量分 92
分别以爬山法、模拟退火法、遗传算法解决N皇后问题
西柚里特
这个作者很懒,什么都没留下…
展开
-
爬山法求解n皇后问题
首先随机一个棋盘,模拟我们出生在山腰的某个位置,然后计算每行该位置的冲突值,按照冲突值最小的位置选择放置皇后(这里与之前红绿灯的例子稍微不同,这里的冲突值相当于F,但是冲突值是选择更小的方向,不过本质上是一样的,都是寻找最值的方向,即一种反方向的爬山)。假设先求第一行的最优位置,我们从第一行第一列的格子开始遍历,第一个位置就是图中黄色圆所在的位置,它的攻击对数为5(因为剩下所有皇后都在它的对角线上),然后第一行剩下的位置的攻击对数都是1(因为除了第一个位置外,其他的位置在其他行都有1个同列的皇后)。原创 2024-06-01 16:55:12 · 668 阅读 · 0 评论 -
模拟退火法求解n皇后问题
这是一种优化算法,现在我们有一个任务:需要随意从某个地点出发,到达最低点的山底位置,如下图:在传统的爬山法策略下,我们每次都按照变化最大的方向前进,但是有一个问题,如果遇到了一个小山谷怎么办?我们只能找到一个不算很合适的解,之后就不再前进了。模拟退火的策略就是解决这个问题的。我们直到温度越高,其内部分子运动就越剧烈。原创 2024-06-02 17:03:40 · 771 阅读 · 0 评论 -
遗传算法求解n皇后问题
我们进行这样的思考,假设有一个长颈鹿的种群,但是这群长颈鹿的脖子不算很长只能吃到底层的树叶,渐渐的,底层的树叶越来越少,这群短脖子的长颈鹿生存压力愈发增大。在长颈鹿种群繁衍的过程中,某些后代长颈鹿发生变异出现了长脖子的性状,它们可以吃到更丰裕的上层树叶,这样能吃到上层树叶的长颈鹿生存压力小,只能吃到下层树叶的长颈鹿生存压力大,随着时间的推移,短脖子的长颈鹿越来越少,长脖子的长颈鹿数量变得更多。所以,长脖子基因慢慢在种群中占据更大比例,这一过程就是自然选择。原创 2024-06-16 00:16:58 · 1008 阅读 · 0 评论