2015-09-06 39 views
0

我正在Android中开发一个简单的Connect4游戏。Android上的Connect4,计时问题

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

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

我注意到选择移动所需的时间取决于我们在游戏中的距离:开始的时候需要更多的时间(因为有很多可能性需要探索),在游戏中期需要合理的数量时间和接近结束是非常快的。

我的问题是,如果我设置一个给定的技能,用户必须等待第一/第二/第三步移动。我想加快光圈,但我怀疑它甚至取决于硬件本身如何实现加速过程。

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

回答

1

规避这个问题的最简单方法是在开始的几个步骤中使用开篇手册。开幕书是针对特定场景的一组预定动作。由于开局移动的棋盘状态可能相对较少,因此您可以轻松编译前三轮所有可能移动的数据库,然后调用它而不是实际进行搜索。因此,您不再需要超时,而且您可以以零成本加快搜索速度,以达到准确性。