Number Duel 数学

井字棋为什么一定平局(附证明)

大家都知道井字棋双方都发挥好的话一定是平局。但为什么?这个证明出乎意料地优雅,而且教给你组合博弈论的一个通用原理:当一个游戏小到可以完全分析时,结果就确定了——没有"运气"或"创造力"的空间。

数字说话

井字棋的3×3棋盘有9个格子。可能的游戏总数:

这些数字小到计算机可以检查每一个状态。结果是确定的:双方最优策略下,一定是平局。

证明:逐情况分析

证明的核心是分析先手第一步的所有情况。去掉对称性后只有3种不同的开局:

  1. 中心 — 最强开局
  2. — 第二强
  3. — 最弱

情况1:先手下中心

后手有两种选择:角或边。

后手下角:先手下对角。之后双方互相封堵,所有变化都导向平局。

后手下边:先手下相邻角可以制造叉(fork)威胁。但后手识别并封堵叉后,仍然平局。

情况2:先手下角

后手最优应对是占中心。之后先手通常占对角,制造叉的威胁。但后手只要用(而不是角)来封堵,就能化解叉。

常见错误:后手跟着下角。这让先手在第三步占中心,在第5步形成无法封堵的叉。

情况3:先手下边

最弱的开局。后手占中心后,先手反而陷入被动。如果先手不够谨慎,后手甚至能反杀。

叉是核心概念

叉(fork)= 一步棋同时创造两条赢线,对手只能封堵一条。在井字棋中,叉就意味着赢。

井字棋一定平局的本质原因:棋盘太小,任何单方面的叉威胁都可以被预防性地封堵。

完整的博弈树

用现代计算机可以完全验证这个证明。极小化极大算法(minimax)评估每一个可能的状态:

  1. 从当前局面出发,考虑所有合法走法。
  2. 对每种走法,假设对手采取最优应对。
  3. 打分:赢 = +1,平 = 0,输 = -1。
  4. 选择保证最高分的手。

从空棋盘开始运行 minimax,返回值是 0(平局)

幻方联系

这就是 Number Duel 玩家会觉得有趣的部分。上面的证明直接适用于Fifteen Duel,因为 Fifteen Duel 在数学上和井字棋完全等价。

把1-9排成幻方,每条线的和都是15:

816
357
492

从1-9中选3个不同数字使和为15的组合恰好有8种,和井字棋的8条赢线一一对应。

"占中心"变成"选5","封堵叉"变成"选那个阻止对手同时拥有两组和为15的数字"。

为什么这超出了游戏本身

井字棋的证明是博弈论的入门案例:通过穷举分析求解游戏。四子棋已被证明先手必胜,西洋跳棋已被证明平局。国际象棋理论上也能解,只是状态空间太大(约10^120)。

相关内容

3×3幻方详解

Nim游戏与 Sprague-Grundy 定理

玩 Fifteen Duel

玩 Number Duel 全部模式