首页学历类考试大学计算机科学
(简答题)

简述分支限界法及其算法思想。

正确答案

这是一种用于求解组合优化问题的排除非解的搜索算法。类似于回溯法,分枝定界法在搜索解空间时,也经常使用树形结构来组织解空间。然而与回溯法不同的是,回溯算法使用深度优先方法搜索树结构,而分枝定界一般用宽度优先或最小耗费方法来搜索这些树。因此,可以很容易比较回溯法与分枝定界法的异同。相对而言,分枝定界算法的解空间比回溯法大得多,因此当内存容量有限时,回溯法成功的可能性更大。
算法思想:分枝限界(branch and bound)是另一种系统地搜索解空间的方法,它与回溯法的主要区别在于对E-节点的扩充方式。每个活节点有且仅有一次机会变成E-节点。当一个节点变为E-节点时,则生成从该节点移动一步即可到达的所有新节点。在生成的节点中,抛弃那些不可能导出(最优)可行解的节点,其余节点加入活节点表,然后从表中选择一个节点作为下一个E-节点。从活节点表中取出所选择的节点并进行扩充,直到找到解或活动表为空,扩充过程才结束。
有两种常用的方法可用来选择下一个E-节点(虽然也可能存在其他的方法):
1)先进先出(FIFO)即从活节点表中取出节点的顺序与加入节点的顺序相同,因此活
节点表的性质与队列相同。
2)(优先队列)最小耗费或最大收益法在这种模式中,每个节点都有一个对应的耗费或收益。如果查找一个具有最小耗费的解,则活节点表可用最小堆来建立,下一个E-节点就是具有最小耗费的活节点;如果希望搜索一个具有最大收益的解,则可用最大堆来构造活节点表,下一个E-节点是具有最大收益的活节点。

答案解析

相似试题

  • (简答题)

    用分支限界法设计算法的步骤是什么?

    答案解析

  • (单选题)

    关于回溯算法和分支限界法,以下()是不正确描述。

    答案解析

  • (简答题)

    试比较回溯法与分支限界算法,分别谈谈这两个算法比较适合的问题?

    答案解析

  • (填空题)

    分支限界法是一种既带有()又带有()的搜索算法。

    答案解析

  • (简答题)

    常见的两种分支限界法的算法框架是什么?

    答案解析

  • (单选题)

    回溯算法和分支限界法的问题的解空间树不会是()

    答案解析

  • (简答题)

    简述分支限界法与回溯法的异同。

    答案解析

  • (填空题)

    分支限界法主要有()分支限界法和()分支限界法。

    答案解析

  • (单选题)

    在分支限界算法中,根据从活结点表中选择下一扩展结点的不同方式可有几种常用分类,以下()描述最为准确。

    答案解析

快考试在线搜题