← Back to Terminal

ハノイの塔と輪廻

リシンウ
ハノイの塔と輪廻 アルゴリズムを学んだ友人なら、再帰を学ぶ際にハノイの塔の例を必ず学んだことがあるだろう。その中には多くの神秘的な要素がある。なぜ最下層の円盤を動かす前後のステップは完全に鏡像のように見えるのか?なぜ僧侶がすべての円盤を別の柱に移動したときに世界が滅びるという設定があるのか? 第一の質問に答える。 この問題の制約は、小さな円盤を大きな円盤の上に置けないことである。そのため、最大の円盤を動かすことが最も難しいステップとなる。同時に、最大の円盤は最後にしか動かせないため、それまでは無視できる。問題全体は上のN-1個の円盤をどう動かすかになる。この推論論理は上に登るたびに適用でき、最上層の円盤まで続き、再帰を構成する。つまり、層層に入れ子になった大きな問題を絶えず小さな問題に分解し、大きな問題を解決する前に中の小さな問題を解決しなければならない。ハノイの塔の制約は、層層に分解する方式で解決することを必要とするため、破壊は必然である。 各N-1部分問題で最大の円盤を動かすとき、目的地の柱は空でなければならない。なぜなら最大の円盤は必ず最下層に置かなければならないからだ。同時に、最大の円盤を動かした後、元の柱も空であるべきだ(N-1に関係のない大きな円盤は無視される)。したがって、残りの円盤は必ず第三の柱にあり、大きな円盤を小さな円盤の上に置けないという制約条件により、この柱には必ず完全な塔がある。したがって、各N-1小塔の再建は第N番目の大きな円盤を動かすために必要(最適)であることがわかる。 最終的に見えるのは、各N-1個の大きな円盤が動かされる前に、上の小さな塔が破壊され再建される必要があるということだ。上層の小さな塔が破壊・再建される過程で、さらに上層のより小さな塔がそれぞれ破壊・再建の中で破壊・再建される必要がある。全体の構造は時間軸上で分岐する木のようで、最大の円盤の移動を木の根として始まり、一つの枝が上層の小さな塔の破壊に分岐し、もう一つの枝が再建に分岐する。最小の円盤の移動まで分かれていく。 第二の質問は実際にはハノイの塔が表す世界観に関するものだ。 ハノイの塔はこのような世界である。最大の世界が破壊・再生する前に、各小さな世界は破壊・再生を一度経験する必要がある。最大の因果を解くには、小さな因果が倍増して解く・結ぶ輪廻を経験する必要がある。縁起縁空が循環を繰り返し、最大の縁起縁空まで、全体の因果構造が終止する。