评价函数
编辑评价函数,也称为启发式评价函数或静态评价函数,是由游戏计算机程序用来估计游戏树中某个位置(通常在叶子或终端节点)的价值或好坏的一个函数。大多数时候,这个值是一个实数或一个量化的整数,通常是一个棋子(如围棋中的石子或国际象棋中的卒)价值的千分之几,其中n可以是十分之一、百分之一或其他方便的分数,但有时,这个值是单位区间内三个值的数组,代表该位置的 、平率和败率。对于未解棋局的评价函数并不存在分析或理论模型,这种函数也不完全是临时性的。评价函数的构成是通过将候选函数插入自动机并评价其随后的表现来凭经验确定的。对于一些游戏,如国际象棋、象棋和围棋的评价函数的一般构成,现在有大量的证据。游戏计算机程序采用评价函数的游戏包括国际象棋、围棋、将棋(日本象棋)、黑白棋、六角棋、双陆棋和跳棋。此外,随着MuZero等程序的出现,计算机程序也使用评估功能来玩视频游戏,如Atari2600的游戏。有些游戏如井字棋是强解的,不需要搜索或评估,因为有一个离散的解树。
与搜索的关系
编辑这种评价树通常是搜索算法的一部分,如蒙特卡洛树搜索或像α-β搜索这样的最小化算法。该值被推定为代表如果博弈树从该节点扩展到博弈结束时的相对获胜概率。这个函数只看当前的位置(即棋子所处的空间以及它们之间的关系),而不考虑位置的历史,也不探索节点的可能走法(因此是静态的)。这意味着,对于存在战术威胁的动态局面,评估功能将不会是对局面的准确评估。这些位置被称为非静止状态;它们至少需要一种有限的搜索扩展,称为静止搜索,以在评估前解决威胁。如果在节点上发生赢、输或平局,评估函数返回的一些数值是xxx的,而不是启发式的。在评价函数中,搜索和知识之间存在着错综复杂的关系。在评价中,更深入的搜索有利于较少的近期战术因素和更微妙的远期位置动机。在编码知识的有效性和计算的复杂性之间也有一个权衡:计算详细的知识可能需要很多时间,以至于性能下降,所以对精确知识的近似通常是更好的。由于评价函数取决于搜索的名义深度以及搜索中采用的扩展和减少,因此没有通用的或独立的评价函数的表述。一个在一个应用中运行良好的评价函数通常需要进行大幅度的重新调整或重新训练,以便在另一个应用中有效地工作。
在国际象棋中
编辑在国际象棋中,评价函数的输出通常是一个整数,而评价函数的单位通常被称为卒子。术语"卒"指的是当棋手在某个位置比对手多一个卒时的数值,这在国际象棋棋子相对值中有解释。整数1通常代表一个卒的某个分数,在电脑象棋中常用的是蜈蚣,是一个卒的百分之一。较大的评价表示材料的不平衡或位置优势,或通常即将获得材料的胜利。非常大的评估值可能表明将死即将到来。评价函数还隐含地编码了下棋权的价值,它可以从一个小卒的零头到赢或输不等。
手工制作的评价函数
编辑在计算机国际象棋中,评价函数的条件是由引擎开发者构建的(即手工制作的),而不是通过训练神经网络发现的。构建手工评价函数的一般方法是由各种加权项的线性组合,以影响一个位置的价值。然而,在手工制作的评价函数中,并非所有条款都是线性的,有些条款,如国王安全和卒子结构,是非线性的。每个项可以被认为是由一阶因素(那些只取决于空间和空间上的任何棋子的因素)、二阶因素(空间与其他空间的关系)和九阶因素(对局面历史的依赖性)组成。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/174768/