(八)回溯法

        

        回溯法(back track method)也称为试探法,是蛮力法的改进。在包含问题的所有可能解空间中,从根节点处罚,按照深度优先策略进行搜索,对于解空间树的某个节点,如果该节点满足问题的约束条件,则进入该子树继续进行搜索,否则将以该节点为根节点进行剪枝。回溯法常常可以避免搜索所有可能解,适用于组合较数较大的问题。


采用回溯法解决0/1背包问题。

        【问题描述】:

        例如,对于n=3的0/1背包问题,三个物品的重量为{20, 15, 10},价值为{20, 30, 25},背包容量为25,从图8.2所示的解空间树的根结点开始搜索,搜索过程如下。




        从物品一号开始,分为两种情况,如果将物品一放入到背包中,或者将物品一不放入背包中,于是节点1的两个分支 2 和9 , 分支2表示将物品一放到背包中,从节点1到达节点9表示将物品一不放入背包中。同理,依次类推。

        这样我们就可以用树的形式展示出各种路径,再分别计算每种方案价值,从而得到最优解。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值