悪魔のアルゴリズム

ルービックキューブにおいて、ある手順(アルゴリズム)を繰り返したときにどんな開始状態からでも途中に揃った状態が現れるような手順のうち、最短のものを悪魔のアルゴリズム(The Devils' Algorithm)と言い、その手数を悪魔の数字(The Devil's Number)と言うらしい。へー。

毎日ルービックキューブを練習しているが、平均20秒が切れない。

何秒が切れないとか言っていると忘れがちだけど、解法を覚えてルービックキューブを揃えるというのはそもそも難しい。時間は気にしないから、3点交換などを繰り返して揃えるのでも良いよと言ったって、何個かは手順を覚えないといけない。そこでこのような動画に需要が生まれる。

www.youtube.com

要は、逆セクシームーブ(U R U' R')とその左右対称の手順だけでF2LもLL(ラストレイヤー)のエッジもコーナーも揃えられますよという解法だった。

コーナーはなるほど感がある。3点交換の手順とか要らないのか。一方、エッジは逆セクシームーブの前後や間に FU などを挟んでいて、それは手順が1個だけと言えるのか? といういちゃもんが付けられそうな気がしなくもない。あと、理屈抜きで覚えないといけない手順が1個というだけで、分岐というか、それなりに考えないといけないことはある。

そこで、「宇宙一簡単な解法! 覚える手順は本当に1個だけ!」というネタ動画を作れないかと考えた。

逆セクシームーブは6回で元に戻る。R U という手順は64回で元に戻る。そんな感じでルービックキューブの状態数である43,252,003,274,489,856,000回で(初めて)元に戻る手順があれば、その手順を回しているだけでいつかはキューブが揃う。「ネタ動画」と言っているのは、最悪で43,252,003,274,489,855,999回手順を回す必要があり、使い物にならないからである。

で、そんな手順があるのかというと無い。どんな手順でも最大1,260回で元に戻ってしまうらしい。

Rubik's Cube group - Wikipedia

その手順の一例は R U2 D' B D' 。誰か1,260回回してみてほしいw

じゃあ無理だなぁ……とそのまま忘れていた。

最近別件でググっているときに冒頭のページが出てきて、悪魔のアルゴリズムという概念を知った。

私が考えていたことと違うのは、手順を回すごとに状態を見るのではなく、回している途中の状態も見るということ。それなら、1,260より多い状態が得られる。

最短の手順は分からないと。最短でなくても知りたいところだが、繰り返し回してどんな初期状態からでも解ける手順の長さの下界は34,326,986,725,785,600(=43,252,003,274,489,856,000/1,260)。そりゃそうか。例えば、長さが100の手順だと、その手順は1,260回以下で元に戻るので、繰り返し回しても最大でも126,000個の状態しか途中に出てこない。「宇宙一簡単な解法!」の動画は諦めるしかない。

ちなみに、そのような手順が存在することは自明で、ルービックキューブの全ての状態43,252,003,274,489,856,000個について、その状態にして戻す手順を繋げれば良い。