主題
Search

河內塔


TowersOfHanoi
Solution of the three-rod four-disk tower of Hanoi problem

河內塔(通常也稱為“漢諾塔”),是由 E. 盧卡斯於 1883 年發明的謎題。它也被稱為梵天塔謎題,並在電影《猩球崛起》(2011 年)中以“盧卡斯塔”的名義作為猿類的智力測試出現。

給定一疊n個圓盤,從下到上按大小排列在一個杆上,以及兩個空杆,河內塔謎題要求將這疊圓盤從一個杆移動到另一個杆所需的最少步數,其中只有當將較小的圓盤放在較大的圓盤之上時才允許移動。具有n=4個柱子和n個圓盤的謎題有時被稱為 Reve 謎題。

該問題與在n-超立方體上找到哈密頓路徑同構(Gardner 1957, 1959)。

TowersofHanoiSolution

給定三個杆和n個圓盤,序列S_1={a_k}給出在第k步要移動的圓盤的編號(i=1n),由非常簡單的遞迴程式給出,該程式從單圓盤的列表S_1={1}開始,並遞迴計算

 S_n={S_(n-1),n,S_(n-1)}.
(1)

對於n的前幾個值,這給出了下表所示的序列。上圖說明了三杆四圓盤問題的解法。

nS_n
11
21, 2, 1
31, 2, 1, 3, 1, 2, 1
41, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1

隨著圓盤數量的增加(同樣對於三杆),獲得一個無限序列,上表說明了該序列的前幾項 (OEIS A001511)。令人驚訝的是,這正是二進位制進位序列加一。更令人驚訝的是,在第k步之後移動的圓盤數量與需要在k被加數Ryser 公式中新增或刪除的元素相同(Gardner 1988,Vardi 1991)。一種簡單的手工解法使用塗有交替顏色的圓盤。任何兩個相同顏色的圓盤都不會疊放在一起,並且任何圓盤都不會連續移動兩次(P. Tokarczuk,私人通訊,2004 年 6 月 23 日)。

由於上述過程,求解三個杆上的n個圓盤的謎題所需的移動次數h_n遞推關係給出

 h_n=2h_(n-1)+1
(2)

其中h_1=1。求解得到

 h_n=2^n-1,
(3)

即,梅森數

對於三個杆,可以使用盧卡斯對應證明上述解法是最小的,盧卡斯對應將帕斯卡三角形河內圖聯絡起來。雖然已知在四個杆上轉移圓盤的演算法,但沒有一個被證明是最小的。

可以構造一個河內圖,其圖頂點對應於n個塔的合法配置,其中圖頂點在相應的配置可以透過合法移動獲得時相鄰。謎題本身可以使用二進位制格雷碼來解決。

Poole (1994) 和 Rangel-Mondragón 給出了用於解決河內塔問題的 Wolfram 語言 例程。Poole 的演算法適用於任意圓盤配置,並以最少的步數提供解決方案。

在四個杆上排序n=1, 2, ... 個圓盤所需的最少移動次數由 1, 3, 5, 9, 13, 17, 25, 33, ... 給出 (OEIS A007664)。據推測,該序列由以下遞迴式給出

 s_n=s_(n-1)+2^x,
(4)

其中s_1=1x是以下方程的正底整數解

 n-1=1/2x(x+1),
(5)

即,

 x=|_(sqrt(8n-7)-1)/2_|.
(6)

這將給出顯式公式

 s_n=1+[n-1/2x(x-1)-1]2^x.
(7)

Wolfram (2022) 將河內塔分析為一個多計算過程,包括透過使用分支圖


參見

二進位制進位序列, 格雷碼, 煎餅排序, Puz-圖, Ryser 公式

使用 探索

參考文獻

