首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Negamax:实现静态搜索并评估连接四种游戏的静默动作?

Negamax:实现静态搜索并评估连接四种游戏的静默动作?
EN

Stack Overflow用户
提问于 2022-07-01 09:22:23
回答 1查看 40关注 0票数 0

我正试图在静态搜索算法中实现一个[医]消旋,用于连接四个游戏。

该算法用于国际象棋游戏如下:

代码语言:javascript
复制
int Quiesce( int alpha, int beta ) {
    int stand_pat = Evaluate();
    if( stand_pat >= beta )
        return beta;
    if( alpha < stand_pat )
        alpha = stand_pat;

    until( every_capture_has_been_examined )  {
        MakeCapture();
        score = -Quiesce( -beta, -alpha );
        TakeBackMove();

        if( score >= beta )
            return beta;
        if( score > alpha )
           alpha = score;
    }
    return alpha;
}

我明白这个想法,但不幸的是,这篇文章没有更多的细节。我不明白“直到( every_capture_has_been_examined )”这句话:这是怎么做的连接四局吗?在这样的游戏中,人们将如何评估沉默的举动?此外,没有深度参数,这是否意味着静态搜索只适用于单个深度?据我所知,似乎是这样。

下面是我的connect游戏的一个示例输出,其中发生了地平线效应(如果我正确理解的话):

  • AI播放器是黄色的
  • 深度为1(很明显)
  • AI播放器错误地选择在-300单元中播放c5,考虑到字母a,b,c,……为y轴。因此,AI增加了第三个相互连接的棋手,提高了他的is得分(c3到c5)。
  • 然而,AI并没有看到这样做,它给了红牌球员一个胜利的移动。事实上,红色现在设置了一个连接-在线下4 (d3-d6,玩d6),并赢得了比赛。

  • 请注意,MIN实际上是MAX,因为我使用的是否定,而不是极小。
EN

回答 1

Stack Overflow用户

发布于 2022-08-09 08:16:09

静态不需要深度参数(例如,如果您的评估需要它),但是它会越来越深,因此它有一个真正的深度。

在这里,你需要与国际象棋不同的想法,在国际象棋中,它不仅是捕捉移动,而且所有的动作都被认为是“响亮的”,例如强迫移动。连接4中的静止状态很可能是有强制反应的位置,就像对手连续3次而你需要阻挡一样。或者如果您只能在1列中放置,因为所有其他列都已满。

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

https://stackoverflow.com/questions/72827113

复制
相关文章

相似问题

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