电脑如何下三格棋?


10
  • 计算机如何评估三方检查棋位置,第一方检查另一方三局获胜?

    • 他们如何看待第一张和第二张支票?

    • 看来位置评估会很棘手,但看起来三格棋比标准棋更容易解决。

Answers:


10

https://github.com/ddugovic/Stockfish

非常活跃的开发,这是巫妖王使用的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的奖励,是残局的奖励。第二张支票的奖金更大。

我不确定三项检查中的位置评估是否棘手。我可以看到参数已更改,国王的安全性得到了改善,但总体结构与常规国际象棋相同。


8
  1. 我一直在研究上述用于三项检查象棋的Stockfish代码,因此我将尝试总结与标准象棋相比所做的最重要的评估更改(就Elo增益而言)。如前所述,除这些更改外,评估与普通国际象棋非常相似,只进行了一些参数调整。

    • 支票数量奖励
      • 在中间游戏中,一张支票的价值约为一小张纸的2/3,而两张支票的价值约为三张小纸,但此类仓位通常是高度动态的,因此很难进行静态评估。
      • 在最后阶段,支票的价值不那么高,因为材料更为重要。一张支票的价值大约相当于一张棋子,而两张支票的价值则比一张小棋子要少。
    • 安全/不安全国王职位的奖金/罚款要高得多,例如,进攻件的数量或典当庇护所的漏洞。
      • 王安全性评价也按比例取决于检查次数对手已经给,让王安全,更重要的,如果他是接近给第三检查。
    • 件值与标准象棋略有不同。典当在中间游戏中的价值要低一些,因为动态因素(例如打开文件)相对更为重要,而白胡鸦在残局中则更有价值,因为它们很容易威胁要检查棋盘上是否只有很少的棋子。
  2. 关于问题的第二部分,我认为在封闭的位置进行评估很棘手,因为这样就很难评估支票和材料的不平衡。如果该职位是高战术人员,则搜索通常应能够解决评估的不准确性。

  3. 与标准国际象棋相比,解决三支棋比较容易,因为游戏往往会更短。重要的一点是最佳玩法的博弈理论价值。如果怀特可以赢得(相对较短的)胜利,那么一个证明可能是可行的,但是如果它是具有最佳发挥的平局,那么所需的证明树可能太大了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.