ルービックキューブを自分の力で解く方法(その1)  の続きです。

 これで2段目まで揃います。

 ちなみにこのように壊したくないキューブを退避させる方法で手順を考える他に、動かしたいキューブを迎えに行く方法で考えることもできます。

3. 3段目に挑戦するために

 次は3段目です。3段目は2段目までを動かさない手順が必要です。でも、今までのようにじっと考えてもとても思いつくものではありません。少なくとも私には無理です。

 なにか別の戦略が必要です。

 例えば、コーナーキューブの向きだけ変える手順がほしいと思っても、どうやったらそんな手順ができるか想像もつきません。

 なので、逆に考えます。

 とにかく、1,2段目が動かない手順を見つけます。そして、その手順が3段目をどう変えているかを調べ、それを活用して揃えていくという戦略をとります。(2段目を揃える手をじっと考えて作れなければ、それもここと同じやり方で探します。)

 でも、1,2段目が動かない手順なんてどうやって作るんでしょうか。

 そのためになにか手がかりになる単純な要素手順を探します。

 たとえば、SS- と「行って帰る」だけでは元に戻ってしまいますが、SE-S-Eと二面の「行って帰る」を組み合わせてみます。すると、次の図のY字型の7つの灰色キューブだけが動きます。
 f11d0692b537644312f0c203aad900f480099137


 これは使えそうです。この手順を proc.X としましょう。

 この proc.X を利用して、Y字型の7つの灰色キューブのうち、1段目と2段目の2つのキューブが動かないような手順を見つければ、3段目を動かすのに使えそうです。

 そこでじっと考えます。proc.X の後を観察すると、1段目と2段目の2つの灰色キューブは上段に上がってきます。
f7f22127a2ac093216b8b10fa54ec75998c4d29a

 ここで、proc.Xの逆手順を proc.X- とすると、それは E-SES- ですが、今その proc.X- をするとその2つは元の位置に戻ります。