算法设计与分析复习(7)

时间:2025-02-23

5.6 0-1背包问题

解空间:子集树

可行性约束函数:∑w i x i≤C

上界函数:Bound()

掌握Bound函数的思想。

掌握Knapsack回溯算法思想。

计算时间复杂度为为O(n2n)。

5.7 最大团问题

解空间:子集树

可行性约束函数:顶点i到已选入的顶点集中每一个顶点都有边相连。

上界函数:有足够多的可选择顶点使得算法有可能在右子树中找到更大的团。

掌握最大团问题的回溯算法backtrack思想。

计算时间复杂度为为O(n2n)。

5.9 旅行售货员问题

解空间:排列树

上界函数: 是否优于已找到的当前最优回路。

复杂度分析:

算法backtrack在最坏情况下可能需要更新当前最优解O((n-1)!)次,每次更新bestx需计算时间O(n),从而整个算法的计算时间复杂性为O(n!)

第6章分支限界法

6.1 分支限界法的基本思想

分支限界法与回溯法的区别:

(1)求解目标:回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。

(2)搜索方式的不同:回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。

分支限界法的搜索策略:

分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。

两种分支限界法:

队列式(FIFO)分支限界法

按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。

7/8

算法设计与分析复习(7).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219