Java 我们正在尝试开发一款井字游戏。我们应该使用什么算法?

Java 我们正在尝试开发一款井字游戏。我们应该使用什么算法?,java,algorithm,artificial-intelligence,Java,Algorithm,Artificial Intelligence,我知道alpha-beta修剪和minimax算法。 你会建议其他什么算法 如果我们使用negascout有可能吗?考虑到游戏的简单性,可以简单地存储最佳移动 相关XKCD- 考虑到游戏的简单性,可以简单地存储最佳移动 相关XKCD- Tic Tac Toe的整个游戏树可以在内存中表示,因此您可以生成该树并回溯获胜的动作。只有不到363k的合法配置。Tic Tac Toe的整个游戏树可以在内存中表示,因此您可以生成该游戏树并回溯获胜的动作。合法配置少于363k。只需解析并存储在移动数据库中即可。

我知道alpha-beta修剪和minimax算法。
你会建议其他什么算法


如果我们使用negascout有可能吗?

考虑到游戏的简单性,可以简单地存储最佳移动

相关XKCD-

考虑到游戏的简单性,可以简单地存储最佳移动

相关XKCD-

Tic Tac Toe的整个游戏树可以在内存中表示,因此您可以生成该树并回溯获胜的动作。只有不到363k的合法配置。

Tic Tac Toe的整个游戏树可以在内存中表示,因此您可以生成该游戏树并回溯获胜的动作。合法配置少于363k。

只需解析并存储在移动数据库中即可。:)但是说真的,alpha-beta修剪有什么问题,它被证明太慢了吗?如果不是,你应该先试试,看看是否适合你。在一个简单的算法可以实现的情况下,实现一个复杂的算法是没有意义的。当然,除非你试图研究算法本身。“一个奇怪的游戏。唯一的赢家是不玩。”@biziclop alpha-beta剪枝被广泛使用。我们正在寻找一种可以超越alphabeta剪枝和minimax的算法。您可能会发现这里的讨论也很有用,只需解析并存储在移动数据库中即可。:)但是说真的,alpha-beta修剪有什么问题,它被证明太慢了吗?如果不是,你应该先试试,看看是否适合你。在一个简单的算法可以实现的情况下,实现一个复杂的算法是没有意义的。当然,除非你试图研究算法本身。“一个奇怪的游戏。唯一的赢家是不玩。”@biziclop alpha-beta剪枝被广泛使用。我们正在寻找一种可以超越alphabeta剪枝和minimax的算法。你可能会发现这里的讨论也很有用