实现Tic Tac Toe的最佳算法 - 通用(3X3或4x4或9x9等)

时间:2014-09-19 07:02:26

标签: java android algorithm tic-tac-toe

任何人都可以帮助我。哪个是实现TicTacToe游戏的最佳算法。我需要以一种它应该是通用的方式编写代码,并且应该能够以更简单的方式处理更复杂的级别(通用方式)从我可以开始吗?我读到我们可以使用MiniMax算法。我需要知道的最多。高效算法

谢谢,

1 个答案:

答案 0 :(得分:1)

" Best"算法(总是选择最佳可能的游戏)被称为NP-Complete。

因此很难实施" good"一个,它使用一些启发式来提高性能,而且非常珍贵。

Minimax基本上只是"真的"工作,所以从它开始,然后你可以思考和寻找优化。这个想法很简单,你尝试每一个动作,然后衡量价格"该运动(例如创造更多相同" X"或" O"在行中比创建" X"或" O"大多数事情,或者停止排除" X"或者"敌人也很好。

然后,对于每一个可能的动作,你都会尝试敌人来做所有可能的动作并计算价格。

" deep"你去,它越珍贵,但性能算法越昂贵。

对于那个例子,我说,对于你的每一次运动,你做每次敌人运动 - 你认为对手会尽可能好地发挥,所以你从对手所扮演的所有运动中获得最大值(他的最大值)。 现在,对于每一个可能的运动,你都有最好的敌人游戏的价值。然后你选择最小 - 这意味着你想为你选择最好的,而对敌人来说最差。

这就是为什么他们称之为极小极大。