首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实施迭代深化

实施迭代深化
EN

Stack Overflow用户
提问于 2015-11-06 12:37:32
回答 1查看 1.5K关注 0票数 2

为了提高使用Alpha-Beta剪枝的Minimax算法的性能,我实现了迭代深化:

代码语言:javascript
复制
 public Integer iterativeDeepening(int maxDepth, boolean isFirstPlayer) {

    Integer bestCell = -1;

    for (Integer depth = 1; depth <= maxDepth; depth++) {
        bestCell = alphabeta.minimax(depth, false, Integer.MIN_VALUE, Integer.MAX_VALUE)[1];
    }

    return bestCell;
}

其中,方法iterativeDeepening只是返回最佳移动的id。

首先,我不确定这是否正确的方式实施迭代深化。

其次,我注意到AI开始做出错误的举动。迭代深化是否有可能影响决策?

在处理换位表和迭代深化时,我测量了算法速度的显著提高,但我并不想为了速度而牺牲AI质量。

EN

回答 1

Stack Overflow用户

发布于 2016-01-12 21:53:11

首先,我不确定这是否正确的方式实施迭代深化。

我认为这是正确的,但如果您想要迭代深化以加快您的算法,您还应该添加移动排序。其思想是,您使用的结果从浅层搜索,搜索移动似乎最好的第一次在下一次迭代。这意味着一个更好的机会,在您的α-β算法快速削减。

其次,我注意到AI开始做出错误的举动。迭代深化是否有可能影响决策?

为您的alpha-beta算法实现迭代深化不应影响决策。您的实现肯定有问题,但是没有足够的信息来说明它是什么。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33566977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档