引擎不只是走出、还会讲解的马捉双
3r3k/8/8/4N3/8/8/8/4K3 w - - 0 1
e5 上的马只有一步棋是关键。Nf7 落到一个能同时攻击 h8 的王和 d8 的车的格子上:王必须走开,然后车就丢了。这个工具会说出两个目标,而不只是画一个箭头,这正是“答案”和“一课”的区别。
任意局面都能得到最佳着法,画在棋盘上并用文字讲解。
最后更新
Coddy 国际象棋课程从摆棋开始,带你学习开局、战术和残局,每次一个可交互的局面。
国际象棋引擎看一个局面,只回答一个问题:在所有合法着法里,哪一步能让我在双方都下得好的情况下处境最好?这个引擎完全在你的浏览器里运行。摆好棋子或粘贴 FEN,什么都不用按,棋盘上就会出现箭头,旁边是局面评估、它预计的变化,以及两三个次优着法供你比较。
它比其他着法计算器更值得用的地方,是下面那句话。只被告知 Nf7 最好,下一盘棋你什么也用不上;被告知 f7 上的马同时攻击王和车,而这种棋形叫作“捉双”,一个月后你就能自己发现它。页面上的每一条理由都是从局面里读出来的,而不是根据分数生成的,每一条都链接到讲解这个思路的页面。
不需要注册,也没有任何数据离开你的设备:搜索在你自己的处理器上、在后台线程里运行,这也是最深的搜索设置也免费的原因。引擎是 Coddy 自己写的,为国际象棋课程而开发,和对弈页面上的机器人用的是同一个。所以搜索深度、看过的局面数和用时都直接印在答案下面,而不是藏起来。
有三种方式。在现有棋盘上走出你这盘棋的着法;在“摆放局面”里拖动棋子;或者把 FEN(或整盘 PGN)粘贴到棋盘下方的输入框里,然后按“载入”。
“走棋方”开关就是引擎要回答的问题:白方的最佳着法和黑方的最佳着法,是两个不同局面的两个不同答案。弄错这一点,是让计算器看起来像坏了的唯一原因。
箭头是着法,数字是评估,下面的句子说明这步棋实际做了什么。如果理由里提到了某个战术,点进链接看看:可以迁移到别的对局的是那个棋形,而不是这一步具体的棋。
按“对方有什么威胁?”,就能看到如果你什么都不做,对手会走哪一步。俱乐部水平以下的大多数败着不是漏掉了赢棋,而是漏掉了威胁,这个视图正好把威胁展示出来。
引擎评估以兵为单位,永远站在白方的角度,所以不管轮到谁走,同一个数字的含义都一样。
| 评估 | 含义 | 实战中 |
|---|---|---|
| 0.00 至 ±0.30 | 均势 | 谁也没占到便宜。胜负取决于接下来发生什么,而不是已经发生了什么。 |
| ±0.30 至 ±0.80 | 稍优 | 更好的格子、更安全的王、象对马。值得争取,但不能指望。 |
| ±0.80 至 ±1.50 | 明显占优 | 通常是多一个兵,或者真正的局面压制。俱乐部棋手下这种局面,赢和输的次数差不多。 |
| ±1.50 至 ±3.00 | 转化好就能赢 | 多一个兵再加上压力,或者得了半子。兑子而不是兑兵,残局会替你完成剩下的工作。 |
| ±3.00 及以上 | 多一个子或更多 | 在任何水平上都是决定性的。从这里开始,实战任务是别把它还回去。 |
| #N | N 步强制将杀 | 这个变化不是意见,它对任何防守都有效。按给出的顺序走就行。 |
3r3k/8/8/4N3/8/8/8/4K3 w - - 0 1
e5 上的马只有一步棋是关键。Nf7 落到一个能同时攻击 h8 的王和 d8 的车的格子上:王必须走开,然后车就丢了。这个工具会说出两个目标,而不只是画一个箭头,这正是“答案”和“一课”的区别。
6k1/5ppp/8/8/8/8/5PPP/R5K1 w - - 0 1
Ra8 将杀:车控制了整条第八横线,王不能走到 f8 或 h8,自己的兵又挡住了所有向前的出路。评估显示的是 #1,而不是兵数,因为将杀不值得用兵来衡量。俱乐部对局里,靠这个棋形分出胜负的比任何其他棋形都多。
3rk3/8/8/8/8/8/8/3QK3 w - - 0 1
白后和黑车在 d 线上对峙,有麻烦的是后,因为它更值钱。最佳着法是把后从这条线上移开,给出的理由也正是这一点:d1 上的子正受到攻击,新的格子是安全的。在引擎之前发现这一点,就是国际象棋进步的大部分内容。
r1bqkbnr/pppp1ppp/2n5/4p3/2B1P3/5Q2/PPPP1PPP/RNB1K1NR b kq - 0 4
白方威胁下一步在 f7 将杀。问黑方的最佳着法,引擎会防守;把“走棋方”切换到白方,评估就会猛跳,因为同一个局面对于不能去补救的那一方来说是一场灾难。引擎的数字从来不只关于局面本身,而是关于局面加上轮到谁走。
它在脑子里把棋下下去。对每一步合法着法,它会考虑对方的每一种应着,再考虑对这些应着的每一种应对,往下看几步,然后通过计算子力和棋子的位置好坏,给末端的局面打分。再倒推回来,它假设双方都选最好的选项(这就是极小化极大的思想),保留最坏情况最好的那步棋。Alpha-beta 剪枝让它跳过不可能改变答案的变化,这才使每秒搜索几百万个局面成为可能。
没有一步棋在所有局面下都最好,一步棋的好坏只相对于它所在的局面而言。普遍成立的是,最佳着法通常只做少数几件事之一:白吃一个子,制造对方无法应对的威胁,化解对方的威胁,或者改善位置最差的那个子。本页面上引擎给出的理由会说明是哪一种。
按引擎评估,1.e4 和 1.d4 是最强的第一步,1.Nf3 和 1.c4 紧随其后,这四步都在占领或争夺中心。它们之间的差距,远小于“走出其中一步”和“把它下好”之间的差距。所以在俱乐部水平以下,选哪个开局远不如知道第六步该怎么走重要。
在实时对局中,算。每个国际象棋网站的公平竞赛规则都禁止这样做,账号会因此被永久封禁。对局结束后,这是最好的学习方法:复盘你自己的着法,找出评估下降的那几步,弄清楚你漏掉了什么。谜题、研究和你好奇的局面也都可以分析。什么都可以分析,但要在事后分析。
不一样,它也没打算一样强。Stockfish 是一个已有几十年历史的项目,用神经网络做评估,水平是任何人类都达不到的。这个引擎是我们自己为国际象棋课程写的,最深设置下大约有 1900 至 2000 的水平,比绝大多数俱乐部棋手都强,足以在你可能卡住的任何局面里找到最佳着法。它拥有而 Stockfish 套壳工具没有的,是我们能讲解它找到了什么。
它是局面的价值,以兵为单位,站在白方的角度。+1.00 表示白方多一个兵的优势;-0.50 表示黑方稍占上风。它从来不是百分比或概率,也不是比分,而是引擎预计在它给出的变化之后,子力和局面的平衡。
FEN 是描述一个局面的一行文字:按横线逐行列出棋子、轮到谁走、王车易位权和吃过路兵的格子。每个国际象棋网站都能生成 FEN,在 chess.com 和 Lichess 上,它在分析棋盘的分享或导出面板里。把它粘贴到这里棋盘下方的输入框,局面就会原样出现。
可以。把 PGN(带编号的着法列表)粘贴到同一个输入框,棋盘就会跳到这盘棋结束时的局面,通常正是你想问的那个。在那里,你可以用“悔棋”往回退,询问任何更早的局面。
因为子力不是唯一重要的东西。当弃子换来的局面比这个子更值钱时,就会弃子:暴露的王、挡不住的兵、一张将杀网。这种情况下,页面上的理由会明确说明,而不会假装吃子是赚的,下面的变化会展示这个子换来了什么。
能。搜索在后台线程里运行,棋盘始终响应流畅,手机只是在最深设置下会稍慢一些。不会上传任何东西:关掉标签页,局面也就随之消失。