多根柱河內塔最佳分盤法探究~以Scratch堆疊程式輔助運算

專題名稱 多根柱河內塔最佳分盤法探究~以Scratch堆疊程式輔助運算

專題描述 我們在59屆科展的時候,利用Scratch堆疊程式,完成不限柱數與不限盤數的最少步數的程式,也得到了數學科的第二名。評審老師問我們一個問題,可不可以把最佳的分盤法,也用Scratch程式寫出來,這樣整個河內塔的研究就會很完整。我們利用暑假的時間進行多根柱河內塔小論文的研究,也完成了不限柱數與不限盤數的「最佳分盤法」Scratch程式,希望能對河內塔有興趣的研究者,提供一個不一樣的想法。

隊伍名稱 豐力小隊

指導老師 陳錦松 翟方妤

參賽學生 陳羿潔 呂嵉芸 林祐民 

序號檔案內容上傳者
10作者 陳沛儒、許尹懷
來源 https://www.shs.edu.tw/works/essay/2016/04/2016040614003848.pdf
描述 上數學課的時候,講到遞迴關係式的單元,提到一個河內塔的問題,其實在國小時,便有聽過「河內塔」這個名字,但當時在操作時不知道它有什麼規律,而且班級內知道它如何運作以及如何以最少步數運作的規則的人並不多,於是我們利用閒暇時間,試出了最少步數的方法,在學習了這個單元之後,也找出了屬於三根柱最基本河內塔的遞迴關係式,對河內塔抱著極大興趣的我們,就已經有結論的河內塔研究,延伸與歸納出不同的河內塔問題。
陳羿潔
9作者 辛淑菁
來源 http://ntcuir.ntcu.edu.tw/bitstream/987654321/7892/1/094NTCTC284029-001.pdf
描述 本研究本著「從遊戲中學習,從操作中認知」的理念,冀望藉由河內塔遊戲的解
題過程中學習解決問題,提升數學學習障礙學童問題解決類化的能力。
陳羿潔
8作者 蔡易霖 翁煜傑 吳泳昇
來源 https://www.shs.edu.tw/works/essay/2010/11/2010111422515725.pdf
描述 本研究中所要討論的是當使用三根柱子時,將原先在柱上的 n 個圈由上而
下分成奇數圈和偶數圈,並以「最少步數」分別移動到其餘兩根奇數柱和偶數柱
上,而編號較小的圈必定在編號較大的圈上(也就是不可以「大」壓「小」),至
於移動的基礎即是建立在原始「河內塔」上。
呂嵉芸
7作者 丁培毅
來源 http://squall.cs.ntou.edu.tw/cprog/practices/Iterative%20Hanoi.pdf
描述 河內塔是一個本質上就具有遞迴特性的問題,把 n 個盤子由
A 柱子搬到 C 柱子 (以 B 為輔助),基本上拆解為三個巨集動
作  由 A 搬移 n-1 個盤子到 B (以 C 為輔助)
 由 A 搬移 1 個盤子到 C
 由 B 搬移 n-1 個盤子到 C (以 A 為輔助)
