單人彩球遊戲
徐祥峻 · 郭君逸
一、 介紹
單人彩球遊戲的玩法如下: 先將黑、 白、 灰三種顏色的彩球共 n 顆排成第一列, 稱為此遊 戲的 「題目」。 接下來對每一列重複以下的操作: 在第 k 列的下方擺放第 k + 1 列, 使得第 k + 1 列的每顆球均位於第 k 列的相鄰兩顆球之間的正下方 (因此第 k + 1 列會比第 k 列少一顆球), 而且第 k + 1 列每顆彩球顏色的擺放規則為
若上方相鄰兩球同色, 則下方就擺放相同顏色的球;
若上方相鄰兩球異色, 則下方就擺放第三種顏色的球。
依此規則擺放彩球直到第 n 列為止, 此時第 n 列只剩一顆球, 我們將這顆球的顏色稱為此題的
「解」。
例如:
兩異色球下方放 兩同色球下方放
第三種顏色的球 相同顏色的球
若第一列放的五顆球如下:
則第二列按照規則為
一直放到第五列
此時發現, 最後一顆球是 「灰色」, 我們就稱此題的解為 「灰色」。
39
游森棚教授 [1] 在 2015 年科學月刊中有提到此遊戲, 而九九文教基金會在 2017 年舉辦 的茱莉亞羅賓遜數學園遊會 (Julia Robinson Mathematics Festival, JRMF) 中 [2, 3] 也有 出現此遊戲, 讓學生透過實際動手操作的方式來找出此遊戲解的規律。 後來也有科展作品 [4, 5]
討論此遊戲解的規律, 不過都是在某些特定的情況下才能有較容易的方式來找出此遊戲解, 或 者是經由較複雜的遞迴型式來求解, 但求解所花的時間不如直接擺放彩球來的快。 本文將提供 一種方式可以較快地計算出一般的遊戲解, 進而得到一些特別的性質與推廣。
二、 建立數學模型
若想要直接求出此遊戲的一般解, 而不想要一顆一顆地慢慢擺放彩球來求解的話, 首要步 驟, 就是要將彩球顏色的擺放規則 (第一節第一段中的標楷體文字敘述) 做數學建模。 若能有較 簡單的數學建模, 則就能有較容易的方式得到此遊戲的一般解。
為了能夠 「計算」 顏色, 我們將彩球的顏色以數字標號取代: 黑球的標號為 0, 白球的標號 為 1, 灰球的標號為 2。 接下來我們便把彩球的顏色都直接以其標號取代。 我們先來看看彩球顏 色的擺放規則以標號表示時有什麼特性。 設某一列相鄰兩彩球的標號依序為 x 和 y, 而它們下 方彩球的標號為 z。 由彩球顏色的擺放規則可知 x, y, z 三數可能情形有: 全為 0; 全為 1; 全為 2; 或 0, 1, 2 各出現一次。 因此有 x + y + z = 0 或 3 或 6, 故 x + y + z 必為 3 的倍數。 由 此特性, 我們便將彩球的標號 0, 1, 2 視為 Z3 中的元素, 並利用 mod 3 的運算來簡化 x, y, z 的關係式可得 x+ y + z ≡ 0 (mod 3)。 所以 z ≡ −(x + y) (mod 3), 也就是下方彩球的 標號為上方相鄰兩彩球標號相加後變號再 mod 3。 接下來文中的計算均為在 Z3 中的運算, 即 mod 3。 例如: 兩白球下方的彩球標號為 「−(1 + 1) ≡ 1 (mod 3)」, 即白色; 黑灰兩球下方的 彩球標號為 「−(0 + 2) ≡ 1 (mod 3)」, 即白色。
總和為 3 總和為 3 總和為 6 總和為 3
將彩球顏色的擺放規則, 巧妙地轉換成數學運算後, 接下來就可以假設變數, 並推導出其 通解了。 以第一列擺放五顆球為例, 假設其標號依序為 「a, b, c, d, e」, 則第二列應為 「−(a + b), −(b + c), −(c + d), −(d + e)」, 第三列應為 「(a + 2b + c), (b + 2c + d), (c + 2d + e)」, 第 四列為 「−(a + 3b + 3c + d), −(b + 3c + 3d + e)」, 而最後的解答為 「a + 4b + 6c + 4d + e」
a+ 4b + 6c + 4d + e
由上面的例子我們可以觀察到: 若將某列彩球的標號表示成第一列變數的線性組合, 則其 係數都是二項式係數。 為了明確寫出下面的定理, 我們將第 i 列第 j 球的標號令為 ai,j ∈ Z3, 其中 i = 1, 2, . . . , n, j = 1, 2, . . . , n + 1 − i, 則彩球顏色的擺放規則為 ai,j ≡ −(ai−1,j + ai−1,j+1) (在 Z3 中的運算)。
則每顆球的標號 ai,j 皆可以用第一列的球的標號來表示:
定理 1. ai,j ≡(−1)i−1
i−1
X
k=0
i − 1 k
a1,j+k(mod 3).
證明: 對 i 做數學歸納法。
當 i = 1 時, 右式只有在 k = 0 時有值, 所以 (−1)1−11 − 1 0
a1,j+0≡ a1,j, 成立。
當 i > 1 時
ai,j ≡ −(ai−1,j + ai−1,j+1)
≡ −
(−1)i−2
i−2
X
k=0
i − 2 k
a1,j+k+ (−1)i−2
i−2
X
k=0
i − 2 k
a1,j+k+1
≡ −
(−1)i−2
i−2
X
k=0
i − 2 k
a1,j+k+ (−1)i−2
i−1
X
k=1
i − 2 k−1
a1,j+k
≡ − (−1)i−2
i−1
X
k=0
i − 2 k
+ i − 2 k−1
a1,j+k
!
≡(−1)i−1
i−1
X
k=0
i − 1 k
a1,j+k.
此定理比較直覺的想法, 就是把 ai,j 寫成 a1,x 的線性組合時, 其係數就是由第 1 列第 x 球, 每步可往左下或右下歨, 最後走到第 i 列第 j 球的方法數, 再多乘個正負號, 亦即
ai,j ≡(−1)i−1X
x
( 由第 1 列第 x 球走到第 i 列第 j 球的方法數 )a1,x.
接下來我們來看個例子 :
例 2. 假設第一列依序放了 「101112022011」。 請問第 6 列第 4 球標號 a6,4 為何 ?
僅須看此三角形 內的球即可。
根據定理 1 得 a6,4 ≡(−1)5( 1 × 1 + 5 × 1 + 10 × 2 + 10 × 0 + 5 × 2 + 1 × 2), 所以 a6,4 ≡ −38 ≡ 1, 為白色球。
事實上, 我們可以用餘式定理, 先把係數 mod 3, 再計算, 會快一些。
a6,4≡(−1)5( 1 × 1 + 2 × 1 + 1 × 2 + 1 × 0 + 2 × 2 + 1 × 2) ≡ −2 ≡ 1.
數論中有個盧卡斯定理, 是這樣講的:
定理[Lucas, 1878]: 假設 p 為質數, 且非負整數 m, n 的 p 進位表示法分別為 (· · · mkmk−1· · · m1m0)p 與 (· · · nknk−1· · · n1n0)p, 則
m n
≡Y
k≥0
mk
nk
(mod p).
根據盧卡斯定理, 我們可以推知, 若有任何一個 nk > mk, 則 mn 必為 p 的倍數。 也因 此, 我們可以用此性質來快速計算出某些彩球遊戲的解:
推論 3. 當 i = 3t+ 1 時, 其中 t ∈ N, 則 ai,j ≡ −(a1,j+ a1,i+j−1)。
證明: 此時 i − 1 的三進位表示法為 (1000 · · · 00)3 (即 1 後面有 t 個 0), 根據盧卡斯定理, 只要 k 不等於 (100 · · · 00)3 與 (00 · · · 00)3, 則 i−1k ≡ 0, 又 i − 1 必為奇數, 因此定理 1 中的
ai,j ≡(−1)i−1
i−1
X
k=0
i − 1 k
a1,j+k ≡ −(a1,j+ a1,i+j−1).
我們再來看個例子 :
例 4. 與例 2 相同, 第一列依序放了 「101112022011」。 請問第 4 列第 5 球標號 a4,5 為何 ? 請問第 10 列第 2 球標號 a10,2 為何 ?
僅須看此三角形 內的球即可。
本來 a4,5 ≡ (−1)3(1 × 1 + 3 × 2 + 3 × 0 + 1 × 2) ≡ 0 為黑色。 但由推論 3 知, 中間的係數必為 3 的倍數, 故只需計算頭尾即可, a4,5 ≡ −(1 + 2) ≡ 0。 同樣的, a10,2 ≡
−(a1,2+ a1,11) ≡ −(0 + 1) ≡ 2 為灰色。
僅利用 a1,2 與 a1,11
即可求出 a10,2。
定理 5. 當 i = s · 3t+ 1 時, 其中 s, t ∈ N, 則 ai,j ≡(−1)s
s
X
k=0
s k
a1,k·3t+j.
本定理一樣利用數學歸納法即可證明, 我們省略繁冗的過程, 直接看下面的例子:
例 6. 假設第一列依序放了 「1021120220101」。 請問第 13 列第 1 球標號 a13,1 為何 ? 因為 13 = 4 × 31+ 1, 所以
a13,1≡(−1)4( 1 × a1,1+ 4 × a1,4+ 6 × a1,7+ 4 × a1,10+ 1 × a1,13)
≡(a1,1+ a1,4+ a1,10+ a1,13) ≡ 0 為黑色。
例 7. 求 a28,5 的話, 因為 28 = 27 × 30+ 1 = 9 × 31+ 1 = 3 × 32+ 1 = 1 × 33+ 1, 所以利用 定理 5, s 與 t 就有四種取法,
取 (s, t) = (27, 0) 時, 即為定理 1, a28,5≡ −(C027a1,5+ C127a1,6+ · · · + C2727a1,32)。
取 (s, t) = (9, 1) 時, a28,5≡ −(C09a1,5+ C19a1,8+ · · · + C99a1,32)。
取 (s, t) = (3, 2) 時, a28,5≡ −(C03a1,5+ C13a1,14+ C23a1,23+ C33a1,32)。
取 (s, t) = (1, 3) 時, 即為推論 3, a28,5 ≡ −(C01a1,5+ C11a1,32)。
所以定理 5 可以說是集大成, s 取 n − 1 就是定理 1, s 取 1 就是推論 3, 為了計算方便, s 當然 是越小越好, 計算的項數比較少 (s + 1項)。
三、 速算魔術
此遊戲若能夠速算, 即可成為一個數學魔術。
魔術師請觀眾隨意在第一列擺放三種顏色的球, 並告知其接下來每一列的擺法規則, 待觀眾知道規則後, 準備開始放時, 魔術師即可寫下最後一顆球的顏色 「預言」。 過了 許久, 等觀眾把最後一顆擺出來後, 魔術師才把剛剛寫好的預言拿出來對照, 果然沒 錯!
方法是這樣的, 若觀眾在第一列擺的球數為 n, 設 n − 1 的 3 的次方的正因數中最大者為 3t, 這樣的話 n = s · 3t+ 1 的表示法中的 s 最小。 若 s 很小, 則利用定理 5 即可很快地算出 最後一顆球的標號; 若 s 不夠小, 只好利用比 n 小且型如 s · 3t+ 1 的數, 多算幾次以求出最 後一顆球的標號。
例 8. 假設觀眾第一列放了 「102112022010」 十二顆球。
第一種想法, 因第三列有 12 − 2 = 10 = 1 × 32+ 1 顆球, 故先算第三列頭尾的球, 再算 出答案。
第二種想法, 會快一些, 先算第 10 列的三顆球, 然後再算出答案。
讀者可以自己嘗試其它例子, 例如 11 顆球、 20 顆球, 馬上會發現, 不管流程怎麼分段, 若 第一列用球數是最少的話, 球數都是相同的。 事實上, 還可以把用球數算出來。
定理 9. 若觀眾在第一列擺了 n 顆球, 其中 n − 1 = (· · · nknk−1· · · n2n1n0)3, 則要計算出 解的話, 第一列的用球數必為 Q
k≥0
(nk+ 1) 顆球。
證明: 利用盧卡斯定理, 計算二項式係數不為 3 的倍數的數量即得。 例如觀眾若擺了 9 顆球的話, 因為 8 = (22)3, 由定理 9 知必定會用到第一列的 3×3 = 9 顆球, 所以第一列的每一顆都要被計算, 因此魔術師只能慢慢利用定理 1 來算了。 此時該怎麼 辦呢 ? 魔術師可以用一些言語上的誘導讓觀眾多放幾顆: 「最後, 你再選一顆, 插到到中間, 但 在你還沒選擇插到哪個位置前, 我會先做個預言 · · · 」 或是再選第二個觀眾上來多插一顆球到 中間之類的。
當然魔術師也可以一開始就指定觀眾放特定顆數的球, 例如 10 顆、 19 顆 · · · 比較好算 的數目, 但這樣就不能變太多次, 因為幾次之後, 觀眾就會想要放別種球數了。
另一種變型的版本如下:
魔術師請觀眾在紙上第一列隨意寫 6 個正整數, 而第二列的5個數, 每個都是用第一 列相鄰的兩數相加, 一直寫到第 6 列, 剩下一個數。 魔術師會提早寫下 「預言」, 內容 是最後這個數除以 5 的餘數是多少 !
因為 5 是質數, 所以這個變型的版本, 一樣可以用定理 5 改成 Z5 來速算。 不過這個數字 的版本, 容易被看出算法, 還是彩球的版本比較讓人驚艷, 畢竟它的數學建模不是這麼容易。
四、 最少顆球決定盤面
原彩球遊戲的目的是要求出最下面一顆球的顏色, 現在我們改變一下遊戲目的: 能否選出 若干顆球, 這些球的顏色任給, 都可以在不違背規則 (每顆球由上一列相鄰兩顆球的顏色決定) 下, 把所有的球的顏色確定出來。
例 10. 以 n = 4 為例 (第一列有 4 顆球),
若第一列的 4 顆球任給顏色, 當然都可以把全部的 10 顆球顏色求出。
若每一列的第一顆球顏色任給, 一樣也可以把 10 顆球顏色都求出。
或是 a1,1, a1,3, a2,2, a4,1 這四顆球的顏色任給, 也都可以唯一決定所有球的顏色, 只是需要花 一點時間嘗試。
那有沒有可能只選 3 顆球, 其顏色任給,都可以決定整個盤面呢 ? 答案是不可能的。 為什 麼呢 ? 這就要用線性代數來回答這個問題了 (以下的運算均為 Z3 中的運算)。
依據 「每顆球顏色由上一列相鄰兩顆球決定」 的規則, 轉成數學模型, 即為 ai,j = −(ai−1,j + ai−1,j+1)
以 n = 4 為例, 可以列出下面的聯立方程組:
a2,1= −(a1,1+ a1,2) a2,2= −(a1,2+ a1,3) a2,3= −(a1,3+ a1,4) a3,1= −(a2,1+ a2,2) a3,2= −(a2,2+ a2,3) a4,1= −(a3,1+ a3,2)
⇒
a1,1+ a1,2+ a2,1 = 0 a1,2+ a1,3+ a2,2 = 0 a1,3+ a1,4+ a2,3 = 0 a2,1+ a2,2+ a3,1 = 0 a2,2+ a2,3+ a3,2 = 0 a3,1+ a3,2+ a4,1 = 0.
此聯立方程組, 有 10 個未知數, 若只給定 3 個變數值的話, 也會剩下 7 個未知數, 而 6 條式子, 是不會有唯一解的。 依這個想法, 我們可以得到下面的定理:
定理 11. 第一列為 n 顆球的盤面, 若選定其中 k 顆球, 使得此 k 顆球顏色任意給定, 都要能 確定所有球的顏色的話, 則 k 必為 n。
但是不是隨便選 n 顆球都可以呢 ? 當然不是 ! 例如, 當 n = 4 時, 選定 a1,1, a1,4, a2,2, a4,1
這四顆球的話, 顏色給的不好, 就會無解。 下面這個狀況就是無解
那除了暴力法試之外, 有沒有好的方法可以判斷有沒有解呢 ? 當然有的 ! 把剛剛的聯立 方程組, 寫成矩陣型式, 如下:
1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1
a1,1
a1,2
a1,3
a1,4
a2,1 a2,2 a2,3
a3,1
a3,2
a4,1
=
0 0 0 0 0 0
而 a1,1, a1,4, a2,2, a4,1 給定的話 (變成常數), 就可以把它們移到等號右邊, 變成:
1 0 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 1
a1,2
a1,3
a2,1
a2,3
a3,1
a3,2
=
−a1,1
−a2,2
−a1,4
−a2,2
−a2,2
−a4,1
此時左邊的係數矩陣, 即為原係數矩陣扣掉 a1,1, a1,4, a2,2, a4,1 對應的 4 行, 而因為其行
列式為 0 (在 Z3 中), 所以右邊的常數向量就有辦法調整到讓此聯立方程組無解。
我們再來看一個例子:
例 12. 設 n = 3, 其三個角落的球, 顏色任給, 是否都能決定出所有球的顏色呢 ?
依前面的方式寫出聯立方程式的係數矩陣為
1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 1 1
, 扣除 a1,1, a1,3 與
a3,1 對應的行後, 為
1 1 0 1 0 1 0 1 1
, 其行列式為 −2 6= 0 (在 Z3 中), 所以 a1,1, a1,3, a3,1 三 球顏色任給, 皆能決定整個盤面。 這個結果其實不是那麼容易看出來。
再更進一步, 若選定的球超過 n 顆是否有解 ? 選定的球少於 n 顆的話, 必不能決定所有 球的顏色, 但總共有幾組解呢? 這些全都可以在線性代數中找到解答, 我想就到此打住吧 !
五、 結語
單人彩球遊戲, 把擺放的規則設計成數學運算後, 就可以推導出不少性質。 即使是推廣成 p 種顏色的球, 也是大同小異, 不過若 p 不是質數的話, 就不是所有的定理都能用 (因為盧卡斯 定理條件不成立)。 另一方面, 也可以討論推廣成三維的情況, 例如第一層擺成三角形或正方形, 然後一層一層往上擺成三角垛或正方形垛, 推出剩最後一顆時的顏色。 也是會跟兩球間的最短 路徑數有關, 不過麻煩的是, 運算三角垛的話, 可以用類似 (x + y + z) 的運算決定上一層的球 所代表的數, 但怎麼讓數字轉回顏色後合理化, 就留給有興趣的讀者思考了。
三角垛 四角垛
參考資料
1. 游森棚。 十二個課堂遊戲探索問題。 科學研習月刊, Vol. 54-4, pp. 46-49, Apr. 2015.
2. Julia Robinson Mathematics Festival(JRMF), Color Triangle Challenge, American In- stitute of Mathematics, 2016.
3. 茱莉亞羅賓遜數學園遊會, 彩色三角形, 九九文教基金會, 2017。
4. 黃胤兟、 張丰耘、 蔡慈。 神機妙算。 宜蘭縣 106 年度國中小科展第一名, 2017 年。
5. 周家萱、 詹雅函、 黃子恆。 神算。 第 56 屆中小學科展國小組最佳創意獎, 2016 年。
—本文作者徐祥峻為國立臺灣師範大學數學系博士後研究員, 郭君逸任教國立臺灣師範大學數 學系—
中央研究院 106 年院區開放 — 數學所系列活動
日期 : 2017 年 10 月 28 日 地點 : 中研院人文館北棟 (3F) 第一會議室/走廊 台北市南港區研究院路二段 128 號
科普演講: 數匠 — 打造3D 列印的視界 時間: 10:00∼11:30
主講人: 劉正威 適合參觀對象: 國中/12歲以上
特別活動: 3D 列印益玩趣 時間: 13:30∼14:30
主講人: 劉正威 適合參觀對象: 國小/10歲以上
出版品展示: 數學集刊、 數學傳播 時間: 09:00∼15:00
導覽人: 黃馨霈 適合參觀對象: 國中/12歲以上
*贈送限量期刊
其他活動: 超越極限 — 益玩特展 時間: 09:00∼15:30
導覽人: 王靜雯 適合參觀對象: 不限
*贈送限量禮物