1、博弈搜索有层数限制,在末端节点的下一层局面估值可能会出现比较隐蔽的反转。为减少这种情况,可以根据具体的棋规对估值函数做特殊处理,有效果,但不全面。
2、静止期搜索,Quiescence Search,在节点变化剧烈时及时到了末端也继续向下搜索直到局面相对平静。例如,象棋吃子可以视为变化剧烈。不完全宽度仅搜索末端活跃的走法,完全宽度搜索末端所有可能走法。消耗一些性能,影响剪枝效率。
3、早期剪枝,Forward Pruning,搜索节点前先检查是否值得展开,利于增加搜索层数,但容易遗漏,所以未被应用。扩展搜索,Search Extension,检查超过特定边界的节点是否需要扩展,是常用方法。
4、开局库,录入开局库可大大加快运行效率,效果明显。可变开局库则对机器学习有更高的要求。
5、残局库,利用hash将残局定式与局面匹配,可提高性能。
6、循环探测,Repetition Detection,放置出现无限循环。
7、轻视因子,Contempt Factor,根据对手水平调整搜索算法,在现代高性能计算机作用并不大。
8、机器学习,Machine Learning,一套计算机自学机制,根据实战不断完善数据。另外可以通过神经网络训练估值函数的参数。
9、并行搜索,涉及的内容比较复杂。