「ハノイの塔」という名前があるのだが、ある種のパズルで、大きさの違う何枚かの穴あき円盤と、三本の棒を組み合わせたものをご存知だろうか。ゲーム盤にはこの三本の棒が立てて固定されていて、はじめ円盤はすべて棒の一本に差し込んで、積まれている。上から下に、小さい順である。パズルの目的は、この円盤を別の一本に全て動かすこと。この際ルールが二つあって、動かすのは一度に一枚の円盤、小さい円盤の上に大きい円盤を乗せてはいけない。
知らないと難しそうに感じるかもしれないのだが、これはパズルとしては特に難しいものではない。棒をA、B、Cとして、円盤が1、2、3の三枚だけのとき、正解への道はこんな感じになる。冗長だが、書いてみよう。
A321 B−−− C−−− |
A32− B1−− C−−− |
A3−− B1−− C2−− |
A3−− B−−− C21− |
A−−− B3−− C21− |
A1−− B3−− C2−− |
A1−− B32− C−−− |
A−−− B321 C−−− |
以上七手、普通に動かせばこうなるしかない手順である。難しそうに感じても、コインかなにかを使って手元でちょっとやってみるとわかると思う。知的なゲームというより、ある種のパターンの単調な繰り返しなのだ。
上は円盤三枚の例だが、円盤の枚数に従って手数は増えるがアルゴリズムに変化はない。つまり、どこまで行っても難しさの質が同じで面白みがないので、枚数の多いやつにちょっと挑戦してみるか、という気にはなかなかならないと思う。実際にこのパズルを作って売ったとして、円盤九枚(五一一手かかる)を動かし解いてみる人はほとんどいないはずである。円盤が何枚だろうと棒が三本で間に合う、というところが少し面白くはあるが、これが二本なら四本ならという方向への応用も、あまり楽しくはならない。
もちろん、パズルとして考えなければよいので、たとえば八枚(二五五手)はだいたい一年の平日の日数に近いから、もしかしたらカレンダーに使えるかもしれない。週末や祝日以外の一日に一枚、円盤を動かして、全部移せば一年が終わるわけである。六四枚の円盤を移し終えたときに世界が終わるという、有名な(ただし創作の)神話がこのハノイの塔に関しては伝えられているので、そういった演出で作ると面白いと思う。
ただここで、円盤の枚数を増やすに従っての、この手順数の増え方については注意しておきたいポイントである。明確にするため、逆に円盤を減らしてみよう。円盤が二枚のときは、
A21 B−− C−− |
A2− B−− C1− |
A−− B2− C1− |
A−− B21 C−− |
の三手、一枚のときは、当たり前の話、
A1 B− C− |
A− B1 C− |
の一手だから、要するに円盤の枚数をNとして、かかる手順の数は、2のN乗引く1(2N-1)である。これは証明ではないけれども、べき乗のかたちで増えてゆくことになるのだ。上に書いたように円盤が八枚なら二五五手、一〇枚なら一〇二三手である。
べき乗で増えてゆく数の威力については、ちょっと前に新聞の折りたたみに関係して書いたことがある(※)が、基本的にはこれもそういった種類の話である。厚みではなくて、パズルを完成させるに要する時間が倍々で増えてゆくので、目に見える数の円盤から「宇宙の終わり」などという時間が簡単に現れる。そこまで行かなくとも、円盤の数を一枚増やしただけで、作業量としては(約)倍になるので、これはちょっと直感に反している、と思う。
その日、私が友人の住む団地の公園で経験していたのも、このべき乗の効果だったのかもしれない。私はそのとき小学生で、友人と一緒に砂場で遊んでいた。夕暮れの迫るなか、砂場に「要塞」を建設していたのである。城壁を作り、天守閣を築き、防衛上の要地に砲台やらプラモデルのロボットやらを配置し、堀を掘ってビニールで漏水防止をした上で水を張った。作ってから天守閣の大きさを支えるには面積が不足していることがわかり、城壁も堀も一回り大きく、作り直したりした。そうなると城門付近の防御にいかにも難があり、ロボットも再配置を検討しなければならなかった。銃眼についてちょっとした設計変更を思いつき、すべての砲台を作り直したりもした。
そして、気が付いたら、あたりは真っ暗になっていたのだった。主観的には、まったく唐突に、見上げた空のスイッチを誰かが切ったようにして、真っ暗になっていた。砂場を照らす街灯があったので気が付きにくかったのだが、私は急に恐ろしくなり、家にとんで帰った。連絡もせずに遅くなったので、あとで父母にはものすごく叱られたのだが、なぜこんなことになったのか、どうすればこうならずに済むのか、かなり後までよくわからなかったので、叱られた意味はあまりなかったかも知れない。
それから幾星霜。大人になってしまい、世間の風にさらされるようになって、考えることがある。一般に、納期見積もりというのは、つまりそういうわけで、守られないのではないか。困難さが直線的に増すに従って、作業は倍々で増えてゆく、ということがある。いつもそうではないが、そういうことは確かにある。これからやる仕事を、こう、ハノイの塔を眺めるように見積もって納期を決めるときに、円盤の数は一〇くらいかと見て、実は一一枚だったとすると、作業量が一〇パーセント増えるのではなく、倍に増えるような場面である。増えた一〇パーセントの作業量を期間内に終わらせるには一〇パーセントだけ頑張ればいいが、二倍に増えた作業には倍の仕事をこなさなければいけない。それは無理だ。残業含めて一〇時間の労働時間にもう一時間の残業は簡単だが、もう一〇時間を付け加えると、寝る時間がなくなるのである。
こういうことだ。夕暮れまでの時間は「べき乗」で増える作業時間を内に納められるほど、長くはない。晩秋の夕方は特にそうなのである。