トランプ広場 ブラウザで遊べる無料トランプゲーム

ハノイの塔の最短手数の公式|漸化式と2のn乗−1の求め方

ハノイの塔の最短手数の公式「2のn乗−1」。台の棒に積んだ5枚の円盤のうち、上の4枚を点線の枠で1つのかたまりにし、真ん中の棒へ運ぶ矢印

パズル『ハノイの塔』の最短手数の公式を、順を追って解説します。漸化式の立て方と解き方のほかに、これより少なくできない理由も紹介しています。

ハノイの塔を無料で遊ぶ

ハノイの塔の最短手数の公式

円盤がn枚の時、ハノイの塔の最短手数は「2のn乗−1」手です。

an = 2n − 1an:円盤がn枚の時の最短手数

例えば、3枚なら2×2×2−1=7手、4枚なら2×2×2×2−1=15手です。枚数ごとの最短手数は以下の通りです。

円盤の数2のn乗最短手数
1枚21手
2枚43手
3枚87手
4枚1615手
5枚3231手
6枚6463手
7枚128127手
8枚256255手
10枚10241023手
20枚10485761048575手

ハノイの塔のルールと、実際に解く手順は『ハノイの塔のルールと解き方』の記事で紹介しています。

ハノイの塔の漸化式の立て方

最短手数の公式は、円盤が1枚増えた時の手数の関係(漸化式)から求めます。

n+1枚の塔を左の棒から右の棒へ移す時は、次の3つの段階に分けられます。

  • 上のn枚を、真ん中の棒へ移す(an手)
  • 一番大きい円盤を、右の棒へ動かす(1手)
  • 真ん中のn枚を、右の棒へ移す(an手)
n+1枚の塔を3つの段階に分けた図。①上のn枚(点線の枠)を真ん中の棒へ、②一番大きい円盤を右の棒へ1手で、③n枚を右の棒へ移す。下に式 a(n+1)=a(n)+1+a(n)
点線の枠の円盤が、上のn枚です(絵は、n=4の例)。枠の中の円盤も、1枚ずつ決まりを守って動かします。

この3つを足すと、次の漸化式になります。円盤が1枚増えると、最短手数は「前の手数の2倍+1」手になります。

an+1 = 2an + 1はじめ:a1 = 1(1枚なら1手で移せる)

例えば、a2=2×1+1=3、a3=2×3+1=7、a4=2×7+1=15 と順に求まります。

ハノイの塔の漸化式の解き方

漸化式 an+1=2an+1 は、両辺に1を足すと解けます。

an+1 + 1 = 2(an + 1)

ここで bn=an+1 とおくと、bn+1=2bn になります。bnは、1枚増えるごとに2倍になる数(公比2の等比数列)です。

1枚から4枚の塔と、それぞれの最短手数(1手・3手・7手・15手)。手数に1を足すと2・4・8・16で、1枚増えるごとに2倍になる

b1=a1+1=2 なので、bn=2n です。

よって、an=bn−1=2n−1 となります。

両辺に足す数(ここでは1)は、an+1+c=2(an+c) となる c です。式を開くと 2c−c=1 なので、c=1 と求まります。

ハノイの塔の最短手数の証明

ハノイの塔の最短手数が「2のn乗−1」手になる理由は、2つの方法で確かめられます。

これより少なくできない理由

2のn乗−1手より少なくできないことは、一番大きい円盤に注目すると分かります。

一番大きい円盤を動かす直前には、他のn−1枚が全部、残りの1本の棒に集まっている必要があります。

一番大きい円盤を動かす直前の形。左の棒には一番大きい円盤だけ、真ん中の棒に他のn−1枚が全部(点線の枠)。空いている右の棒へ、一番大きい円盤を動かす矢印

一番大きい円盤の上と、置く先の棒には、他の円盤があってはいけないからです。ここまでに、少なくとも an−1 手かかります。

一番大きい円盤を最後に動かしたあとも、n−1枚をその上へ積み直すので、少なくとも an−1 手かかります。一番大きい円盤も、少なくとも1回は動かします。

合わせると、少なくとも 2an−1+1 手です。この手数は、先ほどの3つの段階の手順でちょうど達成できるので、これが最短の手数です。

数学的帰納法で確かめる

公式 an=2n−1 が全てのnで正しいことは、数学的帰納法で確かめられます。

  • n=1の時:a1=1=21−1 なので正しい
  • n=kの時に正しいとすると:ak+1=2ak+1=2(2k−1)+1=2k+1−1
  • n=k+1の時も正しいので、全てのnで正しい

ハノイの塔で円盤ごとに動く回数