Allouche, J.-P. 和 Shallit, J. "k-正則序列環。" Theoret. Comput. Sci. 98, 163-197, 1992.Allouche, J.-P. "關於迴圈河內塔的註釋。" Theor. Comput. Sci. 123, 3-7, 1994.Bogomolny, A. "河內塔。" http://www.cut-the-knot.org/recurrence/hanoi.shtml.Brousseau, A. "具有更多柱子的河內塔。" J. Recr. Math. 8, 169-176, 1972.Chartrand, G. "河內塔謎題。" §6.3 in 圖論入門。 New York: Dover, pp. 135-139, 1985.Daiev, V. "問題 636:偶數整數的最大公約數。" Math. Mag. 40, 164-165, 1967.Dubrovsky, V. "巢狀謎題,第一部分:移動東方塔。" Quantum 6, 53-57 (Jan.) 和 49-51 (Feb.), 1996.Flajolet, P.; Raoult, J.-C.; 和 Vuillemin, J. "評估算術表示式所需的暫存器數量。" Theoret. Comput. Sci. 9, 99-125, 1979.Frame, J. S. "問題 3918 的解。" Amer. Math. Monthly 41, 216-217, 1941.Gardner, M. "數學遊戲:關於二十面體遊戲和河內塔之間驚人的相似性。" Sci. Amer. 196, 150-156, 1957 年 5 月。Gardner, M. "二十面體遊戲和河內塔。" Ch. 6 in 六角屈撓器和其他數學消遣:第一本科學美國人謎題和遊戲書。 New York: Simon and Schuster, pp. 55-62, 1959.Kai, Y. 和 Chuan, X. "四柱河內塔的初步探討。" Acta Scient. Natur. Univers. Pekin. 40, 99-106, 2004.Kasner, E. 和 Newman, J. R. 數學與想象力。 Redmond, WA: Tempus Books, pp. 169-171, 1989.Kolar, M. "河內塔 (TH) 謎題。" http://HanoiTower.mkolar.org/.Kraitchik, M. "河內塔。" §3.12.4 in 數學娛樂。 New York: W. W. Norton, pp. 91-93, 1942.Lucas, É. 數學娛樂,第 3 卷。 Paris: Gauthier-Villars, 1891-1894. Reprinted Albert Blanchard, 1960.Poole, D. G. "克勞斯教授的塔和三角形(或,帕斯卡瞭解河內塔)。" Math. Mag. 67, 323-344, 1994. Poole, D. G. "河內塔包。" https://mathworld.tw/packages/Hanoi.m. Rangel-Mondragón, J. "廣義河內塔。" http://library.wolfram.com/infocenter/MathSource/4861/.Ruskey, F. "河內塔。" http://www.theory.csc.uvic.ca/~cos/inf/comb/SubsetInfo.html#Hanoi.Schoute, P. H. "梵天的戒指。" Eigen Haard 22, 274-276, 1884.Sloane, N. J. A. 序列 A001511/M0127, A007664/M2449, 和 A007665/M2414 在 "整數序列線上百科全書" 中。Stewart, B. M. "問題 3918。" Amer. Math. Monthly 39, 363, 1939.Stewart, B. M. "問題 3918 的解。" Amer. Math. Monthly 41, 216-219, 1941.Vardi, I. Mathematica 中的計算娛樂。 Reading, MA: Addison-Wesley, pp. 111-112, 1991.Wolfram, S. "遊戲和謎題作為多計算系統。" 2022 年 6 月 8 日。 https://writings.stephenwolfram.com/2022/06/games-and-puzzles-as-multicomputational-systems/.Wood, D. "梵天塔和河內塔再訪。" J. Recr. Math. 14, 17-24, 1981.Yang, S. "動畫化 4 柱河內塔的最佳移動集合。" 2024 年 10 月 31 日。 https://community.wolfram.com/groups/-/m/t/3312046.

在 上引用

河內塔

請引用為

Weisstein, Eric W. "河內塔。" 來自 --一個 資源。 https://mathworld.tw/TowerofHanoi.html

主題分類