我用 JavaFX 制作了井字游戏和九人莫里斯游戏,并为它们实现了 AI。对于九人莫里斯,我还没有实施删除磨机,所以它现在更像是复杂的井字游戏。我使用了带有 alpha-beta 修剪的 minimax 算法,虽然 AI 的动作相当不错,但计算九人莫里斯的动作却非常缓慢。如果我让 AI 玩整个游戏,需要几分钟。
对于评估函数,我一直在使用评估船上每一行的函数,其中行值为:
100 为 3 合一,
10 个 2 合一,
1 代表 1 列,
对手单元格为负 (-100, -10, -1),
否则为 0。
Minimax 算法或多或少是相同的,但对于九人莫里斯,有 16 行要评估,而井字游戏中有 8 行,但对于九人莫里斯,人工智能要慢得多。
如何进一步提高 AI 的性能?
我一直在研究这个问题,我发现了使用神经网络来关注极小极大搜索或用神经网络替换评估函数的想法。这些解决方案能否提高我的 AI 性能?