我被要求创建棋盘游戏AI(游戏与棋子非常相似)。到目前为止,我完成了NegaScout的一个基本实现,并且在5秒内,我可以深入到10个半层。游戏的类别在于EXPTIME-complete。换句话说,整个宇宙中的原子几乎比原子更多。 NegaScout帮助我减少这个数字,但我仍然需要处理大量可能的移动。棋盘游戏中的对象池AI
我的板子已经是静态的do/undo功能。但是,对于每一个新板的配置我需要生成所有允许的动作和它的成本,即使我的课是简单了很多时间:
public class Move
{
private final byte startIndex;
private final byte endIndex;
private byte endPawn;
public Move(final byte start,final byte end){startIndex = start; endIndex = end;}
public final void setEndPawn(byte pawn){endPawn = pawn;}
//OTHER FUNCTIONS.. (ONLY FOR DISPLAY/DEBUG)
}
所以,我有两个问题。
FIRST =对象池(移动)会提高我的性能吗?
秒= IF(FIRST),那么你能告诉我如何实现它?(链接&小的代码示例将是很感激!!)
你是否已经研究对象池?我相信你会更快得到你的答案。 – Josh
第一个问题的答案是肯定的,对象池总是用来提高性能。第二个问题的答案是否定的,我们不能告诉你,即使它可以在你的项目中实现,因为你已经发布了有限的代码片段 – ControlAltDel
@Josh我不熟悉对象池,所以我问这个问题有在这个问题上比我更了解的人告诉我它是否可以适用于我的问题,并且就此而言,给我提供有关该主题的很好的参考。 –