弱证明数搜索:解决博弈树搜索难题的新方案
在博弈论和人工智能领域,寻找高效的搜索算法来解决复杂的博弈问题一直是研究的热点。传统的证明数搜索算法在解决一些博弈问题时表现出色,但也存在一些明显的缺陷。本文将介绍一种名为弱证明数搜索(Weak Proof-Number Search,WPNS)的新算法,它结合了证明数和分支因子的信息,有望在处理复杂博弈问题时展现出更强大的性能。
证明数搜索算法的发展历程
证明数搜索(PN-search)算法由Allis于1994年开发,旨在寻找博弈树中的博弈理论值。它是一种最佳优先搜索算法,通过最小化证明目标所需扩展的节点数来选择下一个要扩展的节点。PN-search在一些简单的博弈领域,如四子连珠和立方棋,表现出了强大的求解能力。然而,作为一种真正的最佳优先算法,它需要大量的内存来存储完整的搜索树,这限制了其在更复杂问题中的应用。
为了解决PN-search的内存问题,PN 算法被提出。它是一种深度优先的替代方案,将最佳优先的PN-search算法转换为迭代加深的深度优先方法。PN 在将棋残局问题的求解中取得了显著的成果,在295个著名的难题中,除了一个问题外,它解决了所有问题。
随后,PDS(Proof-number and Disproof-number Search)算法作为PN 的直接扩展被开发出来。PDS使用证明数和反证数,并在选择和扩展节点时设置阈值。与PN 不同,PDS在AND节点和OR节点上都进行多次迭代加深搜索,因此在性能上通常优于PN*。
Nagai进一步改进了PDS,提出了df-pn(depth-first proof-number search