Android 上的 Connect4,计时问题

Connect4 on Android, timing issue

我正在 Android 中开发一个简单的 Connect4 游戏。

目前我正在使用带有 alpha-beta 修剪和位板状态表示的 minimax 算法,因此搜索非常有效和快速。

通过设置算法在游戏树内的 DFS 搜索期间应达到的最大深度来设置技能。

我注意到选择一个动作所需的时间取决于我们在游戏中的距离:开始时需要更多时间(因为有很多探索的可能性),在游戏中期需要合理的时间时间和接近尾声的速度非常快。

我的问题是,如果我设置了给定的技能,用户必须在 first/second/third 动作上等待很长时间。我想加快光圈,但我怀疑它甚至取决于硬件本身我想如何实现加速过程。

我可以为 DSF mimimax 线程 运行 设置超时吗?

避免此问题的最简单方法是在前几步中使用一本开局书。开局书是针对给定场景的一组预定动作。由于开局可能的棋盘状态相对较少,您可以轻松地为前三回合编译所有可能走法的数据库,并调用它而不是实际进行搜索。因此,您不再需要超时,并且以零成本加快搜索速度。