没有评估函数可以解决游戏吗?

人工智能 参考请求 游戏-ai 评价函数
2021-11-14 07:17:49

从根本上说,玩游戏的 AI 必须解决从一组可能的动作中选择最佳动作的问题。

大多数现有的游戏 AI,例如 AlphaGo,通过使用评估函数来做到这一点,该函数将游戏状态映射到实数。实数通常可以解释为获胜概率估计的单调函数。最好的行动是其结果状态产生最高评价的行动。

显然,这种方法可以很好地工作。但这违反了Vladimir Vapnik 的一项要求(在他的《基于经验数据的依赖估计》一书中):“在解决感兴趣的问题时,不要将更一般的问题作为中间步骤来解决。 ”事实上,他特别指出为了说明这一必要性,

如果您的目标是表现良好,请不要估计预测值。一个好的行动策略并不一定依赖于好的预测能力。

事实上,人类国际象棋和围棋专家似乎听从了他的建议,因为他们能够在不使用评估函数的情况下表现出色。

我的问题是:最近是否有任何研究旨在通过学习直接比较决策来解决游戏,而不需要中间评估函数

以 AlphaGo 为例,这可能意味着训练神经网络将两个(相似)棋盘状态作为输入并输出一个更好的选择(分类问题),而不是采用一个棋盘状态的神经网络作为输入并输出获胜概率(回归问题)。

1个回答

人类国际象棋和围棋专家显然使用评估函数。他们确实在不评估棋盘位置的情况下提出了看起来合理的棋步,但为了验证这些候选棋步,他们评估了在他们计算的变化结束时出现的棋盘位置。与AlphaGo非常相似。

输入两个棋盘状态并输出偏好是一项(比将一个棋盘状态映射到实数)复杂得多的任务。它给你的信息更少。所以是双输的选择。(我确实尝试了一些非常相似的方法,但它根本不起作用。原因是你不只是将输入大小加倍,而是将输入空间放大了二次。)

如果您比较两个仅相差一步的棋盘状态,那么您的输入空间不会爆炸太多,但是您必须进行大量比较才能做出决定。合乎逻辑的选择是输出所有可能移动的偏好分布——但这正是 AlphaGo 在其策略网络中所做的。还有一篇较早的论文训练了一个网络来预测专家的动作,这归结为同样的事情。是的,在没有任何搜索或董事会评估的情况下,这两个网络都表现得非常强劲。但远不及 AlphaGo 级别。