ハノイの塔(ハノイのとう、: Tower of Hanoi)は、パズルの一種。 バラモンの塔または ルーカスタワー: Lucas' Tower[注 1]とも呼ばれる。

8つの円盤のハノイの塔

ルール

編集
 



3





     [2][1]



[3][4]  

解き方

編集

3A,B,CA nCn = 1n >1

(一) n 1 AB

(二)1AC

(三)BBC

1A n 1 B

(一) n 2 AC

(二)1AB

(三)CCB

3[1]

実用的な解法

編集

[1]



BCAB(n)CBAC(n)

1

2n  1 [2]

4

2進数による解析

編集

 nn 2



n 2

1

01


(一)


(二)
0




1






2n C n(n&(n-1))%3  ((n|(n-1))+1)%3 

1n

グレイコードによる解法

編集

ハノイの塔の解答とグレイ・コードによる数字の表記は近い位置にある。

グレイコードによって表記された数字の一番下の桁に一番小さい円盤、次の数字に二番目の円盤というようにすべての桁と円盤を対応付けたとき、数字が変化することによって変わるビットに対応する円盤を動かすことで解答が求められる。

この方法では動かす円盤がわかるだけでどの棒に動かすべきかは求められないが、円盤同士のパリティを考えることにより移動先も定まる(偶数番目同士、奇数番目同士の円盤は重ならない)。

前述の通り、全ての桁と円盤を対応付ける事は、その桁に対応したメルセンヌ数に支配される事と等しい。

由来

編集

1883Li-sou-stianN. ClausLi-Sou-Stian (Saint-Louis) N. Claus (N. Claus de Siam)  (Lucas d'Amiens) 




13164






64

264  1 = 18,446,744,073,709,551,615  = 184467447379551615

115845137

日本におけるハノイの塔

編集

日本では1907年(明治40年)に書かれた書物『世界遊戯法大全』で紹介されている。その中では何回移動させればいいかなど数学的考察もしっかり書かれている。

脚注

編集

注釈



(一)^ 

(二)^ ab    Mnn

(三)^ 

(四)^ 

出典

  1. ^ a b c 奥村晴彦『C言語による最新アルゴリズム事典』技術評論社、1991年、216–217頁頁。ISBN 4-87408-414-1 

外部リンク

編集