第七章 回溯法
1. 回溯法
回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。
算法搜索到解空间解空间树的任意一点时,先判断该点是否包含问题的解:
如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;
否则,进入该子树,继续按深度优先策略搜索。
1.1 问题的解空间
问题的解向量
回溯法希望一个问题的解能表示成为一个n元式**(x1,x2,… ,xn)**的形式。
显约束
对分量xi的取值限定。
隐约束
为满足问题的解而对不同分量之间施加的约束。
解空间
#对于问题的一个实例,解向量满足显式约束条件的所有多元组,构成了该实例的一个解空间。
#回溯法解问题时,首先应明确定义问题的解空间。解空间应至少包含问题的一个(最优)解。
#同一问题可有多种表示,有些表示更简单,所需状态空间更小(储存量少,搜索方法简单)。
1.2 回溯法的基本思想