Menu

国际象棋下一步

任意局面都能得到最佳着法,画在棋盘上并用文字讲解。

作者 Nethanel Bar, 联合创始人兼 CEO

最后更新

准备好学习这盘棋到底怎么下了吗?

Coddy 国际象棋课程从摆棋开始,带你学习开局、战术和残局,每次一个可交互的局面。

最佳着法,以及它好在哪里

国际象棋引擎看一个局面,只回答一个问题:在所有合法着法里,哪一步能让我在双方都下得好的情况下处境最好?这个引擎完全在你的浏览器里运行。摆好棋子或粘贴 FEN,什么都不用按,棋盘上就会出现箭头,旁边是局面评估、它预计的变化,以及两三个次优着法供你比较。

它比其他着法计算器更值得用的地方,是下面那句话。只被告知 Nf7 最好,下一盘棋你什么也用不上;被告知 f7 上的马同时攻击王和车,而这种棋形叫作“捉双”,一个月后你就能自己发现它。页面上的每一条理由都是从局面里读出来的,而不是根据分数生成的,每一条都链接到讲解这个思路的页面。

不需要注册,也没有任何数据离开你的设备:搜索在你自己的处理器上、在后台线程里运行,这也是最深的搜索设置也免费的原因。引擎是 Coddy 自己写的,为国际象棋课程而开发,和对弈页面上的机器人用的是同一个。所以搜索深度、看过的局面数和用时都直接印在答案下面,而不是藏起来。

怎样读懂引擎告诉你的信息

  • 评估以兵为单位,永远站在白方的角度:+1.00 表示白方多一个兵的优势,-2.50 表示黑方明显占优,0.00 表示局面均衡。
  • #3 表示不论对方怎么防守,都能三步强制将杀。前面带负号,表示被将杀的是走棋的一方。
  • 变化是引擎预计双方都按它的选择走下去的结果。它是预测,不是保证,你的对手完全可以走得更差。
  • 其他着法都列出了各自的评估,让你看清失误有多大:-0.20 的着法只是风格问题,-3.00 的着法会丢一个子。
  • 深度是它往后搜索了多少步。在尖锐的局面里,更深的搜索会改变答案,在平稳的局面里几乎不会,所以快速设置通常就够用了。

怎样找到你的下一步

  1. 把你的局面摆到棋盘上

    有三种方式。在现有棋盘上走出你这盘棋的着法;在“摆放局面”里拖动棋子;或者把 FEN(或整盘 PGN)粘贴到棋盘下方的输入框里,然后按“载入”。

  2. 说明轮到哪一方走

    “走棋方”开关就是引擎要回答的问题:白方的最佳着法和黑方的最佳着法,是两个不同局面的两个不同答案。弄错这一点,是让计算器看起来像坏了的唯一原因。

  3. 先看着法,再看理由

    箭头是着法,数字是评估,下面的句子说明这步棋实际做了什么。如果理由里提到了某个战术,点进链接看看:可以迁移到别的对局的是那个棋形,而不是这一步具体的棋。

  4. 看看你漏掉了什么

    按“对方有什么威胁?”,就能看到如果你什么都不做,对手会走哪一步。俱乐部水平以下的大多数败着不是漏掉了赢棋,而是漏掉了威胁,这个视图正好把威胁展示出来。

评估数字是什么意思

引擎评估以兵为单位,永远站在白方的角度,所以不管轮到谁走,同一个数字的含义都一样。

评估含义实战中
0.00 至 ±0.30均势谁也没占到便宜。胜负取决于接下来发生什么,而不是已经发生了什么。
±0.30 至 ±0.80稍优更好的格子、更安全的王、象对马。值得争取,但不能指望。
±0.80 至 ±1.50明显占优通常是多一个兵,或者真正的局面压制。俱乐部棋手下这种局面,赢和输的次数差不多。
±1.50 至 ±3.00转化好就能赢多一个兵再加上压力,或者得了半子。兑子而不是兑兵,残局会替你完成剩下的工作。
±3.00 及以上多一个子或更多在任何水平上都是决定性的。从这里开始,实战任务是别把它还回去。
#NN 步强制将杀这个变化不是意见,它对任何防守都有效。按给出的顺序走就行。

值得粘贴进来试试的局面

引擎不只是走出、还会讲解的马捉双

FEN

3r3k/8/8/4N3/8/8/8/4K3 w - - 0 1

e5 上的马只有一步棋是关键。Nf7 落到一个能同时攻击 h8 的王和 d8 的车的格子上:王必须走开,然后车就丢了。这个工具会说出两个目标,而不只是画一个箭头,这正是“答案”和“一课”的区别。

一步底线杀

FEN

6k1/5ppp/8/8/8/8/5PPP/R5K1 w - - 0 1

Ra8 将杀:车控制了整条第八横线,王不能走到 f8 或 h8,自己的兵又挡住了所有向前的出路。评估显示的是 #1,而不是兵数,因为将杀不值得用兵来衡量。俱乐部对局里,靠这个棋形分出胜负的比任何其他棋形都多。

已经保不住的那个子

FEN

3rk3/8/8/8/8/8/8/3QK3 w - - 0 1

