组合搜索(combinatorial search)在算法求解中的应用
2024-09-02 00:03:14
1. 分治、动态规划的局限性
- 没有合适的分割方式时,就不能使用分治法;
- 没有合适的子问题或占用内存空间太大时,就不能用动态规划;
此时还需要回到最基本的穷举搜索算法。
穷举搜索(exhaustive search)会把生成答案的过程分为几个选择的过程,之后利用递归调用完成各个选择项,由此实现其目的。此时,所有子问题的答案和已完成答案的集合就是搜索空间(search space)。例如旅行商(TSP)问题,已访问过的各个城市的目录和当前位置就构成了搜索空间的 1 个元素。
但对穷举搜索而言,即使问题的规模只是略有增加,也将无法适用穷举搜索法。
将穷举搜索法这种在有限的搜索空间内搜索出答案的算法命名为组合搜索。
- 穷举搜索;
- 有限搜索空间:
- 剪枝(pruning)
- 尽早地求出适当解(proper solution),会改变搜索的顺序,或在搜索前使用贪心算法优先求出适当答案;
最新文章
- 关于SimpleAdapter和ListView结合使用,实现列表视图的笔记
- SPOJ:ABCDEF
- Sprint第一个冲刺(第九天)
- PC端模拟手机浏览网页
- TweenMax动画库学习(六)
- cocoa pods出现的错误
- 【树状数组】 poj 2352
- Akka(9): 分布式运算:Remoting-远程构建式
- input的文件上传图片
- 让你的python程序同时兼容python2和python3
- 监控服务器配置(二)-----Grafana安装配置
- 基本类型(2):oracle中有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。
- Shell 文本处理命令
- BigDecimal最基础用法【转】
- Oracle基础语句练习记录
- Xilinx-7Series-FPGA高速收发器使用学习—RX接收端介绍
- 关于onclick的执行原理
- js 鼠标左键拖动滚动
- UGUI加载图片优化方法之一:打包成图集
- andriod 支付宝类似界面图片加文字
热门文章
- C#List<;string>;和string[]之间的相互转换
- 使用pandas导出PostgreSQL 模式下的所有表数据并保存
- 用node.js从零开始去写一个简单的爬虫
- POJ 4047 Garden
- 如果笔记本的 WIN7 运行很卡,请尝试运行这些批处理
- try {}里有一个return语句 finally执行顺序
- Logstash之Logstash inputs(file和redis插件)、Logstash outputs(elasticsearch 和redis插件)和Filter plugins
- Jodd-vtor验证框架
- JavaFx lineChart real-time Monitor
- 设计模式六大原则(二):里氏替换原则(Liskov Substitution Principle)