私は昨日面白いアイデアを得ました。各顔にすでに同じ色のルービックキューブがあるとします。さて、もし私が一度それをひねり、私がそれをひねる方法を知っていれば、このステップを逆にすることによってキューブを元に戻すことができます。もし私が二度ひねれば、私はいつも最小2回反転してキューブを回復することができました。だから、私はランダムにn個のステップをねじると、キューブを元のものに戻すためのn個のステップがいつも存在すると思っています。ルービックキューブに関連するアルゴリズム
しかし、nが大きくなると、より多くのステップを使用するときに同じ効果を達成するために、より少ないステップを使用できる一定の一連のステップが存在するため、反転を実行する最小ステップはnより小さくなると考えます。
たとえば、n = 100の場合、n = 30の場合と同じパターンになるため、n = 30に相当します。それから、nを20に減らすためにmステップの操作を使用できますが、mは10未満です。
したがって、nがどれほど大きくても、常に
という小さな数値に収束すると考えています。ルービックのキューブが最初のものであっても、kをnの収束であるkステップ以下で元に戻すことができました。
私の質問は、nの収束を見つけるために使用できるアルゴリズムが存在するかどうかです。私は、グラフ理論やグループ理論の中でいくつかのことが役に立つと思います。
実際にプログラミングに関する質問はありません。おそらくhttp://mathematics.stackexchange.com – RBarryYoung
でよりよく尋ねられるでしょう。明らかに、収束は20です:http://www.popsci.com/science/article/2010-08/gods-number-revealed-20-moves-will-解く - 任意のrubiks - キューブの位置 – RBarryYoung
[ルービックキューブのすべての位置は20移動以下で解決することができます。](http://www.cube20.org/) –