Skip to main content
QUICK REVIEW

[论文解读] Best-First and Depth-First Minimax Search in Practice

Aske Plaat, Jonathan Schaeffer|arXiv (Cornell University)|May 7, 2015
Artificial Intelligence in Games参考文献 31被引用 4
一句话总结

本文提出一个统一框架,将 SSS* 等最佳优先搜索算法重新表述为高效的深度优先变体,利用 Alpha-Beta 搜索,消除了 SSS* 的实际缺点。该框架使 MTD(f) 这一新型 Alpha-Beta 变体在实践中优于 SSS* 和 NegaScout,通过减少节点评估次数,同时保持最优搜索行为。

ABSTRACT

Most practitioners use a variant of the Alpha-Beta algorithm, a simple depth-first pro- cedure, for searching minimax trees. SSS*, with its best-first search strategy, reportedly offers the potential for more efficient search. However, the complex formulation of the al- gorithm and its alleged excessive memory requirements preclude its use in practice. For two decades, the search efficiency of "smart" best-first SSS* has cast doubt on the effectiveness of "dumb" depth-first Alpha-Beta. This paper presents a simple framework for calling Alpha-Beta that allows us to create a variety of algorithms, including SSS* and DUAL*. In effect, we formulate a best-first algorithm using depth-first search. Expressed in this framework SSS* is just a special case of Alpha-Beta, solving all of the perceived drawbacks of the algorithm. In practice, Alpha-Beta variants typically evaluate less nodes than SSS*. A new instance of this framework, MTD(f), out-performs SSS* and NegaScout, the Alpha-Beta variant of choice by practitioners.

研究动机与目标

  • 解决长期存在的争议:即在实践中,最佳优先的 SSS* 是否比深度优先的 Alpha-Beta 更高效。
  • 解决 SSS* 所被认为的低效问题,例如实现复杂和内存占用高,这些因素阻碍了其实际应用。
  • 证明最佳优先搜索行为可以在深度优先框架内通过 Alpha-Beta 搜索实现。
  • 提出并评估 MTD(f),一种新型 Alpha-Beta 变体,利用该框架实现更优性能。
  • 表明 SSS* 和其他最佳优先算法可作为 Alpha-Beta 的特例,在所提出的框架内高效实现。

提出的方法

  • 提出一个通用框架,通过基于启发式估计重新排序搜索节点,将 Alpha-Beta 搜索推广以支持最佳优先策略。
  • 通过应用该框架,将 SSS* 重新表述为深度优先算法,从而消除其复杂的数据结构和内存开销。
  • 利用该框架推导出 MTD(f),一种新型 Alpha-Beta 变体,其在每次迭代中仅进行一次搜索并执行迭代深化。
  • 将该框架应用于生成 DUAL*,另一个最佳优先变体,证明其与同一结构的兼容性。
  • 使用标准博弈树基准测试实现并评估该框架,以比较节点数量和搜索效率。
  • 通过证明所有推导出的算法(包括 SSS* 和 MTD(f))均产生与标准 Alpha-Beta 相同的极小化极大值,确保正确性。

实验结果

研究问题

  • RQ1是否可以在不牺牲正确性或性能的前提下,将最佳优先搜索策略(如 SSS*)高效地集成到深度优先搜索框架中?
  • RQ2尽管 SSS* 在理论上可减少节点评估次数,为何其在实践中未被广泛采用?
  • RQ3能否构建一种 SSS* 的深度优先变体,其性能可与现有 Alpha-Beta 变体(如 NegaScout)相匹配或超越?
  • RQ4所提出的框架是否允许创建新型、更高效的搜索算法,以结合最佳优先与深度优先搜索的优势?
  • RQ5MTD(f)(由该框架推导出)在节点评估次数和搜索速度方面与 SSS* 和 NegaScout 相比如何?

主要发现

  • 所提出的框架成功地将 SSS* 重新表述为深度优先算法,消除了其高内存需求和复杂实现。
  • 由框架推导出的新变体 MTD(f) 在实践中评估的节点数少于 SSS* 和 NegaScout,展现出更优的效率。
  • 尽管 SSS* 在理论上具有更少的节点评估次数,但在实践中,Alpha-Beta 变体(包括 MTD(f))由于更优的常数因子和缓存行为,表现优于 SSS*。
  • 该框架使 SSS* 和其他最佳优先算法能够使用标准 Alpha-Beta 基础设施实现,从而使其在实际应用中更具可行性。
  • 结果表明,由于实现和内存因素的影响,最佳优先与深度优先搜索之间的性能差距在实践中小于理论预期。
  • 该框架为最佳优先与深度优先极小化极大搜索提供了统一基础,使得在单一算法结构内系统性探索搜索策略成为可能。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。