要設計遞迴的程式相當直覺
呂嵉芸
6作者 古浩平 張乃文
來源 https://activity.ntsec.gov.tw/activity/race-1/46/junior/0304/030402.pdf
描述 由 EdouArd LuCAs 提出的「河內塔問題」:一平面上豎著 A、B、C假設我們想要將這幾個圓環由木樁 A 搬到木樁 C,而且搬動過程受到以下三項限制:
一、一次只能搬動一個圓環。
二、每次搬動都須由某根木樁搬到另一根
木樁,圓環不能被暫時放到其他地方。
三、對任何木樁上的任意兩個相疊的圓環而言,上面
的圓環一定要比下面的圓環小三根木樁,其中的木樁 A 由上而下套著由小而大的 N 個相異的圓盤
呂嵉芸
5作者 余相甫 李安盛
來源 https://activity.ntsec.gov.tw/activity/race-2/International2004/pdf/1108.pdf
描述 傳統河內塔問題在電腦科學上佔有重要的地位,是一個極具內涵的模型。由於這個模型的深厚數學內涵,使其和巴斯卡三角形建立了緊密的連結,且利用這個緊密的數學連結,設計出復原任意起始狀態的良好演算法。
呂嵉芸
4作者 林瑋玲
來源 http://math.nsysu.edu.tw/var/file/183/1183/img/495/302.pdf
描述 傳說在古老的印度,有一座神廟,據說它是宇宙的中心。神廟中放置了一塊上面插有三根長木釘的木板,在其中的一根木釘上,由上至下被放置了64 片直徑由小至大的圓環形金屬片。古印度教的天神指示祂的僧侶們按以下規則將 64 片的金屬片移至三根木釘中的其中一根上,直到有那麼一天,僧侶們能將 64 片的金屬片依規則從指定的木釘上全部移至另一根木釘上,那麼,世界末日即隨之來到,世間的一切終將被毀滅,萬物都將至極樂世界。所以當全數搬完時,需要幾天
的時間呢?
呂嵉芸
3作者 諶靚、李婕、李凱恩、孫佳萱
來源 http://result.hlc.edu.tw/103%E5%B9%B4%E5%BA%A6/1115%E5%B0%8F%E8%AB%96%E6%96%87%E7%AB%B6%E8%B3%BD/%E5%BE%97%E7%8D%8E%E4%BD%9C%E5%93%81/%E5%9C%8B%E4%B8%AD%E7%B5%84_%E8%87%AA%E7%84%B6%E9%A0%98%E5%9F%9F_%E9%8A%80%E7%8D%8E_%E5%A3%BD%E8%B1%90%E5%9C%8B%E4%B
描述 我們在看了「猩球崛起」這部電影時看到一隻名叫「亮眼」的猩猩,正在使用河內塔測牠的智商,而我們很好奇那個叫座河內塔的東西為甚麼可以用來測智商。「亮眼」排 4 個圓盤時,用了 20 步,研究人員說滿分是 15 步。這引起了我們的興趣,原來河內塔可以用來考試啊。我們就在想,那第一個玩河內塔的人,或沒玩過河內塔的人,怎麼知道自己有走出了最少的步數?如果把可移動的柱子增加,最少的步數會不會有差別?
陳羿潔
2作者 許介彥
來源 http://www.sec.ntnu.edu.tw/Monthly/91(246-255)/248/32%E6%BC%AB%E8%AB%87%E6%B2%B3%E5%85%A7%E5%A1%94%E5%95%8F%E9%A1%8C.pdf
描述 一般化的河內塔問題:河內塔問題中圓環的個數為 8,上述故事中圓環的個數為 64;讓我們考慮一個更具一般性的問題:當木樁 A 一開始套著 n 個圓環時,最少須搬動幾次?其中的 n 是任意正整數......。
陳羿潔
1作者 許技江
來源 http://www1.ymhs.tyc.edu.tw/library/paper/fileList/%E6%A5%8A%E6%A2%85%E9%AB%98%E4%B8%AD%E5%AD%B8%E5%A0%B1%E7%AC%AC1%E6%9C%9F/04.%E6%B2%B3%E5%85%A7%E5%A1%94%E4%B9%8B%E6%B7%B1%E5%85%A5%E7%A0%94%E7%A9%B6--%E8%A8%B1%E6%8A%80%E6%B1%9F(p.29-42).pdf
描述 第一段為「河內塔的起源」,接著是「移動河內塔之規則」、「河內塔移動方式之方向」、「歸納河內塔基礎成果」、「河內塔進階移動法」最後是「結論及心得」。
陳羿潔

序號封面照內容說明上傳者
5類別 相簿集
名稱 河內塔最少步數實作練習
說明
三根柱、四根柱及多根柱河內塔最少步數實作練習
陳羿潔
4類別 相簿集
名稱 多根柱河內塔最少步數網路線上遊戲練習
說明
多根柱河內塔最少步數網路線上遊戲練習
陳羿潔
3類別 相簿集
名稱 3D列印河內塔組件
說明
3D列印河內塔組件
林祐民
2類別 相簿集
名稱 Scratch編寫多根柱河內塔之最佳分盤法
說明
Scratch編寫多根柱河內塔之最佳分盤法
林祐民
1類別 相簿集
名稱 多根柱河內塔文本書寫
說明
多根柱河內塔文本書寫
呂嵉芸

