|
画像:http://ja.wikipedia.org/wiki/ハノイの塔 より
「以下のルールに従ってすべての円盤を右端の杭に移動させられれば完成。
n枚の円盤すべてを移動させるには 2n - 1 回の手数がかかる。
由来ハノイの塔は、フランスの数学者エドゥアール・リュカが1883年に発売したゲーム『ハノイの塔』がルーツである。パッケージには「Li-sou-stian大学勤務のシャム出身のN. Claus教授によりトンキンからもたらされたゲーム」と書かれているが、Li-Sou-Stian大学はリュカが働いていたセントルイス (Saint Louis) 大学のアナグラム、シャム出身のN. Claus (N. Claus de Siam) はアミアン出身のリュカ (Lucas d'Amiens) のアナグラムであるため、すべてはリュカの創作だと思われている。
同梱のリーフレットには、次のような伝説があると書かれていた。
パッケージではハノイの塔となっていたが、リーフレットではブラフマーの塔となっていた。ハノイはトンキンの中心都市、ブラフマーはインドの聖職者階級の名である。
この話には多くのヴァリエーションが生まれた。たとえば、ダイヤモンドの針のかわりに大理石の柱が立っているなどである。
64枚の円盤を移動させるには、最低でも(264-1)回 = 18,446,744,073,709,551,615(1844京6744兆737億955万1615)回かかり、1枚移動させるのに1秒かかったとして、約5,845億年かかる(なお、ビッグバンは今から約137億年前の発生とされている)。」
「(問)64枚の円盤があるとき,移し替えが完了するには何回移動しなければならないのか?
円盤が3枚であるとします.Aにある3枚をBに移すにはCを中継点にしてBに移動させる.このためには上の2枚をCに移し,3枚目をBにもってきた後,Cの2枚をBに移動させる.次に円盤が4枚であるとします.上の三枚がくっついているとして,この3枚をBに移し,一番下の円盤をCにもってきて,Bの3枚をCに移せばよい.
このような再帰的な方法を用いれば円盤が何枚あってもAからCに移動させることができるのですが,n枚の円盤を移動させるのに必要な最小回数をa(n)と書くことにすれば,漸化式
a(n)=2a(n-1)+1
で表せることがわかります.いま述べたn−1枚がくっついているとして・・・という考え方を小学5年生の息子に説明したところ,彼にも意味が理解できた様子でありました.
a(n)の具体的な値は
a(n)+1=2(a(n-1)+1)
a(n-1)+1=2(a(n-2)+1)
・・・・・・・・・・・・・
a(2)+1=2(a(1)+1)
より,容易に
a(n)=2^n−1
で与えられることがわかりますが,こうして円盤が3枚のとき→4枚のとき→n枚のときに一般化することができます.
(答)64枚の円盤があるとき,2^64−1回の移動をしなければならない.1秒に1回移動をさせるにしても完了までには5820億年かかることになる.
・・・」
すぐにピンと来なかったわたしはさらにサーチ ^^;
「まず, n 段のハノイの塔の手数を an と書くことにする. ・・・
さて,ここに n 段のハノイの塔があったとしよう. 初期状態では,棒 1 に板 1 から板 n までの n 枚の板が 大きい順に積み上げられている. ということは, 一番下の板 n を無視すれば, n-1 段のハノイの塔があると思える.
最終的には,棒 2 に初めと同じ順番で n 枚の板を積み上げるのだから, ある時点で板 n が棒 2 に移動しなければならない. その移動ができるためには, 棒 1 にある板 n の上には何もなく, さらに移動先の棒 2 にも他の板があってはならない. なぜなら,板 n は一番大きいのだから, その下には他の板を置くことができないからである.
ということは,板 n を移動しようとするときには, 板 1 から板 n-1 まではすべて棒 3 に移動していることになる. さらに,小さい板の上には大きい板を乗せられないのだから, 棒 3 にはその n-1 枚の板が大きい順に積み上げられているのである. その状態を最小手数で実現しようと思うなら, n-1 段のハノイの塔の解法を実行すればよい. ただし,板の移動先が棒 3 であるから, 棒 2 と棒 3 の役目を入れ替えて考える必要はある.
したがって,板 n を移動する直前までに n-1 段のハノイの塔の解法と 同じ手数の板の移動があったことになる. その手数は an-1 である. それに板 n の移動の 1 手を加えて, an-1 + 1 . あとは,棒 3 にある n-1 枚の板を棒 2 に移動した板 n の上に積み上げれば, ハノイの塔の移動が完成する. その作業も棒の役目を入れ替えて考えれば n-1 段のハノイの塔の移動に他ならない. すなわち,さらに an-1 回の板の移動を行えば,すべてが完成することになる. (図 3 参照)
これで, n 段のハノイの塔の解法には, 通算 an-1 + 1 + an-1 回の板の移動が必要であり, 十分であることがわかった. これから,次の漸化式が得られる.
この漸化式を解いて an の一般形を求めるのは簡単である. まず,第 2 式の両辺に 1 を足してみよう.
この式は, n が 1 つ大きくなるたびに, an + 1 が 2 倍になっていくことを意味している. となれば, a1 + 1 = 2 だから, 2 から始めて 2 倍, 2 倍を繰り返していけば, n 回目には an + 1 = 2n となる. これから, an = 2n - 1 が得られるわけだ.」
*なるほど♪
|

- >
- Yahoo!サービス
- >
- Yahoo!ブログ
- >
- 練習用



