- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
搜索优化方法及其应用 什么是搜索 树、图结构基础上 给出初始状态,要求寻找到符合约束条件的目标状态 给出初始状态和目标状态,要求找到从初始状态到目标状态的一条路径。 最优解?全部解? 搜索算法 广度优先搜索 深度优先搜索 搜索实质 穷举 回溯 如果数据量加大? 为什么要优化 减少搜索量,提高搜索效率,尽可能快地找到问题的解。 竞赛的特点(时间\空间限制) 优化的基本方法 时间 提早剪枝、A*、贪心、记忆…… 空间 根据求解的性质、是否保留中间结果…… 引例1 迷宫。以一个 m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,如果只能按上下左右四个方向移动,求出一条从入口到出口的通路。或得出没有通路的结论。 方向:上下左右 方向:右下左上 分析原因 上下左右时 从(1,1)?(5,9)、(5,9)?(1,1),搜索顺序的影响是对等的,因此两者深搜路径长度几乎相等。 右下左上时, 基本符合从(1,1)?(5,9)的大致位置状况,而对从(5,9)?(1,1)显然是不利的,因此,两者在深搜长度上会有很大的变化。 对策? 对时间的优化 (1)缩小搜索范围——避免无效搜索 (2)改变搜索次序 (3)剪枝 (4)记忆化搜索 一、缩小搜索范围 避免无效搜索 (1)对状态进行预处理,减少计算量 (2)增加约束条件,控制搜索树的深广度 (一)预处理 素数环:将1~20这20个数摆成一个环,要求相邻的两个数的和是一个素数。 预处理方案:素数 (二)增加约束条件 邮票面值设计 给定一个信封,最多只允许粘贴N 张邮票,计算在给定K(N+k=40) 种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大max ,使得1-max之间的每一个邮资值都能得到。 算法基本框架 (1)面额为1的邮票是必需的,可以固定。 (2)增加一种面额并把当前所能取到的金额记录下来 (3)通过k-1次(2)的操作 (4)穷举所有的方案得到最优解 优化策略 策略1:在搜索的过程中,对数据的记录方式很关键。如果仅仅记录一个金额能否得到,当下一次添加邮票时并不能明确是否能从这个金额出发添加邮票额,所有的金额必须重新计算,浪费了大量的时间。 记录最少要用几张邮票达到一个面值是比较重要的,这样有利于添加新邮票时迅速判断可行性。 优化策略 策略2:当添加一张新邮票时,对邮票面额的搜索可适当缩小范围。 直接从上一个面额加1直到当前连续取得的最大金额加1就行了。 其他范围内的搜索都是无效的:过大导致不连续;如果小于前一面额的值,就会导致产生面额大小的无序性,造成大量的重复搜索,因此,保证邮票面额递增是基本原则。 数据结构设计 continue[0..maxs]:记录得到各面额最小需要的邮票数量 temp[1..40]:工作数组,记录当前邮票面额设计 max1[1..40]:记录采用当前方案能连续取得的最大面额 project[1..40]:记录最优解 stack[1..40]:栈,用于邮票面额数组temp的维护 procedure maxcont(top,j:integer);{统计本次方案能得到的最大连续数} for i:=1 to n do for t:=0 to max2 do if continue[t+j*i]continue[t]+i then continue[t+j*i]:=continue[t]+i; t:=1; while continue[t]=n do t:=t+1; if t-1max2 then begin max2:=t-1; if (top=k) and (max2max) then begin max:=max2;project:=temp; end; end; init read(n,k); for i:=0 to maxs do continue[i]:=n+1; temp[1]:=1; for i:=0 to n do continue[i]:=i; top:=2; max:=n;j:=temp[1]; max1[1]:=max;stack[1]:=continue; max2:=max; while top1 do begin j:=j+1; if (jmax1[top-1]+1) or (topk) then {?} begin top:
您可能关注的文档
- 第九章 排序(Sorting).ppt
- 第七章《数据库设计》(二).ppt
- 第三章 计算机软件3.4 算法和计算机软件理论基础.ppt
- 第三章 操作系统基础及Windows.ppt
- 第四章 编程基本功.ppt
- 第四章 存储管理1操作系统.ppt
- 第四章 算法策略1.ppt
- 第四章数据结构串.ppt
- 第五章 、电气设备安装工程工程量清单项目设置及计价.ppt
- 第五章 工程量清单编制.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 2025年内蒙古时事政治考试试卷带解析必考题.docx VIP
- 人教版数学三年级下册单元试卷【1-8合集,含答案】.pdf VIP
- 2025年内蒙古时事政治考试试卷带解析参考答案.docx VIP
- (答案)奥赛经典-奥林匹克数学中的几何问题---习题与讲解(第1-2章).pdf VIP
- 奥赛经典奥林匹克数学中的几何问题.pdf VIP
- 奥的斯电梯ACD4 原理图纸注释.pdf VIP
- 2025国家能源集团新疆哈密能源化工有限公司社会招聘(51人)笔试参考题库附答案解析.docx VIP
- 建设项目环境影响报告表.PDF VIP
- 呼吸科利用PDCA循环提高住院患者吸入剂使用正确率品管圈.pptx VIP
- 2024-2030年全球气动导弹弹射发射器(PMEL)行业现状、重点企业分析及项目可行性研究报告.docx
文档评论(0)