第二數學歸納法 硬幣問題和堆垛遊戲

2022-01-31 01:45:32 字數 2413 閱讀 1754

相關:

第一數學歸納法 vs 第二數學歸納法 vs 良序定理

第二數學歸納法:硬幣問題和堆垛遊戲

第一數學歸納法:施塔特中心的地板磚

良序原理:算術基本定理的證明

*第二數學歸納法證明的結論和[第一數學歸納法](是一樣的,都是證明(區域性)非負數元素都具有某些性質。但是第二數學歸納法中p(n)的推理是基於p(0~n)而非僅僅是p(n)。*

第二數學歸納法(strong induction),設p是作用在非負整數的謂詞:

可以看到,在使用第一數學歸納法的時候我們只用了p(n),而第二數學歸納法相比於第一數學歸納法在推p(n + 1)的時候使用更多的假設(p(0), p(1), p(2) ... p(n) ),用公式表達如下:

第二數學歸納法使用的模版和第一數學歸納法很像,除了兩個地方:

宣告證明使用的是第二數學歸納法

推理部分要假設p(0), p(1), p(2) ... p(n) 都是正確的。

硬幣問題:

在太平洋上有乙個叫做inductia的國家,他們使用一種叫做strong的硬幣(簡稱sg)。當年在印刷這種硬幣的時候由於經費問題就只印刷了面值為3sg和5sg的硬幣。雖然當地居民在找小額零錢(例如4sg或者7sg)的時候會有一些麻煩,但是他們發現任何大於等於8sg的面額都能使用這兩種硬幣找開,例如26sg可以用下面這種方案:

請給出證明。

下面使用第二數學歸納法證明。

設p(n)為對於8+n面額的錢,居民們可以用3sg和5sg的硬幣找開。

當n=0,8sg = 5sg + 3sg,所以p(0)成立。

設p(0),p(1),p(2) ... p(n)均成立(n > 2),證明p(n + 1)成立:對於8 + n + 1的面額,可以前將其變為(8 + n + 1 - 3) + 3即(8 + n - 2) + 3這樣的面額,由於我們已經假設了p(n - 2)的成立,所以(8 + n - 2) + 3可以由p(n - 2)的方案加上乙個3sg的硬幣組合而成,所以p(n + 1)成立。對於n <=2:n = 2時,10 = 5 + 5;n = 1時,9 = 3*3。(這裡要注意將n小於等於2的情況分開討論,因為p(n-2)在n<2的時候沒有定義,即歸納推理的「鏈條」不能斷)

由歸納法,所有大於等於8sg的面額居民都能用這兩種硬幣找開。

注:這個問題本質上是因為5和3的最大公因數是1,所以它們的線性組合可以得出任何數(1的整數倍),另外在5*1 + 3*1 = 8以上的任何數都可以用5a + 3b 表示,其中a和b都是非負數。後面我寫數論部分的時候會給出具體證明的。

堆垛遊戲:

在你的面前是乙個由n個木塊堆起來的堆垛,你每次可以將乙個堆拆成兩個堆,除非這個堆只剩下了乙個木塊。在每次分拆乙個堆的時候你可以獲得一些分數,例如,你將乙個a+b塊木塊的堆拆成了a塊的堆和b塊的堆,你就可以得到a*b分。直到所有的堆都只含乙個木塊,遊戲結束。例如,下圖顯示了乙個拆乙個由10個木塊組成的堆的一種方案,其得分為45分 :

設請問你該採取什麼策略能獲得最高的分數?

我的第一想法是每次都把堆拆成兩個相同高度的堆或者相差為1,例如5*5 = 25 > 1 * 9,但隨後我意識到雖然第一次可能會大,但是隨後可能會比較小,例如2 * 3 < 1 * 8。聯想到這個題是要用歸納法的,自然覺得可能和策略無關,即不管什麼策略都會得到相同的分數。試一下上面這個例子,每次都只拿走乙個木塊:9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 = 45,果然是這樣,其中1+2+3 ... +n = (n+1)*n/2,下面證明:

以下證明使用第二數學歸納法。

設p(n)為對於木塊數為n的堆垛,其得分為n*(n+1)/2,和策略無關。

p(0) = 0,即0*(0+1)/2 = 0,成立。

設p(1), p(2), p(3) ... p(n)成立。對於p(n + 1),假設我們拆的第一步將其分為了木塊數分別為a和b的兩個堆,第一次得分為a*b,由於a和b都小於n+1,由p(a)和p(b)成立,我們可以知道最終的總得分為第一次的得分ab加上拆剩下兩個堆的分數之和:ab + a*(a+1)/2 + b*(b+1)/2 = (a^2 + b^2 + ab + a + b)/2 = (a^2 + b^2 +2ab + n + 1)/2 = ( (a+b)^2 + (n+1) )/2 = ((n+1)^2 + (n+1))/2 = (n+1 + 1)(n+1)/2。所以推得p(n+1)成立。

由歸納法得到對於任意非負整數n,這個遊戲的最終得分都是n*(n+1)/2,和策略無關。

參考:mathematics for computer science

第二數學歸納法

一般我們都是使用第一數學歸納法,但是對於第二數學歸納法,在演算法導論中也是經常使用,比如22.4 2中證明演算法正確性時會用到。第二數學歸納法原理是設有乙個與自然數n有關的命題,如果 1 當n 1時,命題成立 2 假設當n k時命題成立,由此可推得當n k 1時,命題也成立。那麼,命題對於一切自然數...

直線分割平面問題(數學歸納法)

試問平面上 n 條彼此相交而無三者共點的直線能夠把平面分割成多少部分?我們先從簡單的事實出發,設平面分為 sn 部分,由觀察發現 s1 1 1 s2 1 1 2 s3 1 1 2 3以此類推,便可猜想得到 sn 1 1 2 n 1 n n 1 2 或者 sn sn 1 n s1 2 3 n 2 2 ...

迴圈不變式 數學歸納法 歸納推理和演繹推理學習總結

迴圈不變式 數學歸納法和歸納推理從不同層次描述了知識發現的三種方式,這些方式既一脈相承又有所區別,本文希望能對其異同進行分析。1 從歸納推理與演繹推理說起 根據辭海定義,歸納推理 inductive reasoning 是一種 從包含特殊性知識的前提推出包含一般性知識的結論的推理。這裡所說的特殊和一...