网站大量收购独家精品文档,联系QQ:2885784924

搜索顺序的选择-read.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
搜索顺序的选择-read

搜索顺序的选择 例:【间隔排列】问题 运行效果比较 选择搜索顺序的基本原则 例:【算符破译】(NOI2000) 三个最特殊的元素 确定搜索顺序 减小搜索树规模的具体实现方法 静态优化搜索顺序 动态调整搜索顺序 例:【质数方阵】(IOI94) 搜索元素的性质 根据元素取值范围和制约力确定搜索顺序 例: 【篮球锦标赛】(BOI98) 动态调整搜索顺序的依据 动态判断元素取值范围的方法 运行情况比较 搜索顺序与剪枝优化 例、【生日蛋糕】(NOI99) 搜索顺序对剪枝的影响 * * 福州三中 王知昆 题意简述:有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、先搜索对解影响较大的元素可以使剪枝时的估价函数更准确,使剪枝更加有效。 题意简述:古梅算符由小写字母a到m组成,分别对应于现代算符中的0,1,2,3,4,5,6,7,8,9,+,*,=中的一个。给出一组古梅算符表示的等式,若存在满足等式的对应关系,则输出所有能够确定的古梅算符和现代算符的对应关系;否则输出‘noway’。 本题中有三个算符最特殊:‘=’ 、‘*’ 、‘+’,它们要满足以下条件: 1、这三个算符不能出现在等式的最左端和最右端。 2、这三个算符两两不能相邻。 3、‘=’,这是最特殊的算符,它在任何一个等式中必须出现且仅出现一次。 从取值范围方面考虑,‘=’,‘+’,‘*’的取值范围在所有算符中是最小的;从制约力方面考虑,‘=’和‘+’,‘*’的制约力无疑都强于‘0’到‘9’这十个数字;从对剪枝有利的角度考虑,这三个算符对解的影响最大,因此‘=’,‘+’,‘*’这三个算符应当放在搜索序列的前面。对于这三个算符,由于‘=’受到的限制更多,取值范围更小,所以应当优先搜索。 由此得出的最优搜索顺序:先搜索‘=’,其次是‘+’,‘*’,最后是10个数字。 1、静态优化搜索顺序 例【质数方阵】(IOI94), 【修建栅栏】(USACO TRAINING) 2、动态调整搜索顺序 例【棋盘遍历】, 【篮球锦标赛】(BOI98) ? 在一些问题中,搜索元素的制约力和取值范围在搜索过程中变化不大,或变化对搜索效率影响不大。如果要动态判断元素的取值范围和制约力需要花费较大的代价,而且优化效果不好。在这种情况下只需在搜索开始前确定搜索顺序,而不必在搜索过程中再改变搜索顺序。 有时在搜索过程中元素的取值范围和制约力会有较大的变化,而且这些变化直接影响到搜索树的规模,因此需要动态的调整搜索顺序,也就是启发式搜索。启发式搜索继承了回溯法占用空间少,编程简单的优点,而启发式搜索的最大优点是可以在较短的时间内找到一组可行解,这最适合解决一类只需要求出一组可行解的搜索问题。 题意简述:在一个5*5的方阵中填入数字,使得沿行,沿列及两个对角线的5个数字都能构成一个5位质数(5位质数的首位不为0)。所有质数的各位数字之和必须等于一个常数。这个常数和方阵左上角中的数字预先给出。若存在多个解,必须全部得出。 1、最后一行和最后一列:可以填的数字只有{1,3,7,9}。 2、两条对角线:与方阵中的所有五位素数有关。 3、其他行列:特殊性取决于行列中已经确定的格子个数。 1、最后一行和最后一列是取值范围最小的搜索元素,而且它们对其他所有的元素都有一定的制约力,因此要放在搜索序列的最前面。 2、两条对角线同样影响到其他所有的搜索元素,制约力在剩下的格子中是最大的,因此也应当优先搜索。 3、剩下的行列依据它们取值范围的大小确定搜索顺序。 题意简述:有5支球队参加一次篮球锦标赛。比赛采用单循环,每两支球队比赛一次。已知每个队最终的获胜场次数,失败场次数,总得分以及总失分,并给出所有场次得分的列表,要求出可能的比赛的情况。(每一队每场比赛的得分组成的战绩表)。 搜索元素(即每场的比分)之间的制约力大小很

您可能关注的文档

文档评论(0)

wangsux + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档