Math World Lab

ハノイの塔と再帰・指数爆発

3本の柱と円盤パズル。再帰的思考と2ⁿ-1手の爆発的宇宙を解き明かす

2ⁿ - 1 手
この単元の発見をシェア
3行要約(Key Takeaways / AIOサマリー)
1
3本の柱があり、「1回に1枚しか動かせない」「小さい円盤の上に大きい円盤を乗せてはならない」ルールで全てを目的地に移す。
2
円盤 n 枚を移動させる最小手数は 2n−12^n - 1 手である。
3
円盤が64枚ある伝説のハノイの塔では、最小手数でも約1844京回(264−12^{64}-1)の手数を要し、1秒に1手動かしても完了まで約5800億年(宇宙の年齢の40倍以上)かかる。

なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値

Purpose & Motivation

なぜ生まれたのか?

1883年にフランスの数学者エドゥアール・リュカが考案したパズル。「n枚の円盤を動かすには、まず上のn-1枚を一時退避させ、一番下の1枚を動かし、退避させたn-1枚をその上に重ねる」という再帰(Recursion)の概念を視覚的に理解する最高峰の教材です。

身につく武器・思考力

プログラミングやアルゴリズムで最も重要な「分割統治法(Divide and Conquer)」と再帰的思考力、および指数関数($2^n$)の爆発的な増大スケール感覚が身につきます。

実社会・ITでの活躍現場

  • •プログラミング言語のコールスタック構造と再帰アルゴリズム設計
  • •ファイルのバックアップ世代管理(Grandfather-Father-Son スケジューリング)
  • •数学的帰納法を用いたアルゴリズムの正当性証明

Layer 1 — 直感・シミュレーター

柱をクリックして一番上の円盤を選択し、移動先の柱をクリックして運んでください。円盤の枚数(3枚、4枚、5枚)を切り替えて、手数が指数関数的に増えていく感覚をパズルとして楽しめます。

再帰と指数関数パズル:ハノイの塔

すべての円盤を一番右の柱へ移せ。最小手数は 2ⁿ - 1 手!

現在の手数: 0 手理論最小手数: 7 手
3
2
1
A (起点)
B (中継)
C (目的地)
※ 柱をクリックして一番上の円盤を選択し、移動先の柱をクリックして運んでください。
直感チェック!ミニクイズ

円盤が「5枚」のハノイの塔を最短の手数でクリアする場合、必要な手数は何手でしょうか?

Layer 2 — 定義・受験・証明

定義

円盤の枚数を nn としたとき、nn 枚のハノイの塔を解く最小手数 TnT_n は、漸化式 T1=1,  Tn=2Tn−1+1T_1 = 1,\; T_n = 2T_{n-1} + 1 で定義される数列です。

公式・数理モデル

Tn=2n−1(T1=1,  Tn=2Tn−1+1)T_n = 2^n - 1 \quad (T_1 = 1, \; T_n = 2T_{n-1} + 1)

証明・導出

最大の円盤を柱Aから柱Cへ移動させるためには、その上にある n−1n-1 枚の円盤がすべて補助柱Bに移動していなければなりません(手数 Tn−1T_{n-1})。次に最大円盤を1手で柱Cへ移動させ(1手)、最後に補助柱Bにある n−1n-1 枚を柱Cへ移動させます(手数 Tn−1T_{n-1})。したがって Tn=2Tn−1+1T_n = 2T_{n-1} + 1。両辺に 1 を加えると Tn+1=2(Tn−1+1)T_n + 1 = 2(T_{n-1} + 1) となり、数列 {Tn+1}\{T_n + 1\} は初項 T1+1=2T_1 + 1 = 2、公比 2 の等比数列となるため、Tn+1=2n  ⟹  Tn=2n−1T_n + 1 = 2^n \implies T_n = 2^n - 1 が導かれます。

押さえておきたいポイント

  • 最小手数は 2n−12^n - 1 手(3枚:7手, 4枚:15手, 5枚:31手, 10枚:1023手)
  • 分割統治法(問題を同じ構造の小さな部分問題に分割する)の典型例
  • ハノイの塔の状態遷移グラフはシェルピンスキーのガスケット(フラクタル構造)を描く
参照基準・学習指導要領との対応

本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。

Layer 3 — 工学応用・現場実装

再帰呼び出しによるハノイの塔自動ソルバー

最小手数でハノイの塔を解く手順(どの柱からどの柱へ動かすか)をすべて標準出力・配列化するTypeScriptの再帰関数です。

1export interface MoveStep {
2 disk: number;
3 from: string;
4 to: string;
5}
6
7export function solveHanoi(
8 n: number,
9 fromPeg: string = "A",
10 toPeg: string = "C",
11 auxPeg: string = "B"
12): MoveStep[] {
13 const steps: MoveStep[] = [];
14
15 function move(disk: number, from: string, to: string, aux: string) {
16 if (disk === 1) {
17 steps.push({ disk: 1, from, to });
18 return;
19 }
20 // 1. 上の disk - 1 枚を補助柱へ退避
21 move(disk - 1, from, aux, to);
22 // 2. 最底の円盤を目的地へ移動
23 steps.push({ disk, from, to });
24 // 3. 補助柱の disk - 1 枚を目的地へ重ねる
25 move(disk - 1, aux, to, from);
26 }
27
28 move(n, fromPeg, toPeg, auxPeg);
29 return steps;
30}
31
32// 実行例:
33// const solution = solveHanoi(3);
34// console.log(`総手数: ${solution.length}手`); // 7手

次に学ぶならコレ!おすすめトピック

この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元

数理モデル・概念が近い関連トピック

♞全マス巡歴Warnsdorff
関連度高数の不思議・パズル

ナイト・ツアーとグラフ巡歴パズル

チェスの騎士で全マスを1度ずつ踏破せよ。ハミルトン路と貪欲探索の極致

関連度高高校数学

指数関数と対数関数

「爆発的な急成長」と「莫大な桁数を扱いやすい尺度に圧縮する」表裏一体の数学

関連度高工学応用

最短経路探索(ダイクストラ法とA*アルゴリズム)

グラフ上の無数のルートから「最もコストが小さい道」を一瞬で見つけ出す数学

同じレベルで次に挑戦したいトピック

6174202699938532495
同レベル推薦数の不思議・パズル

カプレカ数と6174のブラックホール

並び替えて引き算を繰り返すと、どんな数も必ず「6174」に吸い込まれる数の神秘

Max 92321
同レベル推薦数の不思議・パズル

コラッツ予想と3n+1の未解決世界

偶数は半分、奇数は3倍+1。世界中の大数学者を悩ませ続ける魔の数列

12345678930.1%
同レベル推薦数の不思議・パズル

ベンフォードの法則と不正会計検知

自然界の数字の先頭はなぜか「1」が30%を占める。脱税・データ捏造を見破る数理

工学・実社会での応用先でつながるトピック

工学・実践連携小学校・算数

場合の数と樹形図(組み合わせの初歩)

「もれなく、重複なく」数え上げるための樹形図と積の法則

工学・実践連携中学数学

三平方の定理

直角三角形の3辺に隠れた面積の等式

面積 x1辺 = √x√x√x34
工学・実践連携中学数学

平方根と無理数

「2乗するとxになる数」を図形の面積と数直線から理解する

あなたの数学力をさらに伸ばす

数学の弱点診断や算数パズルに挑戦してみませんか?

簡単な質問に答えてあなたにぴったりの学習ロードマップを発見したり、直感を試すパズルで数の面白さを体験できます。