gpt4 book ai didi

algorithm - 基于 Gomoku 数组的 AI 算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:43 25 4
gpt4 key购买 nike

很久以前(想想 20 多年前)我在一本杂志上看到了一个五子棋游戏的源代码,我在电脑上输入了它,并从中获得了很多乐趣。

这个游戏很难赢,但是电脑AI的核心算法真的很简单,代码也不多。我想知道是否有人知道这个算法并且有一些关于它的来源或理论的链接。

我记得的是它基本上分配了一个覆盖整个板的数组。然后,每当我或它放置一个棋子时,它会在棋盘上所有可能影响棋子的位置上增加一些权重。

例如(请注意,权重肯定是错误的,因为我不记得了):

1   1   1
2 2 2
3 3 3
444
1234X4321
3 3 3
2 2 2
1 1 1

然后它简单地扫描数组以寻找具有最低或最高值的开放位置。

我不清楚的事情:

  • 也许它有两个数组,一个给我,一个给它自己,并且有最小/最大权重?
  • 该算法可能还有更多内容,但其核心基本上是一个数组和加权数

这会引起任何人的注意吗?有人有任何帮助吗?

最佳答案

阅读您的描述并稍微考虑一下,我认为它可能适用于单个数组,正如您描述的那样。

要实现获得五连胜的目标,您必须 (a) 阻止对手成功,并且 (b) 自己成功。

要成功,您必须将棋子放在棋盘上已有的其他棋子附近,因此为棋子旁边可以连续参与的区域添加正分数是有意义的。无论是您给出的线性示例,还是二次方程式的示例,都可能效果很好。

为了防止对手得逞,您必须将棋子放在他的/她的 棋子旁边。如果你用一个石子击中两只鸟特别好,所以对手的石子应该像你一样增加周围领域的值(value)——他已经排列的石子越多,得分越高,就越有可能算法将尝试切断对手。

这里最重要的是不同领域的权重,以及对手的石头权重是否与您的不同。不幸的是,我对此无能为力,但一旦编写了游戏本身,这些值应该相当简单,可以通过反复试验找出。

然而,这是一种非常基本的方法,树搜索算法的性能会优于它。谷歌搜索,有一个相关的paper on Threat search ,这显然适用于 Gomoku。不过这篇论文在付费墙后面:/

关于algorithm - 基于 Gomoku 数组的 AI 算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2753399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com