扩展结点:当前结点。
活节点:扩展结点的所有儿子中,经过限界剪枝后剩下的儿子。
分支限界法:
分支:当前扩展结点一次性,产生所有儿子。
限界:在结点扩展的过程中,通过计算结点的上界或下界来大量剪掉树的不合格分支,从而提高搜索效率。极大化问题:
广度优先策略(队列式分支限界法):
- 开始,只有根结点(背包为空)是唯一的活结点,所以根结点加入活结点表。
- 然后从活结点表中,弹出队首结点(先进先出)作为当前扩展结点;一个活节点一旦成为扩展结点,将一次性产生所有儿子,产生的过程通过“限界”舍弃掉导致不可行解或非最优解的儿子,剩下的儿子加入活节点表中(队列);——重复该过程,直到活结点表为空(找到解、无解)。
由于活结点表是队列,所以分为:队列式分支限界法(采用先进先出的方式得到扩展结点)、优先队列式分支限界法(按照优先级先进先出,使扩展结点更有效地产生活结点——关键在于优先级的设置)。