c++ - 五子棋最先进的技术

标签 c++ artificial-intelligence gomoku

通常人们使用 pn-search 或 pn^2 或 df-pn 来回答是否有获胜的解决方案。

然后他们在最小-最大博弈树上使用 alpha-beta 剪枝,并具有良好的评估函数

它们的深度可以达到 15 层甚至更多

现在有一种蒙特卡罗方法可以成功地处理Go。

同样的技术可以用在五子棋中吗?任何示例(源代码或论文)

有没有论文描述了构建良好调整的评估函数的好方法。

或者还有其他最先进或有用的技术来处理五子棋吗?

处理五子棋时需要 pn 搜索吗?

有没有不同的VCT引擎(src更好)?

最佳答案

据我所知,顶级五子棋程序主要使用证明数搜索、基于依赖的搜索(也称为威胁空间搜索)和基于 alpha-beta 框架的搜索算法。也存在一些使用蒙特卡罗树搜索的五子棋程序,但是,目前的结果并不那么好。关于http://www.aiexp.info/gomoku-renju-resources-an-overview.html的文章总结了Gomoku AI的阅读 Material 、协议(protocol)和源代码。

至于评估函数,到目前为止,虽然有一些论文描述了如何为五子棋构建一个良好调整的评估函数,但没有一篇真正能够达到最先进的水平。

处理五子棋时不需要 Pn 搜索。事实上,最先进的五子棋引擎宜信并没有使用 pn-search。

Renjusolver 是最好的 VCT 引擎。除了renjusolver之外,还有很多其他的五子棋引擎在求解VCT方面有相对较好的性能,可以在http://gomocup.org/download/下载。 。目前,pela是解决VCT最好的开源引擎。

关于c++ - 五子棋最先进的技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21548865/

相关文章:

c++ - 数字 C++ 中的重复数字

c++ - 更好的说法 x == Foo::A || x == Foo::B || x == Foo::C || ...?

我的 MCTS Gomoku 播放器的 Java 堆空间问题

artificial-intelligence - 什么是玩五子棋的好 AI 策略?

c++ - 无法让#include 工作

c++ - typedef 结构和枚举,为什么?

python - tensorflow 类型错误 : Value passed to parameter 'shape' has DataType float32 not in list of allowed values: int32, int64

artificial-intelligence - FANN中位失败的目的是什么?

python - AI搜索程序不输出搜索矩阵

java - Gomoku 中一个好的 Minimax 表示?