当前位置: 首页 > news >正文

算法 | 剪枝函数以及几种形式回溯法和分支限界法的区别算法特性分支限界法的思想分支限界法的基本步骤Prim和Kruscal回溯法的效率

what is 剪枝函数?

是对该问题能否得到最优解或者可行解的约束

限界函数:最优解

约束函数:可行解


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

异:

回溯法分支限界法
一次生成/扩展一个结点一次生成所有的孩子结点
BFSDFS/最小耗费优先
找到所有解找到最优解

同:

均需要定义解空间,解空间的组织结构一般是树或者是图
在解空间图上搜索问题的解
在搜索前需要确定判断条件,该条件用来判断该结点是否为可行解
在搜索的过程中,对生成的结点需要进行判断,满足判断条件的保留,不满足的就舍弃

算法特性

输入、输出、确定、可行、有限 


分支限界法的思想:

从根开始,常以广度优先搜索的方式或者是最小耗费优先的方式搜索问题的解空间树,首先把根节点放入活节点表中,然后从活节点表中取出根节点,使其成为扩展节点,一次性生成扩展节点的孩子结点,舍弃那些导致不可行解或者不是最优解的节点,把其他合适的节点放入活节点表中,然后从活节点表中选取下一个扩展节点,一直搜索,直到找到解或者是活节点表为空。


分支限界法的基本步骤

  • 定义解空间
  • 确定解空间的组织结构(一般是树或者是图)
  • 搜索解空间(确定限界函数和约束函数),如果采用优先级队列分支限界法,还要确定优先级确定方式 

Prim和Kruscal

Prim:稠密图

Kruscal:稀疏图,边数较小


回溯法的效率

不依赖于:确定解空间的时间

依赖于:满足显约束的值的个数

计算约束函数的时间

计算限界函数的时间

相关文章:

  • DELL服务器插入新磁盘、创建虚拟磁盘、挂载磁盘步骤
  • tcp协议机制的总结(可靠性,提高性能),基于tcp的应用层协议,用udp如何实现可靠传输
  • 系统编程:管道
  • 驱动开发(四):Linux内核中断
  • 【学习笔记】MySQL(Ⅲ)
  • 黑苹果睡眠总是自动唤醒(RTC)
  • JavaEE初阶--网络基本概念
  • 2024年宜春市中职“网络建设与运维”竞赛说明竞赛试题
  • 快速压缩前端项目
  • 【Windchill监听器、队列、排程】
  • is not null 、StringUtils.isNotEmpty和StringUtils.isNotBlank之间的区别?
  • 【技巧】Leetcode 67. 二进制求和【简单】
  • uni-app前端,社区团购系统搭建部署
  • 汽车IVI中控开发入门及进阶(二十八):视频SERDES芯片
  • 【MySQL】在CentOS环境下安装MySQL
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • java 多线程基础, 我觉得还是有必要看看的
  • vue总结
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 翻译--Thinking in React
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 前端存储 - localStorage
  • 前端技术周刊 2019-02-11 Serverless
  • 山寨一个 Promise
  • 使用权重正则化较少模型过拟合
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 最近的计划
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​如何使用QGIS制作三维建筑
  • #ifdef 的技巧用法
  • (a /b)*c的值
  • (C++哈希表01)
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .net framework4与其client profile版本的区别
  • .NET/C# 的字符串暂存池
  • .net6 webapi log4net完整配置使用流程
  • .net经典笔试题
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @取消转义
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [17]JAVAEE-HTTP协议
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
  • [Bugku]密码???[writeup]
  • [C++] 统计程序耗时
  • [I2C]I2C通信协议详解(一) --- 什么是I2C
  • [Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下
  • [Java、Android面试]_05_内存泄漏和内存溢出