‹ 数学游戏工坊合集
九章格数学 · 组合博弈工坊

毒巧克力

左上角是毒块:点一格,吃掉它和右下方整块;被迫吞下毒块的人输。你执先手,对手是完美 AI。
棋盘
5×5
难度
三级
判据
策略偷取

⚔️ 毒巧克力对决

一块 巧克力,左上角那块是毒块(☠)。轮流出手:点一格,就把它连同右下方整块都吃掉。 只剩毒块时,轮到你的人只能把它吞下去——吃了毒块的人输。你执先手,对手是完美 AI(记忆化胜负表精确求解)。
5×5 毒巧克力 · 你(先手) vs 完美 AI
对局状态⚓ 摆盘中
轮到谁—
棋盘5×5
剩余格数—
你的战绩0 胜 / 0 负
提示:Chomp 里先手必胜(面积>1 的棋盘都赢),但必胜策略并不平凡——一步走错,完美 AI 就再不会给你机会。

🛠️ 造局工坊 · 我是庄家

自己摆一块 m×n 的毒巧克力(2 ≤ m,n ≤ 7),点「完美求解」,看看先手是胜是负、 以及全部必胜首着(点着法可在棋盘上预览结果)。
行数 m5
列数 n5
预览:5×5
先手结局
—
设好 m、n 后点「完美求解」
全部先手必胜首着(点一下在左边预览)
— 尚无 —
诚实声明:一般 m×n 棋盘上「第一步该吃哪格」至今没有已知公式——这是 Chomp 里著名的开放问题。 策略偷取只证明了「先手必胜」,却不会告诉你必胜着法。本馆的求解器用记忆化搜索,能把 m,n ≤ 7 的全部必胜首着精确算出来。
算法自检(实时真跑)

📖 毒巧克力的传说

1974 年的一篇小论文、一个「偷策略」的漂亮论证,和一块至今没人能一口咬对的巧克力。

🍫 一局游戏、一个证明、一个谜

Chomp 由美国数学家 David Gale 在 1974 年提出,论文标题就叫《A curious Nim-type game》 (《一个奇怪的 Nim 型游戏》),发表于 American Mathematical Monthly 第 81 卷 876–879 页。 规则简单到一句话:巧克力左上角是毒块,每次咬掉一格连同其右下方所有格子,吃到毒块者输。

Gale 用策略偷取证明了:只要巧克力不止一格,先手必胜。可奇怪的是,这个证明 不会告诉你第一步该吃哪格——它只告诉你「一定存在」。于是 Chomp 成了数学里 罕见的组合:一个连胜负都定死了的游戏,却把「怎么赢」藏成了谜。

🕵️ 策略偷取:先手为什么必胜

反证法。假设后手有必胜策略。先手第一步只咬掉右上角那一小块(它右下方没有别的格子,等于只吃掉自己一块)。

如果这一步之后,局面已经对后手不利,那先手就赢了;否则后手在这个「少了一块」的盘面上必有制胜招 M。 关键在于:M 在先手最初的全盘上同样合法——多出来的格子只会让行动方多些选择,绝不会让行动的一方变差。

于是先手干脆第一步就走 M(若 M 恰好要吃掉已被啃掉的那格,就换成别的、更不吃亏)。这样一来, 先手等于「偷」走了后手假想中的必胜策略,矛盾。所以后手必胜的假设不成立,先手必胜。

🔷 与 Hex 的孪生证明

同样的「策略偷取」把戏,更早被用来解决 Hex(六连棋):Hex 由丹麦人 Piet Hein 于 1942 年、 数学家 John Nash 于 1947 年前后各自独立发明,棋盘上不可能出现平局,于是策略偷取立刻给出结论—— 先手必胜。1979 年 Gale 还发表论文,把 Hex 与拓扑里的 Brouwer 不动点定理联系起来。

Chomp、Hex 这两个「先手必胜却不知怎么赢」的游戏,共享同一颗数学心脏:当你假设对手有必胜策略时, 先手可以用「多走一步不吃亏」把它偷过来——矛盾。这类论证统称 strategy stealing(策略偷取)。

❓ 首着之谜:四十年悬而未决

策略偷取是非构造性的,所以「先手必胜」既不给首着、也不给策略。人们只对少数棋盘完全弄清了答案:

1×n(单行):先手咬掉除毒块外全部,留下毒块 → 必胜 m×n(一般矩形):必胜着法无已知公式(开放问题) 本馆实测(2 ≤ m,n ≤ 7):每块棋盘恰有唯一一个必胜首着 5×5 → 第 2 行第 2 列 7×6 → 第 5 行第 5 列 2×7 → 第 2 行第 7 列

1990 年代以后,随着计算机与高效搜索的发展,人们能对越来越大的具体棋盘做穷举求解 (本馆造局器就实时算出了 7×7 以内每块棋盘的唯一必胜首着)。但把「一堆个案」升格成「一般公式」的努力, 至今没有成功——首着之谜仍在。

🧩 藏在偏序里的游戏

把巧克力看成一张「偏序图形」:每格被它左上方的格子支配,一着吃掉一个「上闭集」。这类游戏叫 poset game(偏序博弈),Chomp、Nim、以及著名的「拿石子」都能装进这个框架。策略偷取的适用性, 也正来自偏序结构「多走一步不吃亏」的单调性。

也正因如此,Chomp 常被当作组合博弈论(combinatorial game theory)的入门范例:规则最短, 却同时握着「必胜」与「不知怎么赢」这两种极端。

🎂 一口巧克力的遗产

Gale 一生喜欢用这种「小游戏」讲大道理。他还留下一个更著名的开放问题雏形:Chomp 的一般解。

今天,Chomp 出现在无数算法课、博弈论教材和编程竞赛里——它既是「记忆化搜索」的练兵场, 也是提醒我们:「存在」与「构造」之间,隔着一段真实的距离。