‹ 返回工坊合集
数学游戏工坊 · 豆芽棋 Sprouts 篇
| 九章格数学 PhiloMath
豆芽棋圃
· Sprouts
一点三命,一笔生芽;线不许交叉,笔落不下者负。
工坊站点
第 16 站
豆芽数 n
—
已画曲线
—
剩余命数
—
本局上限
—
🌱
开局
🔍
分析
📖
规则与数学
🌱 豆芽棋圃
点一个点,再点一个点,棋圃就替您把这笔线画好(走哪个面、绕行的细处由棋圃最优安排)——您要决定的是
连哪两点
。
—
—
—
—
您的笔
棋圃的笔
开局点
制胜笔(棋圃取胜的最后一笔)
触屏:直接点两个芽点即可连笔
↻ 重开本局
↶ 悔一步
💡 提示
下一关 →
本关说明
开局豆芽
—
胜负规则
—
交接后已画
—
您这边的局面
—
着法记录
还没有落笔。
🔍 局面分析
把当前局面交给引擎做完整搜索:谁必赢、还能撑多久、有没有更好的连法。
裁决
轮到
—
轮到方是否必胜
—
最长剩余手数
—
可行着法(去重后)
—
已搜索局面数
—
▶ 完整裁决本局面
总步数界(Conway 1967)
从 n 个点出发的任意一局,总步数 m 满足
2n ≤ m ≤ 3n−1
。
本局 n
—
下界 2n
—
上界 3n−1
—
着法谱(本局面)
切到本页自动列出。
提示
点上面的「提示」按钮或这里,棋圃会把一条制胜连法的两个端点圈成红色。
💡 给我一个制胜连法
📖 规则与数学
Sprouts(豆芽棋)1967 年由 Michael Stewart Paterson 与 John Conway 提出,同年由 Martin Gardner 在《Scientific American》介绍给大众。
规则
开局有 n 个
点
,每点有
3 条命
。
每步画一条曲线,把两个点连起来(可以连同一个点,成环)。
线上自动生出
一颗新芽
(新点),新点只有
1 条命
。
曲线两端各耗所在点
1 条命
;两端同点(自环)则耗
2 条命
。
曲线不许自交、不许与已有曲线交叉、不许穿过任何点。
无命可用的点不能再连。画不出线的一方输。
普通规则
:画最后一笔者胜。
末手为负
(misère):画最后一笔者负。
为什么线上必有新点
曲线把所在的那个
面
切开,新点就落在切口上;切开之后这个点的两条新命指向两侧,恰好只有 1 条能继续用——所以新生点永远只有
1 条命
。
总步数界
每步总命数净减 1:新点 +1 命,两端 −2 命。开局共 3n 命,末局每点至少留 1 命(否则那一步还能再画),故
2n ≤ m ≤ 3n−1
。n=2 时恰为 4 或 5 步,本工坊引擎已穷举复核。
谁先手必胜
n = 1
先手负
n = 2
先手负
n = 3
先手胜
(Conway 1964)
n = 4, 5
先手胜
(Mollison)
n = 11
先手胜
(Applegate–Jacobson–Sleator 计算机证)
一般猜想(至今未证):先手必胜 ⟺
n ≡ 3, 4, 5 (mod 6)
;其余 n ≡ 0, 1, 2 时后手必胜。
本工坊算了什么
n=1、n=2 的
全部局面
(n=2 共 1915 个有标签状态)在本机穷举,普通与末手为负两种规则一并算出。
n=3 只做
残局直接搜索
(最多 4 手的收束局),逐局面给出精确胜负。
曲线的走面、绕行细处由棋圃最优安排;您要决定的是
连哪两点
。