计算机如何评估三方检查棋位置,第一方检查另一方三局获胜?
他们如何看待第一张和第二张支票?
看来位置评估会很棘手,但看起来三格棋比标准棋更容易解决。
计算机如何评估三方检查棋位置,第一方检查另一方三局获胜?
他们如何看待第一张和第二张支票?
看来位置评估会很棘手,但看起来三格棋比标准棋更容易解决。
Answers:
非常活跃的开发,这是巫妖王使用的Stockfish版本。
您需要做的就是搜索此宏:
#ifdef三次检查
评估功能:
https://github.com/ddugovic/Stockfish/blob/master/src/evaluate.cpp
与普通国际象棋不同,支票获得了额外的奖励:
if (pos.is_three_check())
score += ChecksGivenBonus[pos.checks_given(Us)];
pos.checks_given
给出已经完成的检查次数。ChecksGivenBonus
是奖金值的数组。
奖励值为:
S(444, 181), // first check
S(2425, 603), // second check
444
是开局/中局181
的奖励,是残局的奖励。第二张支票的奖金更大。
我不确定三项检查中的位置评估是否棘手。我可以看到参数已更改,国王的安全性得到了改善,但总体结构与常规国际象棋相同。
我一直在研究上述用于三项检查象棋的Stockfish代码,因此我将尝试总结与标准象棋相比所做的最重要的评估更改(就Elo增益而言)。如前所述,除这些更改外,评估与普通国际象棋非常相似,只进行了一些参数调整。
关于问题的第二部分,我认为在封闭的位置进行评估很棘手,因为这样就很难评估支票和材料的不平衡。如果该职位是高战术人员,则搜索通常应能够解决评估的不准确性。
与标准国际象棋相比,解决三支棋比较容易,因为游戏往往会更短。重要的一点是最佳玩法的博弈理论价值。如果怀特可以赢得(相对较短的)胜利,那么一个证明可能是可行的,但是如果它是具有最佳发挥的平局,那么所需的证明树可能太大了。