我正在构建一个跳棋应用程序。
我已经开始构建AI,并且我已经阅读了很多关于minimax的文章。
有一些我不能理解的事情,我应该使用什么类型的树来构建“游戏树”(我用JAVA编程)
发布于 2015-01-07 18:54:22
一般而言,极小极大游戏树很简单:每个节点表示游戏的一个状态,并包含代表该状态下所有允许移动的所有子节点的集合。
下面是一个可能的实现:
class Node {
private Board state;
private Map<Move, Node> children;
}发布于 2015-01-15 16:14:49
minimax算法也可以在不显式编码博弈树的情况下实现。在每个递归步骤中,移动实际上是在游戏板的一些表示上完成的,然后再次循环调用求值,并在求值后取消移动以进行求值。由于仅显式地表示所考虑的游戏树的节点,因此该方法更具存储器效率。在这种方法中,调用堆栈和游戏板表示可以一起解释为游戏树的节点迭代器。
https://stackoverflow.com/questions/27815233
复制相似问题