【发布时间】:2016-02-12 14:42:44
【问题描述】:
我想我终于了解了极小值和 Alpha beta 修剪,但实施它是另一回事!
据我了解,基础是: 您将启发式函数分数分配给某些动作(以 Gomoku 为例)。
- 如果连续有 5 个,我们应该分配一个高值,例如 9999,因为 这是一个成功的举动。
- 如果我们连续有 4 个,我们有两个开口端 我们应该再次分配一个高值,因为不可能阻塞 这个动作等等等等
当我们实际上必须在 Java 中实现它时,我的问题就出现了!
我有一个 Color [][] 棋盘 (8x8),其中黑色是玩家 1,白色是玩家 2,null 表示空白,我不知道该怎么做
- 在棋盘上搜索以查找对手的动作并分配值 给他们
- 在棋盘上搜索以找到我的移动并将值分配给 他们
- 然后选择最好的移动(我认为我可以做到 如果我知道前两个是如何工作的,因为这基本上是 算法)。
感谢您的帮助和指导!我查看了来自各种在线资源的 YouTube 教程和讲义,但在实际编写代码时,它们对我来说都没有真正意义。
如果有影响的话,游戏就是在 8x8 棋盘上玩五子棋
【问题讨论】:
标签: java algorithm minimax alpha-beta-pruning