经纬世界游戏 · 打开即玩
六角棋棋盘与棋子插画

现代策略棋

六角棋

用不可撤回的落子连接自己的两条对边;进攻与切断对手在这里是同一件事。

THE WORLD AT PLAY · PLATE NO.16 / 38

怎样算赢把自己那两条对边用一条连续的同色棋子链连起来就获胜:蓝方连上下,朱红方连左右。Hex 不存在和棋,棋盘填满之前必定有一方连通。

棋种小传

它从哪里来,为什么长成今天这个样子。

设计Piet Hein · 1942 年丹麦 · 1948 年 John Nash 独立再发明

被发明了两次

1942 年,丹麦诗人兼数学家 Piet Hein 在《政治报》上以 Polygon 之名发表了这款棋。六年后的 1948 年,普林斯顿的 John Nash 完全不知情地独立想出了同一个游戏;普林斯顿的学生管它叫 Nash,也叫 John——因为大家常在公共浴室的六角地砖上比划。1952 年 Parker Brothers 以 Hex 的商品名出版,这才成了通用称呼。

它不可能和棋,这是一条定理

Hex 最漂亮的性质是:棋盘填满时,必定恰好有一方连通。这不是规则规定的,而是可以证明的——两条方向相反的通路在平面上无法互不相交。这个结论被称为 Hex 定理,并且已被证明与拓扑学里的 Brouwer 不动点定理等价。一款棋的胜负性质等价于一条不动点定理,这在博弈史上是独一份。

先手必胜,但没人知道怎么赢

Nash 用「策略窃取」论证给出了一个近乎魔术的结果:假设后手有必胜策略,那么先手可以先随便下一子,然后照抄后手的策略——多出来的那一子在 Hex 里绝不会碍事,于是先手也必胜,矛盾。所以先手必胜。但这个论证完全不构造策略:它证明了赢法存在,却一步也没告诉你怎么走。到今天,一般尺寸棋盘上的必胜下法仍然未知。

交换规则:为一条定理打的补丁

既然先手理论上必胜,Hex 就必须补偿。它的解法极其简洁:后手可以选择「交换」,直接接管对方刚下的那一子连同它的颜色。于是先手不敢下太强的第一手——下得太好会被抢走,下得太差又自己吃亏。一条规则把「必胜」变成了「必须自己拿捏分寸」。这套 pie rule 后来被大量现代抽象棋借用。

  • Piet Hein 还是「超椭圆」的提出者与 Grook 短诗的作者;Hex 只是他众多身份里的一项。
  • 在 Hex 里进攻和防守是同一件事:切断对手的唯一办法就是自己先连通,所以纯防守的手几乎总是坏手。
  • 「桥」是 Hex 的基础语汇:两枚同色棋隔着两个共同空邻格,对手占一个你就补另一个,因此它们已经算连上了。

完整规则

先把一回合能做什么、怎样获胜弄清楚。

棋盘
7/9/11 路菱形(默认 9)
蓝方
先手,连接上下两边
朱红方
后手,连接左右两边
  1. 胜负条件蓝方要用互相相邻的蓝棋连成一条从最上一行通到最下一行的路径,朱红方要连成一条从最左一列通到最右一列的路径。先连通的一方立即获胜,路径不必是直线,也不必最短。
  2. 行棋方式双方轮流在任意一个空的六角格里放一枚己方棋子。棋子不会移动、翻转或被吃掉,每落一手立即判定一次胜负;只要棋盘上还有空格就必须落子,不能停手。
  3. 每格有六个邻格左、右、左上、右上、左下、右下。因为行与行错开半格,屏幕上正上方和正下方的格子并不相邻。用坐标表示,(行, 列)的邻居是(行, 列−1)、(行, 列+1)、(行−1, 列)、(行−1, 列+1)、(行+1, 列−1)、(行+1, 列)。
  4. 交换规则(swap)只在第一手落下之后、后手还没落子时可以使用一次:使用者接管盘上那枚棋子连同它的颜色和连接方向,对手改执另一色并立刻落子。棋子留在原处,既不移动也不镜像。这条规则的作用是抵消先手优势——先手不敢下太强的第一手,否则会被直接接管。
  5. Hex 没有和棋。四个角格同时属于两条边,占住它的一方按自己的方向使用它。
  6. 棋盘尺寸可以在设置里切换 7、9、11 路,切换会立即开始新对局。棋盘越大,先手优势越需要靠交换规则来抵消。

第一次这样下

