如何不使用国际象棋引擎?


13

如何不使用国际象棋引擎?使用国际象棋引擎时有哪些不好的做法,哪些是好的?他们的建议和评价是否值得信赖?

Answers:


20

该问答的目的是什么?

在这个社区中,我看到了很多滥用引擎的情况。我看到人们通过复制粘贴引擎输出来打开“分析”的主题。更糟糕的是,我看到通过第一步复制粘贴打开“分析”!

这个社区中的许多初学者都认为,引擎在每个位置上都可以提供最佳的移动,因为它们击败了人类玩家。

我试图在不久的几个主题下解释为什么这是错误的,但是我看到简短的解释是不够的,人们不想让一些陌生人说以这种方式使用引擎是错误的,而没有详细解释。因此,作为计算机科学专业的学生和业余玩家(曾经玩过OTB,但退出了游戏),我写了这么长的,很累的答案,以期改变错误的信念。

注意:这是一个很长的答案。我可能有很多语法错误和错字。也可能以更流畅或更短的方式来解释这些。因此,如果您认为您可以改善此答案,请提出修改建议,我们将不胜感激。

引擎如何工作?分析窗口中的这些数字是多少?

引擎使用不同的指标评估所有位置(这与引擎的发挥强度密切相关)

例如:引擎具有材料的预定义值,例如典当1分,主教3分,等等。

但这当然不是全部,他们也使用更高级的指标。例如:通过的典当0.2点,主教对0.1点等。

因此,它会像这样评估所有位置,然后插入到树中(如果您想了解更多有关树的信息,请查看本文)。

但是,由于内存不是无限的,因此如果计算机内存不足,引擎会停止吗?因此,引擎必须谨慎使用内存。怎么样?它从树中删除了一些没有希望的节点(位置)(评估不好不好(很难决定哪个不好)))。

树中最长的路径是分析的深度。因为每个节点都代表一个位置,所以2的深度等于1个移动。

与人类相比,引擎的优缺点是什么?

与人类相比,引擎在战术上绝对更好。因为战术是

  • 短期内(通常少于10个动作)可转换为混凝土(材料,包括将棋子)的优势
  • 与人类相比,计算机拥有更多的内存(任何国际象棋棋手都能在1分钟内记住并评估10 ^ 3个不同位置的连续性吗?不是。但是今天的计算机可以完成10 ^ 12多个)
  • 计算机不会(实际上)不会导致计算错误,但是人会。

人类绝对擅长于策略和位置评估。因为:

  • 毕竟,引擎正在使用度量标准来评估哪些是绝对值得商question的,例如,对于主教对或典当没有正确的度量标准。

  • 评估指标时,熟练的国际象棋棋手要好得多(机器很笨)

  • 人类的修剪能力绝对强大,我们的搜索树要小得多(我们可以消除很多不必要的位置,计算机无法做到这一点)

让我来演示一下这个姿势,一个1200 Elo玩家可以在3秒钟内正确评估一次平局。

科莫多9.3深度= 48,-17.61

看到 24步前进后,引擎表示为-17.61 。为什么?那是愚蠢的吗?它不能理解黑色无法前进吗?

是! 真是愚蠢!而且您是需要了解绘制的人,而不是引擎,而是为您服务的工具!

-17.61是评估指标的结果。那评估是错误的吗?不,如果您正确地解释它,评估是正确的。引擎总结了指标,结果为-17.61,因为黑色具有很多物质优势。有趣的是,在这个职位上,物质上的优势还远远不够,这就是您应该借助智能来帮助引擎的部分。

评估分数不是职位评估!!!

引擎输出中只有两件事可以视为评估:

  • 交配x
  • 抽0.00

除了这两个以外,所有评估分数输出均基于意见。就像处于-17以上的位置可以评估为平局一样,这是极不可能的,但有可能。

因此,引擎确实远非完美,这就是我们拥有表的原因。表库是给定职位的绝对事实的来源。一个表库提供了一个输出,该输出告诉该位置是配合(以x移动)还是绘制。先进的桌子底座覆盖了所有位置,最多七件

如何解释评估分数?

正如我之前提到的,引擎会尽力使用有限的内存和计算能力。由于这些限制,引擎会告诉用户他们走了多深。