序號內容上傳者
10作者 林祐民
標題 分盤法
內容
四根柱的規律:
四根柱的河內塔也有其規律性,我們發現最少的步數有明顯的減少,原因為多一根柱,就可以將圓盤先分配在2根分盤柱上,不同於三根柱只能將圓盤分在1根分盤柱上。例如要完成3盤的遊戲,就不需要先完成2盤,可以先將2盤分成1盤和1盤,寫成數對(1盤,1盤)。因為1盤只需1步,所以四根柱的3盤只需S4(3)=2*1+2*1+1=5步。
例如四根柱4盤,可將底盤以上的3盤先分成(2盤,1盤)、(1盤,2盤)、(3盤,0盤)及(0盤,3盤)4種數對型式。
五根柱的規律及最佳分盤法:
五根柱的河內塔也和四根柱一樣有其規律性,可以將圓盤分配在3根柱上,不同於四根柱的2根分盤柱,三根柱的1根分盤柱。因為五根柱有3根分盤柱,需要的步數減少更多。例如要完成4盤的遊戲,就可以先將底盤上的3盤分成1盤、1盤和1盤,寫成數對(1盤,1盤,1盤)。數對(4盤,1盤,1盤)的「敘述」為:五根柱的4盤與四根柱的1盤及三根柱的1盤。最小步數S5(7) =2*7+2*1+2*1+1=19步。
六根柱的河內塔也和五根柱一樣有其規律性,可以將圓盤分配在4根柱上。因為六根柱有4根分盤柱,需要的最少步數減少更多。例如要完成5盤的遊戲,就可以先將底盤上的4盤分成1盤、1盤、1盤和1盤,寫成數對(1盤,1盤,1盤,1盤)。所以六根柱5盤的步數 S6(5)=2*1+2*1+2*1+2*1+1=9步即可完成。
依數學歸納法,我們也可以利用此方法算出不限柱數不限盤數的河內塔公式解。

林祐民
9作者 林祐民
標題 程式探索
內容
今天,老師吩咐給了我一個任務,就是將之前已經完成的河內塔多根柱程式再多加上一個功能,叫做計算分盤法,因為要用到艱難的邏輯跟數學,所以這任務比想像中來的難,到現在我們過了一個月我還是繼續在思考,希望能將老師給的任務完成,因此我思考了一下我們的分盤法的算法,在跟程式做比對,發現,我們可以利用等差的規律來算,但是ˋ過了一個禮拜,啊,發現不行,又發現可以用原來的公式套用,但數值有時還是錯誤,還要努力!

林祐民
8作者 陳羿潔
標題 文本下半部及研究計算方式
內容
接續上次的進度,我們讀(理解)到了文本上半部的地方,這次換成了下半部,讀完之後,時間差不多還有一半,所以老師就給我們一個檔案,我們在電腦中檢視了一下檔案,是......scratch?很好奇又很疑惑的我們,把它給點了開來,看到了裡面的東西,我們腦中的疑惑一秒全消失不見,原來是以scratch程式堆疊的方式,來計算河內塔研究中需要計算的東西,只剩下最後一部分需要我們繼續研究,雖然感覺上有些困難,不過我相信我們可以的!

陳羿潔
7作者 陳羿潔
標題 詳讀文本
內容
今天老師給我們的任務是把文本(前兩屆學長姐寫的)讀懂讀熟,且可以大概講出那詞代表的意思。
剛開始我只是把文本(前兩屆學長姐寫的)瞄過一遍,當然,這樣根本沒辦法理解內容到底是什麼,我的下一個步驟是在從頭開始看文本,把不會、不理解的字詞用鉛筆圈起來,然後一個字一個字(一個詞一個詞)慢慢地思考,盡量理解意思,等到最後如果還有不懂的,再去問跟我們同一組的學長,就這樣花了三小時,其實才看完了半本文本。

