河內塔問題(國中版)(1682 KB )

Download Report

Transcript 河內塔問題(國中版)(1682 KB )

河內塔之謎……國中版
交大網路專班
李政憲
你知道河內塔怎麼來的嗎?
• 1883年,一位法國的數學家在一份雜誌
上介紹了一個相當吸引人的難題,這個
遊戲名為「河內塔」,它來自古印度神
廟中的一段故事(也有人說是這個教授為
增加遊戲的神秘色彩而捏造的)。
關於河內塔的故事……
• 在古老的印度有一座神廟,據說它是宇
宙的中心。在廟中放了一塊上面插有三
根長木釘的木板,在其中的一根木釘,
從上至下被放置了64片直徑由小至大的
圓環形金屬片。古印度教的天神指示祂
的僧侶們將64片金屬片移至另一根木釘。
河內塔的規定……
• 在每次的移動中,只能搬移一片金屬片,並且在過程中必
須保持金屬片由上至下是直徑由小至大的次序,使直徑較
小的被放在上層。
• 直到有一天,僧侶們能將64片金屬片依規則從指定的木釘
上全部移動至另一根木釘上,那麼,世界末日即隨之來到,
世間的一切終將被毀滅,萬物都將至極樂世界。
讓我們來搬搬看……
• 請問要把A柱上的盤子1搬到C柱上,最少需要幾次呢?
1
1
1
A
B
C
實際最少次數……
• 1層河內塔時,直接把盤子從A搬到C,次數為1次。
1
A
1
B
C
多了一層有什麼差別?
• 記得要符合一次搬一個,上面盤子要先搬的原則,請把A
柱上的盤子都搬至C柱,最少需要幾次呢?
1
2
1
2
1
2
2
1
2
1
A
B
C
最少次數規律推導……
• 二層河內塔(n=2)時……
• (1)移動盤子1從木樁A到木樁B。
(2)移動盤子2從木樁A到木樁C。
(3)移動盤子1從木樁B到木樁C。
1
至少共3次
(同理AB亦為3次)
1
2
1
2
A
B
C
三層河內塔搬移……
• 請你來搬搬看,把A柱上的盤子都搬至C柱,並計算搬動
的次數……
1
3
2
1
3
2
1
1
2
3
3
2
1
3
2
1
3
2
1
3
2
1
3
2
1
A
B
C
三層最少次數推導……
• 三層河內塔(n=3)時……
• (1) 1:AC
(2) 2:AB
• (4) 3:AC
(5) 1:BA
至少共7次
• (7) 1:AC
1
(3) 1:CB
(6) 2:BC
1
2
1
2
1
3
2
3
1
A
B
C
河內塔最少次數規律推導……
• 二層、三層河內塔比較……
• 1+2:AB共3次
至少共7次
• 3:AC共1次
• 1+2:BC共3次
1
1
2
1
2
3
2
3
A
B
C
河內塔最少次數規律推導……
• 三層、四層河內塔比較……
• 1+2+3:AB共7次
• 4:AC共1次
• 1+2+3:BC共7次
1
至少共15次
1
2
1
2
3
2
3
4
3
4
A
B
C
河內塔次數規律推導……
總次數
規律推導
一般式
1層
河內塔
1次
2-1
21-1
2層
河內塔
3次
3層
河內塔
7次
4層
河內塔
15次
16-1
24-1
k層
河內塔
……
……
2k-1
2
4-1
22-1
4
8-1
23-1
8
河內塔搬動方式推導……
• 先試試四層的河內塔,觀察其
規律……
甲:
乙:
4
3
2
4
3
2
1
4
3
1
2
4
3
1
2
4
3
1
2
4
3
1
2
4
3
1
2
4
3
1
2
4
3
1
2
4
3
1
2
4
3
1
2
4
3
1
2
4
3
1
2
1
A
2
3
4
4
3
2
1
B
2
3
4
4
3
2
1
C
2
3
4
河內塔搬動方式推導……
• 由上述的規律得知,欲完成k+1層河內塔,需將前k層自A
移至B,再將第k+1層自A移至C,再將前k層自B移至C。
1
1
……
1
……
k
……
k
k+1
k
k+1
A
B
C
河內塔搬動方式推導……
• 以n=5為例……
1
2
3
4
5
A
B
C
河內塔搬動方式推導……
• 以n=5為例……
• 第5個要搬至C,先將1-4個搬至B;
1
2
1
3
2
4
3
5
4
5
A
B
C
河內塔搬動方式推導……
• 以n=5為例……
• 第5個要搬至C,先將1-4個搬至B;
• 第4個要搬至B,先將1-3個搬至C;
1
1
2
2
3
3
4
A
B
5
5
C
河內塔搬動方式推導……
•
•
•
•
以n=5為例……
第5個要搬至C,先將1-4個搬至B;
第4個要搬至B,先將1-3個搬至C;
第3個要搬至C,先將1-2個搬至B;
1
A
1
2
2
3
4
5
B
C
河內塔搬動方式推導……
•
•
•
•
•
以n=5為例……
第5個要搬至C,先將1-4個搬至B;
第4個要搬至B,先將1-3個搬至C;
第3個要搬至C,先將1-2個搬至B;
第2個要搬至B,先將第1個搬至C。
A
由圖可知當要移動個數為奇數,
編號奇數的盤子移動至目標柱,
編號偶數的盤子移動至中繼柱。
1
1
2
3
4
5
B
C
河內塔搬動方式推導……
•
•
•
•
•
•
若固定由A開始搬起……
欲完成n=k於C,需先完成n=k-1於B;
欲完成n=k-1於B,需先完成n=k-2於C;
……
故當k為奇數時,一開始必須搬1由A到C;
而當k為偶數時,一開始必須搬1由A到B。
1
……
1
1
k-2
1
……
1
……
k-1
……
k-2
k-2
k
k-1
k
A
B
C
河內塔搬動方式推導……
•
•
•
•
•
•
五層河內塔次數統計
我們將圖形依序操作並統計次數:
將第1個搬至C,再將第2個搬至B;
將1-2個搬至B,再將第3個搬至C;
將1-3個搬至C,再將第4個搬至B;
將1-4個搬至B,再將第5個搬至C;
最後再將1-4個搬至C
1
1次
1次
1次
1次
3次(2層)
1次
7次(3層)
1次
15次(4層)
共31次(=25-1)
1
2
1
2
3
2
13
4
1
3
4
2
5
4
2
5
3
1
A
B
C
河內塔搬動方式一般化
•
•
•
•
•
•
•
•
k為奇數時,將1搬至C,2搬至B;
1+2搬至B,3搬至C;
1+2+3搬至C,4搬至B;
1
2
3
……
k-1
k
1+2+…+k-1搬至B,k搬至C;
A
1+2+…+k搬至C
奇數盤移至目標柱C,偶數盤移至中繼柱B
而k為偶數時則將奇數時的C、B互換即可。
1
2
13
2
k-1
1
2
13
2
k-1
13k
B
C
(中繼柱)
(目標柱)
河內塔結論歸納……
• 透過以上次數及方法的推導,我們可以得知這64個金盤若
要全數搬至C柱,至少需要移動264-1次才會完成。而若每
移動一次以1秒鐘計算,還要經過184467440737095551615
天,大約是5850億年才能完成,透過現在普遍的電腦,每
秒搬動一百萬次的話,則尚需58.5萬年,故由此看來……
地球還算蠻安全的吧!!
河內塔推廣……
• 若現在的盤子由小至大非
規則排列,則需分次移動
並統計次數。
共17次
1
3
8
8
2
3
3
3
3
5
3
5
A
B
C
資料來源:
•九章出版社:河內塔
• http://ccmp.chiuchang.com.tw/toy/hanoi/hanoi.html
•高中電腦學習加油站:河內塔問題
• http://content.edu.tw/senior/computer/ks_ks/book/algodata/algorithm/algo44.htm
•昌爸工作坊
• http://www.mathland.idv.tw/
•清大數學子網頁
• http://steiner.math.nthu.edu.tw/ne01/jyt/game/Hanoi/Hanoi.htm
•北興國中科展園地
• http://www.psjh.cy.edu.tw/~science/studauthor/91/river.htm