跳到正文
    记谱法

    描述记谱法与代数记谱法

    英文旧棋书里的 P-K4、N-KB3 是什么意思,怎么对照表格把它换算成今天通用的 e4、Nf3,以及代数记谱法为什么胜出、FIDE 在 1981 年把它定为唯一官方标准。

    ScanChess

    13 分钟阅读

    本页目录7
    1. 1描述记谱法的工作原理
    2. 264 格双视角坐标对照矩阵
    3. 3经典文献中的消歧与特殊习惯
    4. 4并排对比:意大利开局(Giuoco Piano)
    5. 5为什么代数记谱法取代了描述记谱法
    6. 6我们实测中的发现
    7. 7如何数字化并验证古老对局

    在 1980 年以前出版的国际象棋书籍、杂志档案和赛事公报中,着法几乎普遍采用描述记谱法(descriptive notation)记录——例如 1. P-K4 P-K4 2. N-KB3(或 2. Kt-KB3)。而在现代赛事对局、数字数据库和国际象棋软件中,相同的开局则以代数记谱法(标准代数记谱法,简称 SAN)记录为 1. e4 e5 2. Nf3。

    两者的主要区别在于视角:描述记谱法是根据对局双方各自的棋盘视角来命名格子,这意味着白方和黑方对棋盘上完全相同的同一个物理格子有着不同的名称。而代数记谱法则使用一个固定不变的单一 64 格坐标网格(a1 到 h8)。将一份古老棋谱转换为现代 PGN,需要理解这种视角的转变、识别历史上的棋子缩写,并结合上下文消除歧义。

    描述记谱法的工作原理

    描述记谱法通过三大核心约定来确定格子与着法:

    1. 直线以初始棋子命名

    每条垂直直线不再使用字母 a 到 h 表示,而是以标准初始阵型中占据该直线的棋子来命名。棋盘从正中间被划分为王翼(K)和后翼(Q):

    直线(代数法)描述法名称缩写初始棋子(白方 / 黑方)
    a后翼车QRa1 车 / a8 车
    b后翼马QNb1 马 / b8 马
    c后翼象QBc1 象 / c8 象
    d后Qd1 后 / d8 后
    e王Ke1 王 / e8 王
    f王翼象KBf1 象 / f8 象
    g王翼马KNg1 马 / g8 马
    h王翼车KRh1 车 / h8 车

    2. 横线从各方底线起算(“9的法则”)

    每位棋手都从自己的底线开始,将横线编号为 1 到 8。由于编号方向相反:

    • 白方的 K1 是 e1,而黑方的 K1 则是 e8。
    • 白方的 K4 是 e4,而黑方的 K4 则是 e5。
    • 记录为 1. P-K4 P-K4 的着法意味着白方将兵向前推进四道横线至 e4,黑方的应对则是将兵从黑方底线向前推进四道横线至 e5。

    在转录古老棋谱时,一个可靠的心算验算方法是**“9的法则”**(Rule of 9):对于棋盘上的任意物理格子,White Rank + Black Rank = 9。如果白方描述的格子位于第 4 横线,黑方眼中的同一个格子就位于第 5 横线(4 + 5 = 9)。如果黑方走到自己的第 3 横线,该格子在白方看来则位于第 6 横线(3 + 6 = 9)。

    3. 棋子缩写与着法语法

    着法记作 Piece-DestinationSquare。兵明确用 P 表示(例如 P-Q4),而代数记谱法中则完全省略了兵的字母(d4)。

    吃子用 x 记录(在较早期的欧洲印刷品中有时用冒号),将吃子棋子与被吃棋子或格子配对(例如 PxP 或 BxN)。消除歧义则依赖于指明相关棋子所在的直线或侧翼。

    64 格双视角坐标对照矩阵

    在阅读经典对局集时,在脑海中为黑方翻转横线是转录错误最常见的来源。使用这个 64 格参考矩阵,即可将任意代数坐标转换为其对应的白方与黑方描述法名称:

    横线(SAN)a (QR)b (QN)c (QB)d (Q)e (K)f (KB)g (KN)h (KR)
    8(黑方第 1 横线)QR8 / QR1QN8 / QN1QB8 / QB1Q8 / Q1K8 / K1KB8 / KB1KN8 / KN1KR8 / KR1
    7(黑方第 2 横线)QR7 / QR2QN7 / QN2QB7 / QB2Q7 / Q2K7 / K2KB7 / KB2KN7 / KN2KR7 / KR2
    6(黑方第 3 横线)QR6 / QR3QN6 / QN3QB6 / QB3Q6 / Q3K6 / K3KB6 / KB3KN6 / KN3KR6 / KR3
    5(黑方第 4 横线)QR5 / QR4QN5 / QN4QB5 / QB4Q5 / Q4K5 / K4KB5 / KB4KN5 / KN4KR5 / KR4
    4(白方第 4 横线)QR4 / QR5QN4 / QN5QB4 / QB5Q4 / Q5K4 / K5KB4 / KB5KN4 / KN5KR4 / KR5
    3(白方第 3 横线)QR3 / QR6QN3 / QN6QB3 / QB6Q3 / Q6K3 / K6KB3 / KB6KN3 / KN6KR3 / KR6
    2(白方第 2 横线)QR2 / QR7QN2 / QN7QB2 / QB7Q2 / Q7K2 / K7KB2 / KB7KN2 / KN7KR2 / KR7
    1(白方第 1 横线)QR1 / QR8QN1 / QN8QB1 / QB8Q1 / Q8K1 / K8KB1 / KB8KN1 / KN8KR1 / KR8

    单元格格式:White Name / Black Name。示例:格子 e4 为白方的 K4,黑方的 K5。

    经典文献中的消歧与特殊习惯

    在代数记谱法中,每一步着法本身在数学上都是精确唯一的。而在描述记谱法中,着法往往需要结合棋盘局面才能被正确解读。阅读 19 世纪和 20 世纪的文献时,请留意以下常见惯例:

    马的记法:Kt 对比 N

    在 19 世纪和 20 世纪早期的书籍中(包括霍华德·斯汤顿(Howard Staunton)、伊曼纽尔·拉斯克(Emanuel Lasker)和何塞·劳尔·卡帕布兰卡(José Raúl Capablanca)的著作),马常被缩写为 Kt,以避免与王(K)发生视觉混淆。到了 20 世纪中叶,美国国际象棋出版物为了节省印刷分栏宽度,统一规范使用 N;而英国出版物则常常保留 Kt 一直沿用到 20 世纪 70 年代。两者指代的是完全相同的棋子:1. P-K4 P-K4 2. Kt-KB3 与 2. N-KB3(Nf3)完全相同。

    车和马的消歧

    在现代 SAN 中,当两个相同的棋子可以走到同一个目标格时,着法会指明出发直线或横线(例如 Rad1 或 R1e2)。而在描述记谱法中,棋子是通过其所在的棋盘侧翼来进行消歧的:

    • 王翼车与后翼车:如果白方的两只车分别位于 a1 和 h1,将 h1 车移至 e1 记作 KR-K1。将 a1 车移至 e1 则记作 QR-K1。
    • 马:从 b1 出动到 d2 的马记作 QN-Q2(或 QKt-Q2),以区别于位于 g1 的马(KN-Q2)。
    • 重叠棋子:如果两只车位于同一条直线上(例如分别在 e1 和 e4),移至 e2 的着法会带有横线限定说明:R(K1)-K2、R(1)-K2;如果另一只车无法合法移动,则简写为 R-K2。

    兵的吃子:PxP、BPxP 与 PxQP

    现代代数记谱法在记录兵吃子时总是指明出发直线和到达格(exd4、cxd4)。描述记谱法则频繁依赖于上下文压缩:

    • 如果整个棋盘上只有一种兵吃子的可能,谱面上只需简记为 PxP(“兵吃兵”)。
    • 如果有两个不同的兵可以吃子,谱面会指明是哪个兵吃子:BPxP(象前兵吃兵)或 KPxP(王前兵吃兵)。
    • 或者,谱面也可能会指明被吃的兵:PxQP(兵吃后前兵)。
    • 过路兵吃兵则通过在吃子着法后添加 e.p. 来表示:PxP e.p.

    王车易位与将军的记法

    • 王车易位:通常拼写为 Castles 或用 Castles (K) 表示王翼易位(O-O),用 Castles (Q) 或 Castles Q-side 表示后翼易位(O-O-O)。
    • 将军与杀王:将军用 ch、chk 或 + 表示。双将记作 dbl ch。杀王出现为 mate 或 checkmate。
    • 兵升变:在括号中注明升变的棋子或使用等号记录:P-K8(Q) 或 P-K8=Q。

    并排对比:意大利开局(Giuoco Piano)

    以下是意大利开局的开局着法在两种记谱系统中的对比:

       Descriptive (Classic)         Algebraic (Modern SAN)
    1. P-K4       P-K4            1. e4        e5
    2. Kt-KB3     Kt-QB3          2. Nf3       Nc6
    3. B-B4       B-B4            3. Bc4       Bc5
    4. P-B3       Kt-B3           4. c3        Nf6
    5. P-Q4       PxP             5. d4        exd4
    

    仔细考察这些着法可以清楚地看出描述记谱法对棋盘上下文的依赖程度:

    回合描述法现代 SAN着法含义与运作机制
    1P-K4 / P-K4e4 / e5白方将兵移至王4(e4);黑方将兵移至王4(e5)。
    2Kt-KB3 / Kt-QB3Nf3 / Nc6白方出动王翼马至 KB3(f3);黑方出动后翼马至 QB3(c6)。
    3B-B4 / B-B4Bc4 / Bc5白方出象至 KB4(c4 为白方的王翼象4);黑方出象至 KB4(c5 为黑方的王翼象4)。
    4P-B3 / Kt-B3c3 / Nf6白方将后翼象前兵推至 QB3(c3);黑方出动王翼马至 KB3(f6)。
    5P-Q4 / PxPd4 / exd4白方进兵冲击后4(d4);黑方 e 兵在 d4 吃子(exd4),记作 PxP。

    请注意第 3 回合:白方和黑方都记作 B-B4。要确定其对应的代数格子,必须从走子方的视角来看。白方的王翼象向前移动四道横线落在 c4。黑方的王翼象向前移动四道横线则落在 c5。有关现代代数记谱法的完整指南,请参见我们对记谱法详解的深入解析。

    为什么代数记谱法取代了描述记谱法

    代数记谱法之所以取代了描述记谱法,是因为它简洁、无歧义且通用:

    • 无需转换视角:无论轮到谁走,e4 就是 e4,彻底杜绝了计算错误。
    • 独立于语言:在图形代数记谱法中,棋子字母被通用的棋子图形符号取代(例如用 ♘ 代表马),使得跨越语言障碍阅读国际出版物成为可能。
    • 紧凑小巧:记谱单和赛事记录占用的纸面空间明显减少。
    • 软件与数据库兼容性:数字对局档案依赖便携式对局记谱法(PGN),这是一种完全建立在标准代数记谱法之上的开放标准。有关数字对局记录结构的详细信息,请参见 PGN 是什么。

    国际棋联在 20 世纪 70 年代末逐渐在国际赛事中淘汰了描述记谱法,并于 1981 年起在官方比赛中强制使用代数记谱法。

    我们的实测

    我们实测中的发现

    以下是 1858 年歌剧院对局(Opera Game)前五回合在两种系统下的记录。我们使用 python-chess 库检验了代数着法,并手工检查了描述法形式的歧义情况:

    回合描述法(经典)代数法(现代 SAN)
    1P-K4 P-K4e4 e5
    2N-KB3 P-Q3Nf3 d6
    3P-Q4 B-N5d4 Bg4
    4PxP BxNdxe5 Bxf3
    5QxB PxPQxf3 dxe5

    在描述记谱法中,双方棋手都从各自的一侧计算横线。黑方的 3...Bg4 被记录为 B-N5,因为 g4 是黑方的王翼马5(KN5)。此时黑方只有一只象能够到达 N5 格,因此无需额外标明直线字母。在对局后面的进程中,12.O-O-O 在两种系统中均记作 O-O-O。

    各国棋子字母与解析器错误

    《国际棋联国际象棋规则》(FIDE Laws of Chess)第 C.3 条允许棋手使用其本国常用的棋子名称记录着法(例如用 F 代表 fou,或用 L 代表 loper)。历史记谱单常常体现出这些国家特有的变体。

    采用德语记谱法的 1973 年 Hund 对阵 Finkenzeller 记谱单第 1 至 8 回合着法
    照片: GFHund, Wikimedia Commons, CC BY-SA 4.0.

    在 1973 年柏林跨年锦标赛(Berliner Silvesterturnier 1973)第 1 轮(Juliane Hund 对阵 Finkenzeller)的手写记谱单上,着法采用了德语记谱法记录:用 S 代表马,L 代表象,T 代表车,D 代表后,K 代表王,吃子在末尾用冒号标出(cd5:),王车易位记作 0-0。(我们尚未将此记谱单进行识别测试。)

    当我们将德语记谱法(1. c4 Sf6 2. Sc3 c6 ...)输入到 Lichess 分析棋盘(在未登录状态下测试)时,Lichess 报错失败:

    PGN error: Can't play c3 at move 2, ply 3

    Lichess 并没有在第 1 回合报错 Sf6;它是在第 2 回合才失败的。这表明它将 1...Sf6 误读成了走到 f6 的兵步,并将 2.Sc3 误读成了兵步 c3。因此,外语棋子字母可能会导致解析器在实际问题所在位置的后一着才发生报错。在粘贴之前,请将这些字母转换为英文(S→N、L→B、T→R、D→Q)。

    在我们公开的测试中,扫描器在一张真实手写记谱单上 45 步中有 43 步一次读对(3 张标准代数记谱单合计 143 步中 141 步,其中 2 张是打印的测试单);空白记谱单上没有编造任何着法。

    查看测试的每一步

    如何数字化并验证古老对局

    把旧描述记谱法书籍中的对局变成数字 PGN 文件,最快的办法是使用免费的描述记谱法转代数记谱法转换器:照书上印的样子输入着法,它会在棋盘上逐一确定每一步,写出代数记谱着法和 PGN,并在任何有两种可能的着法处停下。如果要手动转录,请遵循以下四步工作流:

    1. 在交互式棋盘上逐步回放:由于描述记谱法依赖上下文(例如确定 PxP 具体指哪种吃子,或判断 B-B4 究竟代表 Bc4 还是 Bc5),脱离棋盘仅凭心算转换着法极易出错。可以使用实体棋具,或在免费的棋盘编辑器中摆出初始局面,然后按顺序以代数格式逐步输入每一步着法。
    2. 直接扫描印刷局面图:许多经典书籍会在关键战术节点或残局时附有印刷的局面图。与其为了走到该局面而手动摆出几十步描述法着法,不如为印刷图拍一张清晰的照片或截图,上传至 ScanChess 棋盘扫描(或通过 ScanChess 主界面),即可瞬间生成该局面的 FEN。
    3. 使用验证器核实着法合法性:将转录好的代数着法输入到 PGN 文件或着法列表中后,将文本粘贴到 PGN 验证器中。验证器会从初始局面开始重新推演整盘对局,并在发生转录错误时精准标出出错的具体半回合(ply)——例如不慎将黑方的 P-K4 写成了 e4 而非 e5。
    4. 检查并归档:验证无误后,在 PGN 查看器中打开这份干净的对局,即可在交互式棋盘上复查着法或导出最终的 PGN。如果你先将转录内容记录在纸质赛事记谱单上,ScanChess 还可以通过拍照将手写的代数记谱单直接转录为数字 PGN 档案。

    相关:如何归档旧记谱单。

    本文用到的工具

    几秒内把你的记谱单变成 PGN

    上传一张照片,让 ScanChess 完成转录。

    开始扫描记谱单

    继续阅读