豆芽游戏 (Sprouts)
一定会结束吗?
了解游戏规则后,也许有人会想:这个游戏一定会结束吗?会不会有一个可以一直加线的图呢?别耽心,康威告诉你这个游戏一定会在你加上第3n–1条线时,或在那之前结束:
游戏规则告诉你,每个点都有三条“命”,也就是说,每个点都可以接出三条线。当一个点把它的三条命都用光,即接了三条线时,便“死”了,你再也不可以把其他线加到这个点上。因此,若游戏开始时纸上有n个点,则纸上存在3n条命。然后你每加上一条线,就用掉两条命(线有两端,各用一条命),但你又在线上画上一个新点,添了一条命。总体来看,就是每次都让这个游戏少一条命。
当游戏进行到最后剩下一条命时,就无法再加线,游戏也就结束了。因此这个游戏最多只能加上3n–1条线。
如果游戏结束时的图为G0,则图裡所有点的秩,最小为2,最大为3。若是图中有一点的秩为1,则游戏仍可继续,因为可以在该点上画一个圈由自己连到自己,所以G0中所有点的秩至少都是2;而秩最大为3是因为每个点只有3条命。
我们可以再将G0变成图G——其中所有点的秩都是3:
假设x是一个秩为2的点,y是x的邻居之一,于是我们拿走x,将原本与x相连的两条边接成一条,并将这条边及y点涂成红色,纪录x的位置。
连通的平面图有一个特性:图中的点数与面数之和恰等于边数加2。这就是所谓的尤拉公式:V + F = E + 2
其中V代表点的个数,F代表面的个数,而E是边数。
让我们看看几个例子:
有了这些资讯,我们便可以得到下面这个结论:
引理:
假设游戏开始时有m个点,游戏玩了p次(加上3p条线)后结束,结束时的图为G0。若G (G0)为一连通图,则f = 2+ p–m,其中f是G0的面数。
我们注意到,G中任一个面都一定只有一条红色的边,否则的话,表示在G0中,这个面裡有两个秩为2的点,如:
所以还可以加一条线连接这两点,与游戏已结束的假设矛盾。因此,红边的个数一定会小于或等于面的个数,若f为面的个数则f
r。若G不为一连通图,我们可以将G分成若干连通部分(connectedcomponent)来讨论,情形类似。因此我们只讨论G为一连通图之情形。
若G为一连通图,由引理我们知道f = 2 + p–m,且 r = 3m–p,于是
游戏是否可以在玩了2m–1次(p =2m – 1)之后就结束呢?假设p =2m–1,由引理知:
f = 2 + p – m
= 2+ (2m – 1) – m
= m+ 1
r = 3m – p
=3m – (2m – 1)
= m+ 1
得到 f = r,这表示每一个面都有一条红边,且不和其他面共用(否则f > r)。然而,因为G中每个点的秩皆为3,那麽G中至少存在一个迴圈 (Why?)。如果G中有迴圈,则看最小的迴圈,它会是一个封闭曲线,将平面分成圈内与圈外,如下图中包围黄面的迴圈:
所以这个迴圈上的边一定是两个面的交界,也就是说,迴圈内的面一定得和其他面共用红边,与f = r矛盾。
因此,一个开始时有m点的游戏,至少要玩2m次才会结束,至多玩3m-1次就会结束。所以一个开始有3点的游戏,至少要玩6次才可能结束,且最多只能玩9次就会结束。