最短の手順では、小さい円盤ほどたくさん動きます。

n枚の時、一番小さい円盤は2n−1回、一番大きい円盤は1回だけ動きます。4枚の時は以下の通りです。

4枚の時に、円盤ごとに動く回数。小さい順に8回・4回・2回・1回で、合計15回

1つ大きい円盤ほど、動く回数は半分になります。全部を足すと 1+2+4+…+2n−1=2n−1 となり、公式と同じになります。

ハノイの塔と2進数の関係

最短の手順で何手目にどの円盤を動かすかは、2進数で分かります。

手の番号を2進数で書いた時、右から何桁目に初めて1が出るかを見ます。その桁の数が、動かす円盤の番号(小さい方から数えて何番目か)です。

手2進数動かす円盤
1手目11番目
2手目102番目
3手目111番目
4手目1003番目
5手目1011番目
6手目1102番目
7手目1111番目

奇数番目の手は、2進数の1桁目が必ず1なので、いつも一番小さい円盤を動かします。最短の手順が「1手おきに小さい円盤」になるのは、このためです。

64枚のハノイの塔は何年かかる?

64枚の最短手数は、264−1=18,446,744,073,709,551,615手(約1845京手)です。

1秒に1手ずつ休まず動かしても、約5845億年かかります。

3本の棒の左に、64枚の金の円盤を積んだ高い塔。最短の手数は約1845京手

宇宙が生まれてから今まで(約138億年)の、40倍以上の長さです。ハノイの塔には「64枚を移し終えた時、世界が終わる」という言い伝えがあります。

言い伝えのくわしい話は『ハノイの塔のルールと解き方』の記事の、伝説と由来の章で紹介しています。

変わりルールのハノイの塔の公式

ハノイの塔の変わりルールでも、同じ考え方で最短手数を求められます。

隣の棒にしか動かせない時

隣の棒へしか動かせない時、n枚の塔を左端から右端へ移す最短手数は「3のn乗−1」手です。

n+1枚の塔を移す時、一番大きい円盤は、真ん中の棒を通って2回動きます。その前・間・あとに、上のn枚を端から端へ3回移します。

隣の棒にしか動かせない時に、n+1枚の塔を移す段階を6つの小さな絵で並べた図。はじめ、①n枚を右へ、②一番大きい円盤を真ん中へ、③n枚を左へ、④一番大きい円盤を右へ、⑤n枚を右へ
段階ごとに、動いた円盤を金色に光らせています(絵は、n=3の例)。

n枚を3回と一番大きい円盤を2回なので、次の漸化式になります。

an+1 = 3an + 2はじめ:a1 = 2(1枚でも真ん中を通るので2手)

両辺に1を足すと an+1+1=3(an+1) なので、an=3n−1 です。3枚なら26手、4枚なら80手になります。

棒が4本の時

棒が4本の時の最短手数は、3本の時のような短い式では表せません。

まず、上の何枚かは、4本の棒を使って別の棒へ移します。残りの円盤を3本の棒の手順で右端へ移し、最後に、先ほどの何枚かをその上へ4本の棒を使って移します。

棒が4本で6枚の時の3つの段階。①上の3枚を4本の棒を使って2本目の棒へ5手、②残りの3枚を3本の棒の手順で右端へ7手、③3枚を4本の棒を使って右端へ5手
6枚の時は、上の3枚を先に移すと、一番少ない17手になります。

何枚を先に移すかで手数が変わるので、一番少なくなる枚数を選びます。この方法が最短だと証明されたのは、2014年のことです。

円盤の数3本の棒4本の棒
3枚7手5手
4枚15手9手
5枚31手13手
6枚63手17手
8枚255手33手
10枚1023手49手

ハノイの塔の公式のよくある質問

2のn乗−1の「−1」はなぜ?
最短手数に1を足した数が、1枚増えるごとにちょうど2倍になるからです。1を足した数が2のn乗なので、最短手数はそこから1を引いた数になります。
最短の手順は1通りだけ?
3本の棒なら、最短の手順は1通りだけです。一番大きい円盤を動かす時の形が1つに決まり、その前とあとも同じように1つに決まるからです。
円盤が1枚増えると、手数は何倍になる?
約2倍です。正確には「前の手数の2倍+1」手になります。
再帰とは何?
大きな問題を、同じ形の小さな問題に分けて解く考え方です。ハノイの塔では、n枚の塔を移すのに、n−1枚の塔を移す手順を2回使います。
ハノイの塔を無料で遊ぶ ルールと解き方を読む

こちらもおすすめ

別のゲームを探す