白后和黑车在 d 线上对峙,有麻烦的是后,因为它更值钱。最佳着法是把后从这条线上移开,给出的理由也正是这一点:d1 上的子正受到攻击,新的格子是安全的。在引擎之前发现这一点,就是国际象棋进步的大部分内容。

为什么数字有时会突然跳变

FEN

r1bqkbnr/pppp1ppp/2n5/4p3/2B1P3/5Q2/PPPP1PPP/RNB1K1NR b kq - 0 4

白方威胁下一步在 f7 将杀。问黑方的最佳着法,引擎会防守;把“走棋方”切换到白方,评估就会猛跳,因为同一个局面对于不能去补救的那一方来说是一场灾难。引擎的数字从来不只关于局面本身,而是关于局面加上轮到谁走。

常见错误

  • “走棋方”开关停在了错误的一边。引擎会照样回答另一方的问题,给出的着法就会显得很荒唐。
  • 把评估当成保证。+1.5 表示局面更好,而不是已经赢了,你仍然得把棋走出来。
  • 不看变化就照搬引擎的着法。Nf7 的目的可能是两步之后得车;下一步走了别的,这个目的就没了。
  • 摆局面时少了一个王。一个国际象棋局面在计算之前,双方必须各有一个王,这个工具会直接告诉你,而不会去猜。
  • 指望最深的设置改变每一个答案。在平稳的局面里,最佳着法通常在深度 4 就找到了,在深度 8 得到确认;有吃子和将军的地方,深度才重要。
  • 把引擎当成教练。它只说哪一步能赢,从来不说上一步为什么输。要弄明白这一点,就去读那些理由,顺着它们找到背后的棋形。

国际象棋下一步常见问题

国际象棋引擎是怎样找到最佳着法的?

它在脑子里把棋下下去。对每一步合法着法,它会考虑对方的每一种应着,再考虑对这些应着的每一种应对,往下看几步,然后通过计算子力和棋子的位置好坏,给末端的局面打分。再倒推回来,它假设双方都选最好的选项(这就是极小化极大的思想),保留最坏情况最好的那步棋。Alpha-beta 剪枝让它跳过不可能改变答案的变化,这才使每秒搜索几百万个局面成为可能。

任何局面下的最佳着法是什么?

没有一步棋在所有局面下都最好,一步棋的好坏只相对于它所在的局面而言。普遍成立的是,最佳着法通常只做少数几件事之一:白吃一个子,制造对方无法应对的威胁,化解对方的威胁,或者改善位置最差的那个子。本页面上引擎给出的理由会说明是哪一种。

国际象棋最好的第一步是什么?

按引擎评估,1.e4 和 1.d4 是最强的第一步,1.Nf3 和 1.c4 紧随其后,这四步都在占领或争夺中心。它们之间的差距,远小于“走出其中一步”和“把它下好”之间的差距。所以在俱乐部水平以下,选哪个开局远不如知道第六步该怎么走重要。

用国际象棋引擎算作弊吗?

在实时对局中,算。每个国际象棋网站的公平竞赛规则都禁止这样做,账号会因此被永久封禁。对局结束后,这是最好的学习方法:复盘你自己的着法,找出评估下降的那几步,弄清楚你漏掉了什么。谜题、研究和你好奇的局面也都可以分析。什么都可以分析,但要在事后分析。

它和 Stockfish 一样强吗?

不一样,它也没打算一样强。Stockfish 是一个已有几十年历史的项目,用神经网络做评估,水平是任何人类都达不到的。这个引擎是我们自己为国际象棋课程写的,最深设置下大约有 1900 至 2000 的水平,比绝大多数俱乐部棋手都强,足以在你可能卡住的任何局面里找到最佳着法。它拥有而 Stockfish 套壳工具没有的,是我们能讲解它找到了什么。

正负号的数字是什么意思?

它是局面的价值,以兵为单位,站在白方的角度。+1.00 表示白方多一个兵的优势;-0.50 表示黑方稍占上风。它从来不是百分比或概率,也不是比分,而是引擎预计在它给出的变化之后,子力和局面的平衡。

FEN 是什么,从哪里获取?

FEN 是描述一个局面的一行文字:按横线逐行列出棋子、轮到谁走、王车易位权和吃过路兵的格子。每个国际象棋网站都能生成 FEN,在 chess.com 和 Lichess 上,它在分析棋盘的分享或导出面板里。把它粘贴到这里棋盘下方的输入框,局面就会原样出现。

可以粘贴整盘棋吗?

可以。把 PGN(带编号的着法列表)粘贴到同一个输入框,棋盘就会跳到这盘棋结束时的局面,通常正是你想问的那个。在那里,你可以用“悔棋”往回退,询问任何更早的局面。

为什么引擎有时会弃掉一个子?

因为子力不是唯一重要的东西。当弃子换来的局面比这个子更值钱时,就会弃子:暴露的王、挡不住的兵、一张将杀网。这种情况下,页面上的理由会明确说明,而不会假装吃子是赚的,下面的变化会展示这个子换来了什么。

能在手机上用吗?

能。搜索在后台线程里运行,棋盘始终响应流畅,手机只是在最深设置下会稍慢一些。不会上传任何东西:关掉标签页,局面也就随之消失。

更多国际象棋工具

Coddy 编程语言插图

和 Coddy 一起学国际象棋

开始