解空间树及其相关算法

本文介绍了解空间树的概念及其在解决N皇后问题和旅行售货员问题中的应用。解空间树是表示问题所有可能解的树结构,回溯法通过深度遍历搜索解。N皇后问题的回溯算法通过判断皇后位置约束来求解。分支限界法则利用优先级队列策略寻找最优解,效率通常优于回溯法。
摘要由CSDN通过智能技术生成

面对许多实际问题时,需要求解满足特定条件的全部解或最优解,如著名的N皇后问题和旅行售货员问题。
此类问题,一般没有特定的计算规则用于解题,通常我们采用试探性的方法,在包含问题所有可能解的解空间树中,将所有可能的结果搜索一遍,从而获得我们期望的那一个解,或者是那一些解,一般就是满足一定条件的最优解,或是全部解。那么这里用到的解空间树是什么呢?

解空间树与回溯法

解空间树
依据待解问题的特性,用树结构表示问题的解结构,用叶子表示所有问题所有可能解的一棵树。
回溯法
回溯法是采用深度遍历的策略搜索解空间树,并随时判定当前结点是否满足解题要求,满足要求的继续向下搜索,不满足要求则回溯到树的上一层继续搜索另一棵子树,这种解决问题的方法就称为回溯法。
解空间树的建立
就是将问题求解的一系列判断决策过程及各种可能的结果用树型结构呈现。
事实上,我们解题的过程是一个不断判断决策的过程,我们把每一步判断决策的过程对应于解空间树的一个分支结点,而各种可能的不同结果,则对应得到结点的每一个孩子及各棵子树,而一系列判断决策的解题过程,就对应着解空间树的生长过程;而问题最终所有可能的解,都会呈现在这棵解空间树的叶子上。

求解N皇后问题的回溯算法

  • 首先,我们先考虑4皇后问题。
    在一个4x4的棋盘上,放置4个皇后,要求给出使各皇后彼此不受攻击的所有可能的棋盘布局。彼此不受攻击的条件是皇后不能在同一行、同一列、同一对角线上。

该问题的解题判断过程是这样的:
在这里插入图片描述

  • 下面来看旅行售货员问题:

在这里插入图片描述

  • N皇后问题的回溯算法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值