史上最難智力遊戲“漢諾塔”該怎麼玩?西瓜視頻從數學角度解答

相信很多人都喜歡玩漢諾塔,這個遊戲可以給大腦做個徹底的“有氧運動”。大人和孩子,圍著坐在桌邊,小心翼翼的思考後,移動圓盤。

每個人都得全神貫注,閉氣凝神,大家都避免走錯一步,因為錯了之後又得從頭再來......層數越多,解題的步驟就越麻煩,成功的概率就越小,那麼漢諾塔究竟是一種怎樣的遊戲呢?

在解漢諾塔的過程中,數學原理能否幫助大家思考呢?讓我們跟著西瓜視頻創作人李永樂老師是怎麼解決這個問題的吧。

史上最難智力遊戲“漢諾塔”該怎麼玩?西瓜視頻從數學角度解答

起源

從西瓜視頻裡瞭解,漢諾塔是在1883年的時候,由法國的數學家盧卡斯發明的。

他的發明是根據這樣一個傳說:在很久很久以前,印度的梵天在修建廟宇的時候,在寺廟裡搭了一個黃銅製成的臺子,上面立著三根寶石柱子,在其中的一個柱子上,從下往上按照大小順序疊著64片黃金圓盤。

梵天命婆羅門把64個圓盤按大小順序重新擺放在另一根柱子上,並且規定:1、小圓盤在上,大圓盤在下。2、每次只能移動一個圓盤。如果移動成功了,世界將在轟的一聲中毀滅。

史上最難智力遊戲“漢諾塔”該怎麼玩?西瓜視頻從數學角度解答

結構、規則

這就是現代漢諾塔的原型。漢諾塔的現在構成是:三個一樣高的細圓柱,底部固定在一個共同的底座上,然後有不同顏色的大小不一樣的圓圈(一般數量在10以內),按照由大到小的順序放入某一個柱子的底部,玩法和規則基本沒有變。

遞歸算法

1、如果我們現在來解決64個圓盤移動的問題,方便起見,把圓盤所在的柱子標為A,其他兩個分別是B和C。

這個問題就變成了把64個圓盤從A移動到C。無論之前進行過多少步驟,解決這個問題的最後一步必定是,把已經排列好順序的63個圓盤從B移動到C。那麼這個問題就可以簡化為三步:

(1)把前面的63個圓盤通過某種方法按照大小順序移動到B。

(2)把第64個圓盤移動到C。

(3)把63個圓盤從B移動到C。

史上最難智力遊戲“漢諾塔”該怎麼玩?西瓜視頻從數學角度解答

2、那問題就變成了移動63個圓盤,怎麼移動到B呢?可以按照上述的方法:

(1)把62個圓盤通過某種方法按照大小順序移動到C。

(2)把第63個圓盤移動到B。

(3)把62個圓盤從C移動到B。

3、那問題就變成了移動62個圓盤,怎麼移動呢?根據上述的方法,以此類推,問題變成移動61個圓盤,移動60個圓盤......移動1個圓盤。如果用一個函數表示的話就是:

F(n)=2F(n-1)+1

其中n表示圓盤的個數,我們從最簡單的n=1、n=2、n=3帶入,可以得到F(n)=2n-1。這就是漢諾塔的遞歸公式了。

4、 那麼64個圓盤就是F(64)=264-1=1.8*1019次,科學家們算了一下,如果一秒鐘移動一步,要把這64個圓盤移動完畢得需要5800億年。如果梵天的這個“傳說”是真的,那離世界在轟的一聲中毀滅還有很多很多億年。

回顧一下解決這個問題的方法,F(n)這個函數的表達式中就調用了它自身。西瓜視頻李永樂老師介紹說遞歸就是一個過程或函數在其定義或說明中有直接或間接調用自身的一種方法。

如此龐大的問題,用最基本的思維方法解決了,誰說數學方法離現實的生活很遠呢?還有更多的數學方法的思維邏輯,推薦大家去西瓜視頻搜索李永樂老師,看更多解決問題的新思路。

史上最難智力遊戲“漢諾塔”該怎麼玩?西瓜視頻從數學角度解答


分享到:


相關文章: