■ハノイの塔(その3)

 ハノイの塔とは3本の柱A,B,Cがあり,柱Aにある何枚かの円盤を1枚ずつ柱Bを中継点にして柱Cに移動させるものですが,柱が3本のとき→4本のとき→n本のときに一般化するのはもっと難しい問題になります.

===================================

【1】柱を4本にしたときの手間

 4本のときのハノイの塔について

  一松信「整数と遊ぼう」日本評論社

の面白い記事がでていたので紹介します.

 あるとき,一松先生が熱心な中学生のグループから4本のときのハノイの塔について質問を受けたそうです.彼等が実験したところによると,その手間は

  n  1  2  3  4  5  6  7  8  9  10

  b  1  3  5  9  13  17  25  33  41  49

もちろん2^n−1に比べると桁違いに少ない回数です.

 差分をとってみると

  2  2  4  4  4  8  8  8  8・・・

となって,その先は

  16 16 16 16 16  32 32 32 32 32 32・・・(2^nがn+1個続く)

 このことから,4本のときのハノイの塔でもやはり枚数nの増加とともなって指数関数的に手間が増加することがわかります.ただしその増加が3本のときのハノイの塔(2^n−1)と比べ,桁違いに遅いというわけです.柱をいくら増やしても板の枚数の増加とともに指数関数的に増加します.

 そして,記事の最後に一松先生は「ハノイの塔の柱を1本増やす」という発展問題を考えた中学生に改めて敬意を表していますが,確かにこうした発想をつまらないものとして芽を摘むのは最悪の教育でしょう.私も大学院生のとき,微量元素の分析に現れる曲線は何かと考えて,当時の教授から「つまらないことを考えるな」とどやしつけられたことがあり,そのことを思い出しました.その曲線とはいまにして思えばフォークト関数です.

===================================

【2】ハノイの塔不等式

 n枚の円盤を移動する手数をTnとすると,等式

  Tn=2Tn-1+1

より,

  Tn=2^n−1

を得ることができます.

 ハノイの塔の棒が3本から4本の場合に拡張して,n枚の円盤を移動する手数をWnとすると,

  Wn=3^n−1   (これはWn=3Wn-1+2の解)

になるのではなく,不等式

  Wn(n+1)/2≦2Wn(n-1)/2+Tn

  Wn(n+1)/2≦2^n(n−1)+1

が成り立ちます.

 一般には

  Wm≦2Wm-k+Tk

が成り立ちますが,この不等式はまず頂上のm−k枚を移動し,次に3本の棒だけで底のk枚を移動し,最後に再び頂上のm−k枚を移動することに対応しています.問題の不等式はm=n(n+1)/2の場合に右辺を最小化する唯一のkの値に依存しています.

 k本の棒の場合の最小手数をXkで表します(X3=T,X4=W).このとき,不等式

  Xk((n+1,k))≦2Xk((n,k))+Xk-1((n,k−1))

  Xk((n,k))≦2^n+1-k(n−1,k−1)

が成り立ちます.

===================================

【3】k本ハノイの塔問題

 驚くべきことに,k≧4のときのk本ハノイの塔問題はいまだ解明されていません.

  [参]ハノイの塔,「離散数学のすすめ」第10章,現代数学社

に詳細がありますが,フレイム・スチュワートのアルゴリズムの移動回数M(n,k)は実験的にn=30程度まで調べられており,その範囲では実際に最小となることが確認されています.そのため,FSアルゴリズムが最小解を与えると信じられていますが,厳密な証明はされていないのです.

===================================