按这个顺序思考,很快就能完成一盘。

  1. 先确认自己的颜色和目标边蓝连上下,朱红连左右,棋盘四周有色条提示。新手最常见的问题是只顾堵对手,忘了同一手也应该让自己前进——在 Hex 里这两件事本来就该合并成一件。
  2. 桥(bridge)是最重要的连接形状两枚同色棋之间隔着两个共同的空邻格,对手占掉其中一个你就补另一个,因此它们已经算是连上了。坐标上,(行, 列)与(行−2, 列+1)、(行+2, 列−1)构成上下方向的桥(蓝方用),与(行−1, 列+2)、(行+1, 列−2)构成左右方向的桥(朱红方用)。
  3. 用桥铺路的速度是逐格紧贴的两倍,安全性完全相同:对手每次拆桥你就补另一只桥脚,这条链断不了。学会看桥,是从新手到入门的分水岭。
  4. 边缘模板能省一手蓝棋落在第二行时,只要通往上边的两个邻格(行−1, 列)和(行−1, 列+1)都还空着,它其实已经安全连到上边,不必再补一手;靠下边时对应的是(行+1, 列−1)和(行+1, 列)。朱红方把行列互换理解。
  5. 先手第一步一般落在中央附近;后手要判断是否交换对方首手落在中央这类强点就交换接管,落在角上或贴边则自己另下一手更好。判断标准很简单——如果换成你会想下在那里,就交换。
  6. 每手落子前先做一次「距离比较」数一数自己还差几手能连通,对手还差几手。领先就继续加固自己最薄的一段,落后就必须去对手路线最窄的地方硬挤,而不是在自己这边慢慢补。

实战策略

从会走升级到有计划地走。

  • 把局面看成「离连通还差几手」,优先走能同时缩短自己距离、拉长对手距离的点。本站的 AI 用的也是基于连接距离的蒙特卡洛树搜索,思路完全一致。
  • 不要在对手厚实的地方硬堵,去补自己路线上最薄的一段。这是 Hex 最反直觉也最重要的一条:自己连通的那一刻,对手的路线自动被切断,你从来不需要「专门去防守」。
  • 用桥和虚连接覆盖更大的空间,保留多个修补点。实心窄链虽然断不了,却浪费手数,还容易被对手从侧面整体绕开——宽而虚的连接比窄而实的连接强。
  • 对手拆桥时立刻补另一只桥脚,不要拖。拆桥那一手对他自己往往没有增益,你补完之后仍然握着主动权;但如果你不补就去别处,那枚桥就真的断了。
  • 中央的格子对双方都有价值,因为它同时缩短两条方向的路径。开局争夺中央、中局向自己的两条边扩散,是最通用的行棋顺序。
  • 残局要精确算Hex 的胜负判定是全局连通,所以到后期一定存在一条唯一的关键格。找到那个「双方都必须占」的格子并抢先落下,通常就直接结束了对局。

胜负与特殊规则

容易漏掉、但会直接改变结果的细节。

  • 交换规则只开放一次,界面会在这一手出现「交换方向」按钮。使用之后双方颜色与目标边互换,首子留在原位,由被交换的一方继续落子。
  • 两条方向相反的通路无法在平面六角网格上互不相交,这就是 Hex 必有胜者的直观原因;棋盘填满时必定恰好有一方连通,因此规则里根本不需要写和棋条款。
  • AI 也把交换当成一个候选着法来估值,所以它在后手时会认真判断该不该换,不是随机决定的。
  • 棋盘尺寸 7、9、11 在设置里切换,改动会立即开始新对局;已经保存的难度设置不受影响。

常见失误

新手最容易掉进去的几个坑。

  • 用方格棋盘的直觉判断相邻,把(行−1, 列−1)或(行+1, 列+1)当成邻格。它们在六角网格上并不相邻,按这个理解算出来的连接全是错的。
  • 每一步都紧贴上一枚棋,走出又慢又窄的实链。同样的手数用桥可以走出两倍的距离。
  • 只想着堵对手,落下一串对自己的连接毫无贡献的棋。在 Hex 里纯防守的手几乎总是坏手。
  • 对手一拆桥就慌,跑去别的地方补强,结果桥真的断了。桥的价值恰恰在于「被拆时补另一边」这个约定,放弃补就等于从来没有过这座桥。
  • 只顾着往前推进,没注意自己那条线在贴边时其实还差一手;边缘模板要数清空格,不能想当然。

与 AI 下一盘六角棋,现在就开局

立即开局