首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >优化极大极小算法

优化极大极小算法
EN

Stack Overflow用户
提问于 2015-10-25 23:11:04
回答 1查看 2K关注 0票数 0

我已经用JavaFX制作了TicTacToe和Nine Men's Morris的游戏,并为每个游戏实现了AI。对于Nine Men's Morris,我还没有实现移除工厂,所以现在它更像是复杂的TicTacToe。我已经使用了带有alpha-beta剪枝的极小极大算法,虽然AI做了相当不错的移动,但Nine Men's Morris的计算移动非常慢。如果我让AI玩整个游戏,需要几分钟。

对于评估函数,我一直在使用评估板上每条线路的函数,其中线路值是:

三合一的话是100,

10对于2合1线路,

1行1合1,

负(-100,-10,-1)为对方细胞,

否则为0。

Minimax算法大致相同,但对于九人莫里斯来说,有16行需要评估,而TicTacToe中只有8行,而人工智能对于九人莫里斯来说要慢得多。

如何进一步提高我的AI性能?

我一直在研究这个问题,我发现了将神经网络用于focus minimax searchreplace evaluation function with neural network的想法。这些解决方案能提高我的AI性能吗?

EN

回答 1

Stack Overflow用户

发布于 2015-10-26 09:26:43

有许多方法可以在不涉及神经网络的情况下使用alpha beta剪枝来改进极大极小。此外,在像九人莫里斯这样分支因子相对较低的游戏中,神经网络可能会对你的人工智能造成更大的伤害而不是帮助。相反,我会研究不同的方法。一个有用的选择是使用带有迭代加深的转置表。这种技术对于这种类型的游戏非常有用。下面是一篇关于转换表的文章的链接:https://en.wikipedia.org/wiki/Transposition_table

如果你有更多涉及实现的具体问题,国际象棋编程维基有关于这个主题的写得很好的文章。虽然与国际象棋有关,但它应该很容易应用于任何游戏。

https://chessprogramming.wikispaces.com/Transposition+Table

我在国际象棋和Connect4中都使用了这种技术,并看到了搜索时间的惊人减少。如果你想要更多关于如何实现这项技术的具体信息,请发表评论。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33331253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档