假设您是军队的指挥官(引擎),并且您处于空旷的地形中。您的军队有1万名士兵。您有10公里(搜索深度)的视线,并且您看到前方9公里的敌军,您猜测(评估)他们的人数大约为100名士兵,因此您决定进攻。您和您的军队开始冲向敌人。但是,在距离敌军3公里(获得3公里的视线)之后,您突然又看到100k敌人,并突然决定这场战斗失败了。

这是地平线效应问题的类比。有时,钥匙移动发生在引擎的视线范围之外,引擎错误地评估了位置。这个问题在残局中发生的更多,因为在残局中,与中局和开局相比,位置变化缓慢,需要更多的动作才能获得相同的进度。记住残局的漫长动作。这就是为什么引擎使用表基(预先计算的,当然是对少于8件的位置的死亡评估)来对抗视界效应的原因。

让我们回到上面的位置并阐明为什么我们可以如此轻松地将其评估为平局,但是计算机却不给出0.00?

引擎计算出24个动作的深度,不错。但是我们正在计算所有可能的延续,直到最后!我们的速度不比计算机快,但比计算机快。因为我们了解,在检查了几步之后,所有的延续都是微不足道的,然后将它们全部修剪掉。我们只计算少量头寸,并将其评估为平局。但是发动机计算出的吨数,是因为它不够聪明,不足以理解其琐碎的计算所有这些位置。

现在,如何不使用国际象棋引擎?

  • 作为末日之神,它知道一切
  • 作为一个开放的上帝,它知道一切
  • 作为战略之神,它知道一切
  • 作为一个战术之神,它知道的一切(通常都知道,但由于天边效应,也有例外)

但是用作:

  • 一个万无一失的伴侣搜寻者
  • 世界上最好的战术师
  • 战略/职位评估中可疑的顾问

不要忘记分析和匹配是不同的任务。人类无法在比赛中击败引擎,并不意味着它在分析中是相同的。实际上,这是非常不同的任务,因为分析的目的是利用无限的资源找到最佳的举动,而比赛的目标是利用有限的资源获胜,而对于获胜来说,足以胜过对手。所有具有竞争力的引擎都经过调整,可以在引擎比赛中获得最大的成功。

另请阅读


引擎故障的示例,不满意的读者

最新的位置引擎无法找到正确的举动,这是人类发现的更多位置示例

托帕洛夫,韦斯林-希洛夫,阿列克谢,利纳雷斯
1 ... Bh3 !!-+
1 ... a3?

Shirov的游戏分析


1
@Ant您的主张肯定是错误的。请在互联网上搜索有关您的索赔的信息,您会看到。我在这个答案中写的所有内容对于今天的国际象棋都是有效的。无论如何,我将用具体的参考文献来更新我的回答,涵盖您的主张,以使您满意。感谢您让我知道我需要更新答案。
费里特

2
我完全阅读了您的帖子。例如,当谈到地平线效应时;在当今的计算机中,它不会发生。当然,地平线效应仍然存在,但是距离太远了,以至于人类玩家的所有范围和目的(或者至少是2500以下的人类玩家)基本上都没有。因此,如果您使用的是3000左右的国际象棋引擎,并且您是2500以下的玩家,那么您可以将计算机视为一场终局之战,这是战略性和地位性的上帝,就像它所知道的那样。电脑还没有解决国际象棋,但是它们是如此强大,我们大多数人都无法分辨
蚂蚁

2
在上一届的辛克菲尔德杯中,有一场So-Nakamura比赛,So在国王印第安人的预备队中落败,(目前)引擎的得分为+1,但实际上输给了White。
小丑

3
这个问题的答案很棒。为什么每个人都这么生气?Sailbot,我发现这篇文章真的很有帮助。谢啦。
2015年

2
好答案。地平线效果仍然存在。引擎分析的许多问题,例如识别人类从未跨越的雷区。当我们的位置是防巡逻(而不是对手的)时,比获得神秘的0.2分更好。即使他们是神,您仍然不应该经常玩游戏,因为这对人类来说可能是非常不切实际的。接近桌面位置时,也很难玩。Chess.stackexchange.com/questions/16461/…–
hoacin
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.