陳羿潔
6作者 陳羿潔
標題 實際計算多跟柱表格
內容
剛進到教室,老師就發給我們了一張像似考卷的東西,上面寫著:最佳分盤、步數差以及最少步數,以現在我懂得名詞,對於這張考卷並不陌生,也不難理解,這上面的三項項目,都是這幾天我們研究過、理解過的,只剩實作推理這東西了,這張雖然並不像是考卷,卻具備了蠻多考卷元素,真像是在寫數學的模擬考考卷。
過了沒幾分鐘,本來充滿談話聲及討論聲的教室,頓時只剩下筆寫在紙上沙沙作響的聲音,我寫的並不比呂嵉芸快,但她站起來交卷時,我也寫得差不多了。
最麻煩的並不是運算方面,而是最佳分盤,或許還在3、4跟柱的時候還好,等到算到5跟柱、6跟柱、7跟柱甚至8跟柱時,就會寫得開始不耐煩,甚至會開始錯亂,「咦?剛這個有加進去過嗎?欸?我是不是又算錯了?」等等的疑問從頭腦中爆了出來。

陳羿潔
5作者 陳羿潔
標題 n根柱步數差推算
內容
這次的研究,我們一樣以沒頭緒開始進入主題,第一次體驗到為什麼每次我們老師都說:「無知的人很可憐。」,什麼都不懂還真是辛苦。
這次的主題是:n根柱步數差的推算方法及公式。我們不是科學家,也不是老師或教授,所以就算老師叫我們不能看文本上的答案,要自己算,我們也找不出答案,因為我們根本看不懂啊!就這樣過了十幾分鐘,我們一樣停留在當初,連筆何止也好端端地像當初一樣有如新的、剛印的放在桌上。
又過了幾分鐘後,我們倆像是心有靈犀的一起把文本拿了起來開始討論,因為有頭緒了,所以也慢慢有了方向,這時的我們,正朝著答案邁進呢!
最後討論出來的公式及結果是:表格中,中央數=上方的數字+左方的數字。

陳羿潔
4作者 陳羿潔
標題 剛開始進入研究
內容
之前,我們討論出來的結果是:要延續學長姐之前做過的研究,主要主題是「河內塔」。後來要開始研究後,我才開始擔心:「糟了,我根本不知道河內塔是什麼東西,要怎麼做研究?」心裡越來越擔心的狀態,一直持續到了開始做小論文的第一天。
首先,老師先讓什麼都不懂且才剛加入的我們,自己把河內塔這項益智遊戲的規則先用清楚。我們就這樣一臉茫然地看著河內塔的遊戲用具,看著看著......想說:「這樣趴著也無濟於事,還是用用看吧!」我和呂嵉芸開始研究著河內塔這東西,不過後來我們才發覺,看似複雜又令人頭大的河內塔,其實只要懂它的規律,就有可能變得容易推論些。
過後搞清楚它的玩法後,我們才又照著之前學長姐的研究,開始從三盤、四盤慢慢推算到五盤,看是不是跟文本上的結果及答案一樣,如果不一樣,就重頭再用一次,用到根文本上的結果一樣為止。

陳羿潔
3作者 呂嵉芸
標題 最佳分盤法
內容
分盤方式也有其規律,能減少很多步數的試驗。
四根柱分盤:因為對於四根柱而言,有二根柱子可以分盤,例如四根柱4盤,可將底盤以上的3盤先分成(2盤,1盤)、(1盤,2盤)、(3盤,0盤)及(0盤,3盤)4種數對型式。我們發現上述的4種數對所需的步數並不全然相同。就數對(2盤,1盤)而言,前面的2盤是對應於四根柱的最少步數,而後面的1盤是對應於三根柱的最少步數。因為先完成2盤之後,就少一根柱可分盤,而後面的1盤等同於三根柱的步數,因此(2盤,1盤)的數對「敘述」為:四根柱的2盤與三根柱的1盤。
S4(4) =2*3+2*1+1=9步。
同理(1盤,2盤)的數對「敘述」為:四根柱的1盤與三根柱的2盤。S4(4)=2*1+2*3+1=9步。
同理(3盤,0盤)的數對「敘述」為:四根柱的3盤與三根柱的0盤。
S4(4) =2*5+2*0+1=11步。
同理(0盤,3盤)的數對「敘述」為:四根柱的0盤與三根柱的3盤。
S4(4) =2*0+2*7+1=15步。
因為我們是要將底盤(第m盤)上面的圓盤全部移走分盤,所以需分盤的盤數是m-1盤。完成分盤之後,底盤才可以移到終點柱(需要1步),所以規律1所說的m盤最少步數為:2倍前盤最少步數加1,就是加底盤移至終點柱的那1步。我們先完成四根柱前3盤的最少步數,2盤與3盤所增加的步數差 J4(2)= J4(3)=2,都是2步差。接著,我們開始增加盤數,4盤的分盤數對在(2盤,1盤)或(1盤,2盤)的步數都相同,依據分盤規律,我們會選用(2盤,1盤)的分盤方式,因為從四根柱開始增盤,在實際操作上會比較順手。同理,5盤的分盤數對我們會選用(3盤,1盤),因為四根柱2盤增為3盤,所增加的步數差也只增加2步。但在四根柱增加成6盤時,我們會選用數對(3盤,2盤)來分盤,而不是(4盤,1盤)。因為,四根柱的3盤增加為4盤時,步數會由5步增為9步,步數差J4(4)=4。但三根柱由1盤增為2盤時,步數差卻只增加2步,J3(2)=2(表一),所以最少的步數 S4(6) 會由(3盤,2盤)勝出。

呂嵉芸
2作者 呂嵉芸
標題 河內塔五根柱
內容
五根柱的河內塔也和四根柱一樣有其規律性,可以將圓盤分配在3根柱上,不同於四根柱的2根分盤柱,三根柱的1根分盤柱。因為五根柱有3根分盤柱,需要的步數減少更多。例如要完成4盤的遊戲,就可以先將底盤上的3盤分成1盤、1盤和1盤,寫成數對(1盤,1盤,1盤)。所以五根柱4盤的步數S5(4)=2*1+2*1+2*1+1=7步即可完成,比S4(4)的9步少2步,也比S3(4)的15步少8步,由此可得知五根柱的64盤所花的時間,想必會比三根柱的64盤花的時間少了很多,從5849億年,縮減成25分35秒。

呂嵉芸
1作者 呂嵉芸
標題 河內塔四根柱
內容
四根柱的河內塔也有其規律性,我們發現最少的步數有明顯的減少,原本三根柱的64盤需要大約5849億年,現在只要18433秒就能完成,因為多一根柱,就可以將圓盤先分配在2根分盤柱上,不同於三根柱只能將圓盤分在1根分盤柱上。例如要完成3盤的遊戲,就不需要先完成2盤,可以先將2盤分成1盤和1盤,寫成數對(1盤,1盤)。因為1盤只需1步,所以四根柱的3盤只需S4(3)=2*1+2*1+1=5步(規律1)即可完成。同理,要完成4盤的遊戲,就不需先完成3盤,可以先將3盤分成2盤和1盤,寫成數對(2盤,1盤)。因為四根柱的2盤需3步,1盤只需1步,最少步數為S4(4) =2*3+2*1+1=9步(規律1),只要知道最佳分盤,就可以算出最少步數了。

呂嵉芸

