NOI导刊 搜索顺序的选取与剪枝策略教程文件.pptVIP

NOI导刊 搜索顺序的选取与剪枝策略教程文件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
以线路为搜索对象扩展的搜索树 策略比较 1)谁易于优化剪枝 ◇可行性剪枝(方法1好) ◇与已知最优解比较剪枝(方法1好) ◇排除重复剪枝(差不多) 2)谁的操作量小 ◇主递归程序的枚举循环 (1760) ◇剪枝函数消耗时间(差不多) 两种搜索方法的实际比较 多处理机调度问题 设定有若干台相同的处理机P1,P2??????Pn,和m个独立的作业J1,J2??????jm,处理机以互不相关的方式处理作业,现约定任何作业可以在任何一台处理机上运行,但未完工之前不允许中断作业,作业也不能拆分成更小的作业,已知作业Ji需要处理机处理的时间为Ti(i=1,2??????m)。编程完成以下两个任务: 任务一:假设有n台处理机和m个作业及其每一个作业所需处理的时间Ti存放在文件中,求解一个最佳调度方案,使得完成这m个作业的总工时最少并输出最少工时。 任务二:假设给定作业时间表和限定完工时间T于文件中,求解在限定时间T内完成这批作业所需要最少处理机台数和调度方案。 搜索对象选取 方法一:按顺序搜索每个作业。当搜索一个作业时,将其放在每台处理机搜索一次。 方法二:按顺序搜索每台处理机。当搜索一台处理机时,将每个作业放在上面搜索一次。 优劣性分析 对于方法一:只能根据目前已确定的需时最长的处理机的耗时与目前最佳解比较。 对于方法二:可约定Time[1]Time[2]Time[3] ??????Time[n](Time[i]表示第i台处理机的处理时间),从而可以设定槛值:如当前处理机的处理时间=目前最佳解,或剩下的处理机台数×上一台处理机的处理时间剩余的作业需要的处理时间,则回溯。因为在前面的约束条件下,已经不可能有解。 因此,从上面的比较来看,第二种方法显然是比第一种要好的。下面就针对第二种方法更深一层的进行探讨。 对于任务一,首先可以用贪心求出Time[1]的上界。然后,还可以Time[1]的下界,UP(作业总时间/处理机台数)。(UP表示大于等于该小数的最小整数)。搜索便从上界开始,找到一个解后,若等于下界即可停止搜索。 对于任务二,可采用深度+可变下界。下界为:UP(作业总时间/限定时间),即至少需要的处理机台数。并设定Time[1]的上界为T。 【间隔排列】问题 有2N个木块,每个木块标上1到N的自然数中的一个,每个数字会出现在两个木块上。把这些木块排成一排,要求是:标号为i的两个木块之间要间隔i个其它木块。比如说N=3的情况,下面就是一个可行的排列: 3,1,2,1,3,2。 编程实现,对给定的N(n=40),求出一个可行排列。 运行效果比较 N 从大到小搜索 从小到大搜索 11 0.00 sec 0.00 sec 15 0.00 sec 0.11 sec 20 0.00 sec 36.32 sec 32 0.00 sec 超时 40 0.00 sec 超时 选择搜索顺序的基本原则 1、取值范围小的搜索元素先搜索。 2、一个搜索元素确定以后对其它搜索元素取值范围的影响称为制约力。制约力较大的搜索元素先搜索。 3、先搜索对解影响较大的元素可以使剪枝时的估价函数更准确,使剪枝更加有效。 【算符破译】(NOI2000) 题意简述:古梅算符由小写字母a到m组成,分别对应于现代算符中的0,1,2,3,4,5,6,7,8,9,+,*,=中的一个。给出一组古梅算符表示的等式,若存在满足等式的对应关系,则输出所有能够确定的古梅算符和现代算符的对应关系;否则输出‘noway’。 INPUT OUPUT 2 a6 abcdec b* cdefe d= f+ 在上例中,可能对应的现代表达式为{6*2=12,2=1+1},{6*4=24,4=2+2},{6*8=48,8=4+4}。可见,能够确定的对应关系只有a对应6,b对应*,d对应=,f对应+,应该输出; 三个最特殊的元素 本题中有三个算符最特殊:‘=’ 、‘*’ 、‘+’,它们要满足以下条件: 1、这三个算符不能出现在等式的最左端和最右端。 2、这三个算符两两不能相邻。 3、‘=’,这是最特殊的算符,它在任何一个等式中必须出现且仅出现一次。 确定搜索顺序 从取值范围方面考虑,‘=’,‘+’,‘*’的取值范

文档评论(0)

159****5431 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档