數學歸納法使用上易犯的錯誤
許介彥
前言
數學歸納法 (Mathematical Induction) 雖然是一個強有力的證明工具, 在使用上稍一 不慎, 卻很容易讓證明有瑕疵, 或導出錯誤甚至荒謬的結論; 本文將透過例題來說明筆者在教學 過程中所見學生在證明時易犯的幾種類型的錯誤。
例題
例題一: 某人想用數學歸納法證明 「任意 n 個人, 他們一定全部都在同一天出生。」 他的 證明如下:
Basis step.
當只有一個人 (n = 1) 時, 很明顯此說法成立。
Inductive step.
假設 「任意 k 個人, 他們一定全部都在同一天出生」 是正確的, 則當有 k + 1 個人 (編號 1, 2, . . ., k + 1) 時, 根據假設, 第 1 至第 k人 (共 k個人) 一定在同一天出生, 且第 2 至第 k + 1人 (共 k 個人) 也一定在同一天出生, 因此, 這 k + 1 個人全部都 在同一天出生, 根據數學歸納法得證。
請問他錯在那裡?
解: 此人在 Inductive step 作出
第1 人至第k人在同一天出生 第2 人至第k + 1人在同一天出生
⇒ 第1至第k + 1人在同一天出生
的推論是以第 1至第 k 人及第 2至第k + 1 人這兩群人 (看作兩個集合) 有交集為前提, 也就是 k 須大於1; 當 k + 1 = 2 (即 k = 1) 時, 此兩群人 (第 1 至第 1 人及第 2 至第 2 人) 並無交集, 因此不能作如上的推論。 既然有某個 k 讓推論不成立, 此證明即無法由 k 再往後推進。
77
以下是一個跟上題類似而跟幾何有關的問題。
例題二: 某人想要用數學歸納法證明 「平面上任意 n 條直線, 若其中沒有任何兩條線互相 平行, 則所有這 n 條直線必相交於一點。」 他的證明如下:
Basis step.
當只有一條直線 (n = 1) 時, 很明顯此說法正確。
Inductive step.
假設 「任意 k 條互相不平行的直線必相交於一點」 是正確的, 則當有 k + 1 條直線 (編號 1, 2, . . ., k + 1) 時, 根據假設, 第 1 至第 k 條直線 (共 k 條線) 必相交於一 點, 第 2 至第 k + 1 條直線 (共 k 條線) 也必相交於一點。 由於兩條互相不平行的直 線只能有一個交點, 因此前 k 條直線相交的點與後 k 條直線相交的點必為同一點, 因此所有 k + 1 條直線皆通過同一點, 根據數學歸納法得證。
此人要證明的敘述很明顯是錯的, 以上的證明錯在那裡?
解: 此人在 Inductive step 作出
第1 至第k條線有一共同點 第2 至第k + 1條線有一共同點
⇒ 所有k + 1條線通過同一點
的推論是以 k 大於 2 為前提; 當 k + 1 = 3(即 k = 2) 時, 第 1 跟第 2 條線有交點及第 2 跟第 3 條線有交點並不能推出此三線通過同一點; 既然三條線時無法作此推論, 此證明即無法再繼續 由三條線的情形推出更多條線的情形。
例題三: 某人想要用數學歸納法證明對所有正整數 n, 以下的式子成立:
n =
v u u u
t
1 + (n − 1)v u u t
1 + ns
1 + (n + 1)
r
1 + (n + 2)
q
1 + (n + 3) · · · 他的證明如下:Basis step.
當 n = 1 時, 左式 = 1 = 右式, 此式成立。
Inductive step.
假設 n = k 時此式成立, 即
k =
v u u u
t
1 + (k − 1)v u u t
1 + ks
1 + (k + 1)
r
1 + (k + 2)
q
1 + (k + 3) · · ·成立; 要證明當 n = k + 1 時此式成立, 將上式等號兩邊分別平方:
k
2
= 1 + (k − 1)v u u t
1 + ks
1 + (k + 1)
r
1 + (k + 2)
q
1 + (k + 3) · · · 經過移項可得k
2
− 1k− 1 = k + 1 =
v u u t
1 + ks
1 + (k + 1)
r
1 + (k + 2)
q
1 + (k + 3) · · · 而這正是要證明的式子當 n = k + 1 時的情形, 因此根據數學歸納法得證。以上的證明有毛病, 請問錯在那裡?
解: 當 k 6= 1, 才可以有
k
2
− 1k− 1 = k + 1
的推論, 而 k = 1 卻是 induction 的第一步! 既然無法由 k = 1 推出 k = 2, 之後的所有正 整數也都無法推出。
例題四: 費伯那希數列 (Fibonacci Numbers) 的定義如下:
f
n
=
0 當 n = 0
1 當 n = 1
f
n −2
+ fn −1
當 n > 1由此定義可推出此數列的前幾項依序為 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, . . .。 某人想要 用數學歸納法證明此數列的一般式為
f
n
= 1√5
1 +√ 5 2n
−
1 −√ 5 2
n
!
他的證明如下:
Basis step.
當 n = 0 時,
√1 5
1 +√ 5 20
−
1 −√ 5 2
0 !
= 1
√5(1 − 1) = 0 = f
0
成立。Inductive step.
假設此一般式對所有 n = 0, 1, 2, . . ., k 皆成立, 則當 n = k + 1 時,
f
k+1
= fk −1
+fk
(根據費伯那希數列的定義)= 1
√5
1+√ 5 2k −1
−
1−√ 5 2
k −1
!
+ 1
√5
1+√ 5 2k
−
1−√ 5 2
k
!
(根據假設)
= 1
√5
1 +√ 5 2k −1
1 + 1 +√ 5 2
−1 −√ 5 2
k −1
1 + 1 −√ 5 2
!
= 1
√5
1 +√ 5 2k −1
3 +√ 5 2 −1 −√ 5 2
k −1
3 −√ 5 2!
= 1
√5
1 +√ 5 2k −1
1 +√ 5 22
−
1 −√ 5 2
k −1
1 −√ 5 22 !
= 1
√5
1+√ 5 2k+1
−
1−√ 5 2
k+1 !
而這正是要證明的一般式當 n = k + 1 時的結果, 因此根據數學歸納法得證。 以上的證明 有毛病, 請問錯在那裡?
解: 在 Inductive step 要開始由 f
0
與 f1
推導出 f2
前, 必須先確定所要證明的一般式 對 n = 0 及 n = 1 皆成立, 這項工作必須在 Basis step 完成; 因此, 以上的證明在 Basis step 除了驗證當 n = 0 時,√1 5
1 +√ 5 20
−
1 −√ 5 2
0 !
= 1
√5(1 − 1) = 0 = f
0
成立外, 還須驗證當 n = 1 時,√1 5
1 +√ 5 21
−
1 −√ 5 2
1 !
= 1
√5(√
5) = 1 = f
1
也成立, 否則在 Inductive step 是無法往後推的。
換另一個角度來看, 題目的數學歸納法證明過程中, 完全沒有用到 f
1
的值, 也就是說, 如 果有另一數列如下:f
n
=
0 當 n = 0
200 當 n = 1 f
n −2
+ fn −1
當 n > 1若題目中的數學歸納法證明是對的, 則它也同樣證明出新數列的一般式與費本那奇數列的一般 式完全一樣, 這當然一定有問題!
例題五: 某人想要用數學歸納法證明以下性質: 「考慮平面上任意一個由點及線構成且線 彼此不相交叉的圖形, 若此圖的任意兩點間都可由其中一點出發循著圖中的線連成的路徑到達
另一點 (也就是說, 此圖為一個 connected planar graph), 且此圖總共有 V 個點, E 條線, 並將平面切成 n 個區域, 則必有 V + n = E + 2 的關係。」 以下圖為例:
.
... .
.. .
...
.. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .
.. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .
... .
... .
.. .. . . .. .. . .. .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. .. .. . .. .. .. .. ..
•
•
•
•
•
• •
•
•
•
•
此圖有 11個點, 19條線, 將平面切成了 10個區域:
11 + 10 = 19 + 2.
他的證明過程如下:
Basis step.
當 n = 1 時, 此圖只有一個區域, 所以沒有由線圍成的封閉區域, 此人接著在這裡證 明對任何沒有封閉區域且兩點間可互相到達的圖形, 必有 V = E + 1 的關係 (他還 是可以用數學歸納法, Basis step 為 V = 1 時, 而 Inductive step 則假設 V = k 時成立, 設法導出 V = k + 1 時也成立)。
Inductive step.
假設 n = k 時此式成立, 即任何將平面切為 k 個區域的圖形皆有 V + k = E + 2 的關係。 考慮任意一個封閉區域, 在此區域的邊上找兩條不同的邊線, 在其上各加一 點, 然後將新加的兩個點用一條線相連, 如下圖所示:
.
... .
..
• •
•
=⇒
.
... .
..
...
• •
•
• •
則與原來的圖形相比, 新圖多了一個區域, 三條線, 和兩個點, 而
(V + 2) + (k + 1) = (V + k) + 3 = (E + 2) + 3 (根據假設) = (E + 3) + 2 所以要證明的式子在 n = k + 1 時仍然成立, 因此根據數學歸納法得證。 以上的證明在 Inductive step 有毛病, 請問錯在那裡?
解: 錯在新加的點和線 「太特殊」 了。 如果一個圖形要增加一條線, 此條線除了連接兩個新 的點外, 也可能連接兩個舊的點, 或是一個新點和一個舊點; 一個圖形要增加新的點, 新點也未 必要落在舊的線上; 如果依照以上證明過程所述, 新的線一定連接兩個新的點, 所建構出來的圖 形將只是某一類很特殊的圖形。
結語
學生在使用數學歸納法時常見的錯誤大致上可分為三個類型, 有一類是由於覺得要證明的 性質很明顯或太相信性質是對的, 而在證明過程中加入一些題目沒有提及但自己認為也很明顯 的 「事實」, 或是自己也相信是對的卻不加以證明的 「假設」; 另一類型是在 Inductive step 由 n= k 推導出 n = k + 1 時, 所用的 k + 1 的例子太過特殊; 還有一類型是沒有察覺到在推導 過程中所用的某個推論當 n是某些特殊的值時是不成立的; 這些易犯的錯誤只要在證明時加以 留意, 應當是可以避免的。
—本文作者任教於大葉大學通訊與計算機工程學系—