ルービックキューブには解法がある
ルービックキューブには解法があります。私は高校1年生の時にその事実を知り、1週間ほどでマスターしました。現在、公式キューブであればどのような状態に崩れていても3分前後で6面を揃えることができます。(厳密に言えばセンターキューブの角度までは揃えることができません。全コーナーキューブ・エッジキューブ・センターキューブの色を揃えることができます)
これはあまり知られていない事のようで、披露すると驚かれる事があります。テレビに出てくるキュービストの中には10秒台というとんでもないタイムで揃えることができる人もいますので、ルービックキューブを全面揃える=すごいこと、という図式ができあがっているのかもしれません。解法を知らない人では4、5回ほど崩したキューブを元に戻す事はできないと言われます。まったくでたらめにやって揃えようと思った場合、その組み合わせは43,252,003,274,489,856,000(4,325京2,003兆2,744億8,985万6千)通りであるとwikipediaに書かれていました。
ルービックキューブの解法の多くは、特に頭を使うものではありません。全部で10通りもない「パターン」を学習するだけのものです。このパターンを実行すると、必ずこうなる、ということを暗記することで6面を揃えていきます。色々な揃え方があるようですが、有名なものが2つ知られています。1つは名前がついていてLBL(レイヤーバイレイヤー)と言われる揃え方です。もう1つは、ルービックキューブの公式ガイドブックに掲載されていた揃え方です。(私は名前を知らないのですが、便宜的に『公式』と呼びます。)公式では、
- 表面の9キューブを揃える
- 裏面のコーナーキューブの位置を合わせる
- 裏面のコーナーキューブの角度を合わせる
- 裏面のエッジキューブを揃える
- 横面のエッジキューブの位置を揃える
- ルービックスマヌーバ
で完成です。誰もが揃えられるようになると悔しいので、詳しくは教えないことにしました。続きはwebで。
なぜ唐突にルービックキューブの話になったかというと、仕事でプログラムを開発していたらどうしてもデータベースに接続できないバグが出たからです。最終的には問題箇所を発見する事ができましたが、多くの時間を費やしてしまいました。まず最初に、何となく怪しそうなところを触ってみたのですが改善しません。DBを再起動したり、コンパイルをやり直したりするのですが一向に良くなりません。急がば回れということで、動くミニマムコードから徐々に問題のプログラムに近づけていったところ、あっさりと問題箇所が発覚しました。下手な鉄砲は数を打っても当たらないものですね。あとちょっとで揃いそうなルービックキューブがなかなか揃わないのと似ていると思います。
ルービックキューブでは、既に揃っている面を完全に崩してでも手順の通りに丁寧に揃えていく事が完成への近道になります。少しでもそのルートを外れると一般人では揃えることができなくなります。プログラムを作っていても「ここは間違っていないはずだから、他の部分に間違いがあるに違いない」という誤った見当のせいで無駄に時間が過ぎる事がよくあります。それを避けるためには、間違っているかどうかを見極める視線が妙な自信で曇ってしまわないようにしなくてはなりません。
数学的思考を養うためのおもちゃと思われるルービックキューブですが、完全に揃え方をマスターしてしまった先には人生観に通じる思想が隠れていたりする逸品であると言えます。お子様のクリスマスプレゼントにいかがでしょうか。