搜索总结

· · 个人记录

一. 尽量减少搜索的分支

二. 优化搜索顺序 ,优先搜索决策点少的 :

1.“数独问题”:优先搜索“能填的合法数字”最少的位置。

2.“Addition Chains”:为了让序列尽快逼近n,从大到小生成x[k]

3.“小木棍”:将木棍从大到小排序,优先尝试长度较长的木棍

三.排除等效冗余:

1.“小木棍”:

在拼接同一根木棍时,先放木棒 x 与 先放木棒 y 是一样的,所以可以确定一个循序搜索。

木棒有 64根,而木棍最长不超过 50,所以一定会有相同的木棒,那么一个长木棒失败后就不用再尝试其他长度相同的木棒了。