gpt4 book ai didi

chess - negamax 可以使用非对称评估函数吗?

转载 作者:行者123 更新时间:2023-12-02 03:04:16 26 4
gpt4 key购买 nike

TLDR:我有一个用于 negamax 实现的非对称评估函数 - 这可以接受吗?还是我需要使其对称?

更长:我正在编写一个游戏 AI(用于类似国际象棋的棋盘游戏“Hive”),它使用带有 alpha-beta 修剪和不对称评估函数的极小极大。

但我在正确添加转置表时遇到了问题,并且对我的 minimax 实现失去了信心,所以我决定使用此处的伪代码切换到 negamax:https://en.wikipedia.org/wiki/Negamax#Negamax_with_alpha_beta_pruning_and_transposition_tables

我的一切都“正常”并且 AFAIK 准确地遵循了伪代码,但我的 AI 现在做出了一些与以前截然不同的 Action ,通常在 10-15 回合后结束的游戏现在需要 30+,而且我'我不相信人工智能实际上比以前玩得更好。我担心具有不对称评估函数意味着我对节点的评分与以前不同(因为 negamax 触发器)。

我不想更改为对称函数,除非我真的必须 - 我一直在尝试通过实验产生最佳函数(AI vs AI 战斗)并且已经投入了数百甚至数千个计算小时来生产强大的评价功能。

最佳答案

Negamax 支持不对称评估函数,但它不会导致最佳游戏(假设您不了解对手)。

我对 Hive 了解不够,但在计算机象棋中,一般来说,具有不对称评估函数是一个错误。其背后的原因对于象棋和Hive来说应该是一样的。

例如,采取起始位置(在国际象棋中)。白方下一个棋子,让我们假设您的评估函数给出的位置得分为 +0.08。

现在改变位置,黑色先走。一切都一样,只是白色和黑色的角色发生了变化。假设+0.08是白棋的最佳得分,为什么黑棋不也被评价为+0.08呢?

同样的论点适用于任何职位。如果你把所有东西都颠倒过来,就没有充分的理由以不同的方式玩这个位置。

这条规则只有一个异常(exception)。如果一个对手明显比另一个对手强,则有理由进行不对称评估。例如,采取这样一个完全绘制的位置:

enter image description here

FEN:4k3/8/8/p1p1p1p1/PpPpPpPp/1P1P1P1P/8/4K3 b - - 0 1

这个位置可以安全地评估为 0。现在想象起始位置,但白色开始时没有一个马。这应该是黑色的强大优势。

让我们假设您是 Magnus Carlsen,您正在与一个甚至不知道国际象棋规则的对手对弈。你更喜欢哪个职位?在这里,我认为不对称评估可能是有意义的(例如,评估类似于损失的可能平局)。卡尔森应该避免绘制位置,而初学者应该喜欢它。

新手与世界冠军抗衡的机会几乎为零,即使赔率为一马。另一方面,在平局中,技能优势无关紧要,因为没有顺序可以导致输赢。

在计算机国际象棋中,Rebel 在与人类对弈时具有偏好战术位置的功能(参见 ANTI GRANDMASTER PLAY )。还有一个常见的概念是“蔑视”,这是引擎给 remis 的分数。

但请注意,在我的两个示例中,这都不是最佳玩法。马格努斯·卡尔森在面对强大(或未知)的对手时,不会选择没有马的位置。此外,Rebel 不会对其他机器使用反人类策略,这些机器在战术战斗中也很出色。 (尽管根据位置,Rebel 10 did use ANTI GRANDMASTER PLAY against computers 。)

关于chess - negamax 可以使用非对称评估函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43813955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com