イントロ
大きい問題を同じ小問題へ分ける
ハノイの塔で再帰を体験する
一見複雑なn枚の円盤移動も、最大の円盤を動かす前後にn−1枚の移動が必要だと見抜けば、同じ形の小さな問題二つと一手へ分解できます。手順と手数の理由を同時に説明できる分解です。
上下にスクロールするかキーボードの上下キーを使うと、次の学習カードへ進めます。
ハノイの塔で再帰を体験する
一見複雑なn枚の円盤移動も、最大の円盤を動かす前後にn−1枚の移動が必要だと見抜けば、同じ形の小さな問題二つと一手へ分解できます。手順と手数の理由を同時に説明できる分解です。
n枚の最小手数をT(n)とすると、n−1枚の移動が前後に一回ずつ必要です。
再帰関係
T(n)=2T(n−1)+1
n−1枚を二回動かす手数に、最大円盤を動かす中央の一手を加えます。二回とも最小である必要があります。
最初の値はT(1)=1です。ここから順にT(2)、T(3)を作れます。
最小手数
T(n)=2n−1
枚数が1増えるたびに、手数は前の2倍より1多くなります。指数のnは円盤枚数です。
n=1、2、3で1、3、7になるか確かめます。
式だけを覚えず、「上をよける・最大を動かす・上を戻す」の三段階へ対応させます。小問題を一手と数えないことも重要です。
上のn−1枚を、目的棒を一時利用して補助棒へ移す
空いた最大円盤を出発棒から目的棒へ1回動かす
n−1枚を、出発棒を一時利用して目的棒へ移す
n=1なら円盤を直接1回動かして分解を終える
| 枚数n | 分解 | 最小手数 |
|---|---|---|
| 1 | 直接1手 | 1 |
| 2 | 1手分を二回+1 | 3 |
| 3 | 3手分を二回+1 | 7 |
| 4 | 7手分を二回+1 | 15 |
枚数n1
枚数n2
枚数n3
枚数n4
1、3、7、15と、前の値を2倍して1を加える規則が続きます。差ではなく、問題の分解から規則が導かれます。
4枚の最小手数T(4)をT(3)=7から求める式はどれですか。
n枚の問題はn−1枚の同じ問題二つへ分かれる
最大円盤の一手を二つの小問題の間に置く
最小手数はT(n)=2T(n−1)+1で表せる
T(n−1)は一手でなく小問題全体の手数である
基準T(1)=1から2ⁿ−1へつながる