我正在尝试在 C 中实现一个最佳的跳棋游戏。
为了找到机器可以做出的棋盘的最佳移动,我通过固定深度,基于棋盘的当代状态,使用 C 中的 (GLib)生成了一个n 元博弈树。
并且,为游戏树中存在的所有叶节点计算启发式值,该值定义为棋盘中剩余的机器棋子数减去玩家对手的棋子数,因为国王比棋子具有更强大的能力,启发式计数每个国王作为两个普通棋子,使用它应用 alpha beta 搜索。
更有可能的是,增加游戏树的深度最终会产生优化的移动,如果我尝试增加深度,它会花费大量时间来生成树并进行启发式搜索。
我的想法是独立生成树的第一级并在可用处理器之间分配子节点,以便使用 MPI 进一步执行?
可能吗?如果是,我如何使用 MPI 并行化树生成和启发式搜索?
如果它效率不高,请向我建议一些其他方法来实现它。谢谢。