棋类游戏
井字棋棋类入门博弈论

井字棋(三连棋)为什么一定有最优解:先手不败与极小化极大

2026/10/140 次浏览元游棋牌

3×3 的井字棋是最小的博弈论样本:双方都走最优,结果一定是平局,而这条结论可以被完整证明。

井字棋(Tic-tac-toe,也叫三连棋、圈叉棋)常被认为是「小孩玩的游戏」。但它其实是博弈论最好的入门教材——它的全部可能局面可以被穷举,完美策略可以被完整写出来,而「双方都下最优必然平局」这个结论是可以严格证明的。

一、规则与状态空间

两人轮流在 3×3 的格子里落子,一方画「○」,一方画「×」,先在横、竖、斜任意一条线上连成三个者获胜。

理论上,九个格子的状态组合是 3⁹ = 19683 种(每格可以是空、○、×)。扣除不可能出现的状态后,合法局面约 5478 个,再加上对称性(旋转与镜像等价)去重,真正需要考虑的局面只有几百个。

这个规模小到可以被完整遍历——这也是井字棋能被「解出来」的根本原因。

二、先手的第一步:角、中心与边

先手第一手只有三类本质不同的选择:角、中心、边。

  • 下中心:中心格参与 4 条线(横、竖、两条斜),是控制力最强的一格,也是最优开局。
  • 下角:角格参与 3 条线,仅次于中心。
  • 下边:边格只参与 2 条线,是最弱的选择。

如果先手第一手下边,后手只要应中心,就能逼出优势;因此在完美对局里,先手不会选边。

三、先手的最优策略骨架

先手走中心后,后手只有两种本质不同的应手:角或边。

后手应角是相对顽强的走法。此时先手应当下对面的角(与后手所下的角成对角),制造「双威胁」的机会。后手被迫防守,随后先手继续制造叉子(fork)——即同时形成两条只差一子的连线,让对手只能堵一条。

后手应边则是明显的软手。先手可以直接占据一个角,随后通过制造叉子取得必胜。

四、什么是「叉子」(Fork)

叉子是整个井字棋战术的核心概念:一手棋同时形成两条「再下一子就成三」的线。因为对手一手只能堵一条,叉子一旦形成,下一手必胜。

识别叉子的方法很简单:落子后检查自己有多少条线是「两子 + 一空」。如果 ≥ 2,且这两条线的空格不重合,那就是叉子。

反过来,防守的核心就是防止对手形成叉子。很多时候正确的防守不是堵对手已经成两子的那条线,而是抢先占住一个能让对手无法形成叉子的格子——通常是角。

五、为什么「双方最优 = 平局」

证明的思路是构造性的:

  1. 先手走中心(最强开局)。
  2. 后手走角(唯一不失利的应手)。
  3. 先手走对角。
  4. 后手必须堵住先手的威胁。
  5. 此后先手无论怎么尝试制造叉子,后手都有一手可以同时化解。

这条主线走完之后,剩下的格子填完即平局。也就是说:先手没有必胜,后手也没有必胜,完美对局的结果是平局。

一个有趣的推论是:井字棋里「赢」只可能来自对手的失误。新手之所以经常下输,是因为他们只盯着眼前的两连,看不到对手下一手能形成叉子的那个角。

六、极小化极大(Minimax)思想

井字棋也是理解极小化极大算法的最佳例子。这个算法的思路是:

  • 给终局打分:赢 = +10,平 = 0,输 = −10(并把步数计入,越快赢分数越高)。
  • 从终局往回推:轮到自己时选分数最高的走法(最大化);轮到对手时假设对手会选对自己最不利的走法(最小化)。
  • 递归到根节点,得到的就是当前局面下的最优手。

这个「假设对手也会走最优」的假设,正是博弈论里纳什均衡思想的雏形。今天所有棋类 AI 的核心逻辑,都可以追溯到这个简单模型。

七、变体:把 3×3 放大就不一样了

一旦把棋盘放大,结论立刻失效:

  • 4×4 三连棋:先手必胜。
  • 五子棋(15×15,无禁手):先手有必胜策略,这正是为什么职业连珠规则要给黑棋加禁手。
  • 3D 井字棋(4×4×4):先手必胜,状态空间已经大到需要计算机求解。

所以井字棋的「平局」其实是一个巧合——刚好在 3×3 这个尺寸上,双方的攻守力量达到了平衡。棋类游戏的规则设计,很多时候就是在寻找这种平衡点。

返回棋类游戏
井字棋,棋类入门,博弈论

相关推荐