回溯法基本思想

回溯算法:
回溯算法是一种选优搜索法,按照选优条件深度优先搜索,以达到目标。当发现某一步不是最优,就退回一步
重新选择。
解空间:所有可能解组成的空间,解空间越小,搜索效率越高,解空间越大,搜索效率越低。
解空间的组织结构:按一定的组织结构搜索最优解,如果把这种组织结构用树表达出来,就是解空间树
显约束:对解分量的取值范围的限定。
搜索解空间:隐约束指对能否得到问题的可行解或最优解做出的约束,如果不满足隐约束,那就说明得不到最优解
就没必要再沿该节点分支进行搜索,相当于把这个分支剪掉,隐约束也称为剪枝函数;
隐约束(剪枝函数)包括约束函数和限界函数。
对于能否得到问题的可行解的约束称为约束函数,对与能否得到最优解的约束称为限界函数;
解空间的大小和剪枝函数的好坏都直接影响搜索效率:
扩展结点:一个正在生成孩子的结点。
活结点:一个自身已生成,但孩子还没有全部生成的结点。
死结点:一个所有孩子都已经生成的结点。
子孙:结点E的子树上所有结点都是E的子孙。
祖宗:从结点E到树根路径上的所有结点都是E的祖宗。

解题秘籍:
1.定义解空间
解空间包括解的组织形式和显约束
解的组织形式:解的组织形式都规范为一个n元组{x1,x2,x3,x4…,xn}
显约束:是对解分量的取值范围的限定,通过显约束可以控制解空间的大小
2.确定解空间的组织结构:
解空间的组织结构通常用解空间树形象的表达,根据解空间树的不同,解空间分为子集树
排列树,m叉树。
3.搜索解空间
回溯法是按照深度优先搜索策略,根据隐约束(约束函数和限界函数),在解空间中搜索问题的可行解或最优解
当发现当前结点不满足求解条件时,回溯尝试其他的路径
求可行解,则只需要设定约束函数即可,如果求最优解,则设定约束函数和限界函数。
显约束可以控制解空间的大小,约束函数决定剪枝的效率,限界函数决定是否得到最优解

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值