序號封面簡介(摘要)上傳者
5書名 數學悠哉遊
作者 許介彥
出版社 三民
簡介(摘要)
你知道離散數學學些什麼嗎?你有聽過鴿籠(鴿子與籠子)原理嗎?你曾經玩過河內塔遊戲嗎?本書從生活上輕鬆簡單的主題帶領您認識離散數學的世界,並且如何以基本的概念出奇地解決生活上的問題。
另外我們還要帶您從不同的角度來欣賞數字的神祕與奇趣,不管您的數學程度如何,只要具備中學的數學知識,就能與我們一同悠哉地遨遊離散數學與數論的天堂,快跟我們一起行動吧!
導讀
各種數學題目、小遊戲、益智遊戲,全都在這本書裡,將讓你瞭解這些遊戲不只是個遊戲,而是運用了數學的元素,使其遊戲看起來完整又具有豐富的思考點和益智。
陳羿潔
4書名 演算法之美:隱藏在資料結構背後的原理
作者 左飛
出版社 博碩
簡介(摘要)
本書圍繞演算法與資料結構的話題,並且循序漸進、深入淺出地介紹現代電腦技術中常用的40餘種經典演算法,包含回溯法、分治法、貪心法和動態規劃等演算法設計觀念。同時,本書也系統性地講解連結串列、堆疊、佇列、樹、圖、集合與字典等常用的資料結構。同時,透過22個經典問題(包括約瑟夫環問題、河內塔問題、八皇后問題和騎士巡邏問題等)的解說,逐步揭開隱藏在資料結構背後的演算法原理,試圖協助讀者充實知識基礎,啟動思維技巧,最終衝破阻礙提升程式設計能力的重重藩籬。
導讀
對於演算法不熟悉之讀者,將在這本書裡快速吸收知識。解釋簡單、明瞭清晰,讓本來一竅不通的人一看就懂。
陳羿潔
3書名 愈玩愈聰明IQ遊戲大百科 2: 立體移動遊戲玩出你的想像力
作者 秋山仁
出版社 親子天下股份有限公司
簡介(摘要)
【一玩就上手,趣味又益智】
和日本數學大師秋山仁一起來做頭腦體操
立方體、智慧環、河內塔、滑塊遊戲等
動腦玩動手做 發揮想像力
享受益智遊戲的樂趣
導讀
讓自己的大腦完全運轉吧!
本書匯集古今中外最有創意的立方體及移動類遊戲,挑戰小玩家的腦力極限!
同時介紹各式遊戲製作方法,讓小玩家自己動手做童玩,趣味又益智。
呂嵉芸
2書名 十個最偉大的數學謎題: 解讀說謊者悖論與河內塔問題
作者 馬塞爾.丹尼西 Marcel Danesi
出版社 晶冠出版有限公司
簡介(摘要)
獅身人面像之謎
盧卡斯的河內塔問題
阿爾琴的渡河問題
勞埃德的地球轉動之謎
斐波那契的兔子問題
埃庇米尼得斯的說謊者悖論
歐拉的柯尼斯堡橋問題
洛書幻方
古德里的四色問題
克里特迷宮

導讀
你將發現世界上長久以來最吸引人的十道謎題,在形塑數學史中扮演了要角。馬塞爾.‧丹尼西(Marcel Danesi)在本書將向你介紹十大數學名題,詳述其背後的數學,其中也包括了習題和答案--讓你有機會對類似的問題大展身手。當你身陷於難題的迷霧之中時,透過圖形上的錯覺步步去逼近不正確的理論,你會發現堅實數學思想如何源自謎題的架構。從頑強的謎題狂到數學愛好者們,這包羅萬象的難題無疑是深具啟發、充滿娛樂而且令人印象深刻。
呂嵉芸
1書名 Visual C# 2010程式設計16堂課
作者 李啟龍、李安泰
出版社 碁峰資訊股份有限公司
簡介(摘要)
提供大量實用且有趣的程式範例,包括:『圓周計算程式』、『解一元二次方程式』、『計算機程式』、『階乘計算程式』、『倒數計時器程式』、『圖片輪撥程式』、『理想體重判斷程式』、『公司薪資總額計算程式』、『1A2B猜數字程式』、『碰撞變色球遊戲程式』、『最大公因數和最小公倍數計算程式』、『選擇題作答程式』…等等,甚至於還設計動態的『氣泡排序法演示視窗程式』、『河內塔解題演示程式』
導讀
讀者可以觀察到在程式進行中,各個資料項目的改變狀況,藉由演示過程來幫助老師在課堂上進行教學或是讀者進行自修。
呂嵉芸

序號書面報告說明上傳者
1說明 多根柱河內塔最佳分盤法探究~以Scratch堆疊程式輔助運算林祐民

序號書面報告說明上傳者
2說明 簡報檔陳羿潔
1說明 程式陳羿潔