一、从巴士底狱到「天才」级
独立钻石棋最早见于 1697 年的法国文献,据传是巴士底狱里一位贵族囚徒在铁窗下消磨光阴的发明,随后风靡路易十四的宫廷。英语世界称它 Solitaire,它传入中国后得了个更有志向的名字——孔明棋。规则一句话就能说完:跳一格、吃一子,目标清盘到单子居中。但「天才」评级另有讲究:连跳计一步,1908 年前的玩家以为 23 步是极限,同年都丹尼做到 19 步,1912 年伯荷特(Ernest Bergholt)给出 18 步——1962 年剑桥的比斯利(J. D. Beasley)解析证明 18 步就是地板。1986 年上海举行征解大赛,女工万萍萍找到另一条 18 步路线;此后计算机查明:本质不同的 18 步解恰有两条(计步序共 936 种)。本页「演示天才解」按钮播放的就是引擎逐跳验证过的这条百年名局。
二、位置类:康威的 16 类判决书
《Winning Ways》(1982,第 23 章「Purging Pegs Properly」)里,康威与盖伊给棋盘装上了一把更深的尺子。给每个格子涂上 0/1 标号,要求任何共线连续三格中 1 的个数为偶数——这样的标号函数恰有 2⁴=16 个独立方向(本页引擎解线性方程组当场数给您看,见下图四把「尺子」)。任意走子吃掉两格、补回一格,标号和(模 2)纹丝不动,于是每个局面永远带着一个 4 比特的「户口」,称为位置类。单子居中在某一类;开局若不在同一类,未走一子就已注定失败。更妙的是 English 盘是「零类盘」(null-class):任一局面与它的补局面恰好同类——这正是中心空开局能够清盘的深层原因。对局盘右上角的四比特仪表,就是这台判决器的实时读数。
三、pagoda 函数:给棋盘称重的艺术
位置类回答「能不能」,pagoda 函数回答「够不够」。选定目标格,按 φ曼哈顿距离给每格标价(φ=(√5−1)/2,黄金分割的倒数,满足 φ²+φ=1)。一次向目标跳,两子换一子,恰好收支相抵(φn+φn−1=φn−2);横跳、远离跳只亏不赚。所以任何局面的总重是清盘难度的「封顶价」:总重小于目标格自身权重的局面,永远清不到那格上。对局盘仪表里的 pagoda 值以此实时结算——清盘需要 ≥ 1,低于 1 的局面可以直接放弃挣扎。
四、启发式清单:高手的六个习惯
①别养孤子:一步也跳不动的子只能靠别人来吃,孤子一多盘面就碎;②保持空洞连通:空洞是跳子的氧气,盘面一旦被割成孤岛,各岛内部无空位即窒息;③成片清扫:像 Bergholt 第 11 步那样一条线连跳六格,效率远高于零敲碎打;④区域轮作:把棋盘分成几个区,一区清干净再转场,避免全盘开花;⑤留意对称:对称局面留下对称余地,终局常常靠中心对称的三连跳收尾;⑥信不变量:走几步就瞄一眼位置类与 pagoda 值,类不符、值不足的挣扎都是白费力气。八关教程正是按这份清单逐关加码——第七关练清扫器,第八关练置换器。
五、清扫器与置换器:康威的解法工艺学
清扫器(sweep):同一颗子连续跳吃,一步吃掉 n 子称 n-清扫(n-sweep),首尾同格者称回环(n-loop)。「天才」评级的计步正是数清扫:31 次跳跃被连跳压缩成多少步。Bergholt 名局包含两个 5-清扫、一个 3-清扫与三个 2-清扫(见下图剖面)——1962 年 Beasley 证明 18 步是地板,靠的手法就是把跳跃尽可能串成清扫。第七关让您在名局中段亲手打出一记 5-清扫。
置换器(包裹—催化剂机制):康威在《Winning Ways》第 23 章给出的整套「预制件」工艺——把棋盘划成小区域,用 2~3 跳的短组合把一颗子置换/搬运进指定格、其余全部复原;负责往返的子叫催化剂(catalyst),被整区清空的叫清仓(purge),负责供给棋子的组合叫包裹(package)。常用的 2-包裹、3-清仓、6-清仓与 L-包裹可以像积木一样拼出整局:整盘清空 = 两个 3-清仓 + 三个 6-清仓 + 一个 L-包裹 + 收官一跳。第八关让您亲手完成一次 L-包裹置换——3 步 4 跳,净效果恰是整个 L 区「补」一遍(见下图)。(按:sweep/package/purge/catalyst 为原书术语,「清扫器/置换器」为本页中译;「置换器」概括的是包裹—催化剂的置换机制。)
六、盘外的遗产
这枚小棋盘盘活了一大块数学:位置类是模 2 线性不变量的教科书案例,与十五格滑块的奇偶判决一脉相承;pagoda 函数开创了「给组合博弈称重」的通用手法,在纽结理论里的 Conway 多项式、生命游戏的不可能构造中都能听到它的回声;「康威之兵」的证明甚至被搬进了 Isabelle 定理证明器做形式化。一个贵族囚徒排遣寂寞的玩具,最终成了不变量方法的名片——数学最动人的剧本,不过如此。