Flying Cube

ルービックキューブに関するブログです

CFOP法の解釈:F2L編 その2

さて、前回は、F2Lを完成させるための中継地点として、

  • 正結合のペア (解法: R U’ R'):f:id:yuimat:20170601145650p:plain

  • 正分割のペア(解法: R U R'):f:id:yuimat:20170601145739p:plain

の2つの状態を作りました。 これらは、F2Lの完成形から「既にそろっているピースを2手以上ずらさずに行える最小の手順」で導かれました。 2手以上ずらさないという条件は、ズレにズレを重ねて複雑な操作になることを防ぎ、直感的で明解な操作で解法を構成するための重要な条件です。

この「2手以上ずらさない」という条件を置いた場合には、「あと一歩で完成する形」というのはこの2つ以外にはないことが言えました。 つまり、そろったピースを極力崩さない直観的な解法では、必ず最後にこの2つのいずれかを経由するということになります。

ここから先は、この2つの状態を完成直前の中継地点として考えて、F2Lペアの任意の初期状態から、これら2つの形のいずれかに辿り着く道筋を考えていきます。 この際、引き続きこれまでと同様「そろえたピースを2手以上ずらさない」という条件を用いて、なるべく直感的な操作で解法を構成することを試みます。 この方法で行き詰った場合のみ、条件を緩めて考えることにしましょう。

(前回の内容では、おまけ的に「2つ以上のF2Lスロットがそろっていない」という条件付きで導かれる「Key Hole」という名の4つの状態も導出しましたが、これらは条件付きの特殊な状態であり、上級者が使う高度な技法の1つなので、今回の記事では扱わず、後ほど別の記事で掘り下げたいと思います。)

復習:「2手以上ずらさない」操作

最初に、これまで考えてきた状況を復習しておきましょう。まず、今考えている状態は

  • クロス色は白で、クロスは解かれている
  • 青赤のF2Lペアを解こうとしている
  • 他の三つのスロットは全て解かれている

という状況のものでした。この状況で、既にそろえ終えたピースの部分を色付きで図示すると、

f:id:yuimat:20170601103031p:plain

のようになっていました。前回、この状態に対して、

  • 既にそろっているピースがずれることなく、
  • 青赤のF2Lペアの位置を変えられる可能性がある

操作列がどんなものかを考えました。 これは「既にそろっているピースを2手以上ずらさない」という条件の元では、

  1. 任意のU面回転:U, U', U2
  2. R → 任意のU面回転 → R'
  3. F' → 任意のU面回転 → F

の3パターンしかありませんでした。

青赤のF2Lペアをそろえている間は、既にそろえたピースをずらさずに考えたいことには変わりありません。 そこで、これから先の操作は、特別な断りをおかない限りは(既にそろっているピースを2手以上ずらすことを許さない限りは)、上記3パターンの組み合わせしか考えないことにします。

この考え方を念頭に置きつつ、任意の状態から「正結合ペア」「正分割ペア」を作る手順を実際に組み立てていきます。

F2Lペアが取りうる状態

まず、F2Lペアが取りうる状態についてあらかじめ一般化しておきたいと思います。

ここでは、

  • ターゲットスロットは右手前に固定する
  • U面の回転に関して合同な形は同一のグループにまとめ、代表例だけを示す
  • R面とF面に対して対角線対称となる状態は同一のグループにまとめ、代表例だけを示す

このような戦略で整理すると、F2Lペアの取りうる状態は、以下の23パターンになります。 (例によって名前は私が適当に付けました)

  1. F2Lペアが U面にある場合 [2U]
    1. U面に正結合の色がある(エッジ青・コーナー青)[2U-Connected]
      f:id:yuimat:20170604225252p:plain [2U-C] f:id:yuimat:20170604225326p:plain [2U-C-90] 
      f:id:yuimat:20170604225215p:plain [2U-C-180] f:id:yuimat:20170604225520p:plain [2U-C-270]
    2. U面に正分割の色がある(エッジ青・コーナー赤)[2U-Split]
      f:id:yuimat:20170604230251p:plain [2U-S] f:id:yuimat:20170604231236p:plain [2U-S-90] 
      f:id:yuimat:20170604230348p:plain [2U-S-180] f:id:yuimat:20170604230358p:plain [2U-S-270]
    3. F2Lコーナのクロス色が上にある(エッジ青・コーナー白)[2U-Twisted]
      f:id:yuimat:20170604232218p:plain [2U-CT] f:id:yuimat:20170605111940p:plain [2U-CT-90] 
      f:id:yuimat:20170605112007p:plain [2U-CT-180] f:id:yuimat:20170604232849p:plain [2U-CT-270]
  2. エッジがU面、コーナーがターゲットスロット内にある場合 [U-Edge]
    f:id:yuimat:20170604234344p:plain [UE] f:id:yuimat:20170604233546p:plain [UE-CR] f:id:yuimat:20170604234353p:plain [UE-CL]
  3. コーナーがU面、エッジがターゲットスロット内にある場合 [U-Corner]
    f:id:yuimat:20170605000550p:plain [UC] f:id:yuimat:20170604235713p:plain [UC-CT]  
    f:id:yuimat:20170605001600p:plain [UC-ET] f:id:yuimat:20170604235728p:plain [UC-CT-ET] 
  4. F2Lペアがターゲットスロット内にある場合 [0U]
    f:id:yuimat:20170603000738p:plain [Solved] f:id:yuimat:20170605002856p:plain [ET] 
    f:id:yuimat:20170605010653p:plain [CT] f:id:yuimat:20170605011838p:plain [ET-CT]

このうち1つは完成形 [Solved]、2つは正結合ペア [2U-C] と正分離ペア [2U-S] ですので、残りの20パターンを正結合ペアもしくは正分離ペアのいずれかの形に持っていく操作を考えなければなりません。 20パターンの解を考えるというのは、そこそこ骨の折れる作業のように思いますが、不思議なことに、実際にやってみるとそれほど大変ではありませんし、理解するのも比較的簡単です。

何故そんな魔法のようなことが起こるのでしょう。その秘密は今我々が置いている操作の制約にあります。

  • 今、キューブに対して行える操作というのは、たったの3パターンに限定されています。 しかもこれらは、そろえたピースを崩したらすぐに元に戻すように設計されたものなので、操作の直観的な解釈が明解です。

なるほど、操作が直感的に理解しやすいのはうれしいですね。

  • また、今考えている3パターンの操作は「既にそろえたピースの位置が崩れない」という前提なので、ある状態から3パターンのうちの1つの操作をした後の状態というのは、必ず上記23パターンのどれかに遷移しています。 すると残りの部分は、遷移後の状態の解法がそのまま使えることになります。 言い換えれば、ある状態からの解法というのは、必ず他の状態からの解法と後半部分が重複することになりますので、一つ一つ全く違うパターンを考えるのではなく、前半部分に少し操作が増えただけの似たようなパターンを考えればよいということが分かります。

なるほど、他の状態の解法に付け足し付け足しで解けるということなので、なんとなく手軽な気がしてきましたね。

ただし、これらは、 上記20パターンの全てが今考えている3パターンの操作だけで解ければ、という前提です。 もしかすると、この3パターンの操作だけでは同じ状態の間をループのように行ったり来たりしてしまい、永遠に「正結合ペア」や「正分離ペア」に辿り着けない状態たちがあるかもしれません。 本当に3パターンの操作だけで上記20パターン全てが解けるのでしょうか。

これは論より証拠ということで、実際に具体的な操作を見ていきましょう。 この証拠を示すには、前回と同様、完成状態から一手ずつ状態を巻き戻して考えるのが良さそうです。 今、完成直前の状態として「正結合ペア」と「正分離ペア」がありますから、まずはこれらをもう一段階崩した状態を考えていきましょう。

正結合ペアを一段階崩した状態

ここでは、正結合のペア

f:id:yuimat:20170601145650p:plain

をさらにもう一段階崩した形を考えます。 この状態を崩すために、今我々に出来る操作は

  1. 任意のU面回転
  2. R → 任意のU面回転 → R'
  3. F' → 任意のU面回転 → F

でしたので、まず、U面を回転させた状態を列挙してみます。

Uなし:f:id:yuimat:20170603001208p:plain U:f:id:yuimat:20170603002339p:plain  
U2f:id:yuimat:20170603002655p:plain U':f:id:yuimat:20170603002723p:plain

このそれぞれに対して、パターン2、3のいずれかを使って、F2Lペアをさらにずらせる操作を考えます。 「さらにずらす」というのは、操作の結果が上記4つ、正結合ペア、正分離ペア、完成形のどれでもない状態になるということです。 そのような操作は、

  • Uなし:変化させる操作なし
  • U:

    f:id:yuimat:20170605112224p:plain F' U' F [UC-CT-ET],  f:id:yuimat:20170605112243p:plain F' U2 F [UE-CR]

  • U2

    f:id:yuimat:20170605112139p:plain R U R' [UC], f:id:yuimat:20170605112106p:plain R U' R' [2U-C-90],
    f:id:yuimat:20170605112122p:plain R U2 R' [2U-C-180], f:id:yuimat:20170605112053p:plain F' U F [UE-CR],
    f:id:yuimat:20170605112043p:plain F' U2 F [UC-CT-ET]

  • U':

    f:id:yuimat:20170605111744p:plain F' U F [UC-ET], f:id:yuimat:20170605111817p:plain F' U' F [UE],
    f:id:yuimat:20170605111930p:plain R U R' [UE-CR], f:id:yuimat:20170605111940p:plain R U2 R' [2U-T-90],
    f:id:yuimat:20170605112007p:plain R U' R' [2U-T-180]

となります。 結果の状態が同一のものを省くと、これらの動作の結果得られる新しい状態というのは下記の9通りとなります。 (※「→」 の後の回転記号は正結合ペアにするための操作)

  1. F2Lペアが U面にある場合 [2U]
    1. U面に正結合の色がある(エッジ青・コーナー青)[2U-Connected]
      f:id:yuimat:20170604225326p:plain [2U-C-90] → R U R' f:id:yuimat:20170604225215p:plain [2U-C-180] → R U2 R'
    2. なし
    3. F2Lコーナのクロス色が上にある(エッジ青・コーナー白)[2U-Twisted]
      f:id:yuimat:20170605111940p:plain [2U-T-90] → R U2 R' f:id:yuimat:20170605112007p:plain [2U-T-180] → R U R' 
  2. エッジがU面、コーナーがターゲットスロット内にある場合 [U-Edge]
    f:id:yuimat:20170604234344p:plain [UE] → F' U F f:id:yuimat:20170604233546p:plain [UE-CR] → R U' R'
  3. コーナーがU面、エッジがターゲットスロット内にある場合 [U-Corner]
    f:id:yuimat:20170605000550p:plain [UC] → R U' R' f:id:yuimat:20170605001600p:plain [UC-ET] → U' R U R'  f:id:yuimat:20170604235728p:plain [UC-CT-ET] → F' U F 

つまり、正結合ペアをさらに一段階崩す操作によって、解かなければならない20パターンのうちの9通りをカバーしたことになります。

次に、正分割ペアに対して同様の操作を試してみましょう。

正分割ペアを一段階崩した状態

ここでは、正分割のペア

f:id:yuimat:20170604230251p:plain

をさらにもう一段階崩した形を考えます。 先程と同様に、まず、U面を回転させた状態を列挙してみます。

Uなし:f:id:yuimat:20170604230251p:plain U:f:id:yuimat:20170605145212p:plain
U2f:id:yuimat:20170605145225p:plain U':f:id:yuimat:20170605145242p:plain

このそれぞれに対して、パターン2、3のいずれかを使って、F2Lペアをさらにずらせる操作を考えます。 つまり、操作の結果が上記4つ、正結合ペア、正分離ペア、完成形のどれでもない状態になる操作を探すということです。 そのような操作は、

  • Uなし:

    f:id:yuimat:20170605150052p:plain F' U F [2U-T-180], f:id:yuimat:20170605150103p:plain F' U' F [UE-CL],
    f:id:yuimat:20170605150112p:plain F' U2 F [UC-CT-ET]

  • U:

    f:id:yuimat:20170605150530p:plain R U R' [2U-S-90], f:id:yuimat:20170605150404p:plain R U' R' [UE-CL],
    f:id:yuimat:20170605150416p:plain R U2 R' [2U-T], f:id:yuimat:20170605150351p:plain F' U F [UC-ET],
    f:id:yuimat:20170605150331p:plain F' U' F [2U-S-90], f:id:yuimat:20170605150340p:plain F' U2 F [2U-S-180]

  • U2

    f:id:yuimat:20170605151225p:plain R U R' [2U-T-180], f:id:yuimat:20170605151204p:plain R U' R' [UC],
    f:id:yuimat:20170605151214p:plain R U2 R' [UE-CL], f:id:yuimat:20170605151147p:plain F' U F [2U-S-90],
    f:id:yuimat:20170605151112p:plain F' U' F [2U-C-270], f:id:yuimat:20170605151131p:plain F' U2 F [UE]

  • U':

    f:id:yuimat:20170605150258p:plain R U R' [2U-S-270], f:id:yuimat:20170605150233p:plain R U' R' [2U-S-90],
    f:id:yuimat:20170605150244p:plain R U2 R' [UC], f:id:yuimat:20170605150224p:plain F' U F [UE],
    f:id:yuimat:20170605150203p:plain F' U' F [UC-ET]

となります。 結果の状態が同一のものを省くと、これらの動作の結果得られる新しい状態というのは下記の11通りとなります。 (※「→」 の後の回転記号は正分離ペアにするための操作)

  1. F2Lペアが U面にある場合 [2U]
    1. U面に正結合の色がある(エッジ青・コーナー青)[2U-Connected]
      f:id:yuimat:20170604225520p:plain [2U-C-270] → U' F' U F
    2. U面に正分割の色がある(エッジ青・コーナー赤)[2U-Split]
      f:id:yuimat:20170604231236p:plain [2U-S-90] → R U R' f:id:yuimat:20170604230348p:plain [2U-S-180] → F' U2 F f:id:yuimat:20170604230358p:plain [2U-S-270] → R U' R'
    3. F2Lコーナのクロス色が上にある(エッジ青・コーナー白)[2U-Twisted]
      f:id:yuimat:20170604232218p:plain [2U-T] → R U2 R' f:id:yuimat:20170605112007p:plain [2U-T-180] → F' U' F
  2. エッジがU面、コーナーがターゲットスロット内にある場合 [U-Edge]
    f:id:yuimat:20170604234344p:plain [UE] → F' U' F f:id:yuimat:20170604234353p:plain [UE-CL] → R U R'
  3. コーナーがU面、エッジがターゲットスロット内にある場合 [U-Corner]
    f:id:yuimat:20170605000550p:plain [UC] → F' U' F f:id:yuimat:20170605001600p:plain [UC-ET] → R U R'  f:id:yuimat:20170604235728p:plain [UC-CT-ET] → U' F' U2 F 

つまり、正分割ペアをさらに一段階崩す操作によって、解かなければならない20パターンのうちの11通りをカバーしたことになります。

残りの状態

これまで「正結合ペア」「正分割ペア」をさらに一段階崩すことによって得られる状態を見てきました。 それぞれの状態を作る手順の逆手順を回すことによって、以下の15個の状態については解法が得られたことになります。

  1. F2Lペアが U面にある場合 [2U]
    1. U面に正結合の色がある(エッジ青・コーナー青)[2U-Connected]
      f:id:yuimat:20170604225326p:plain [2U-C-90] → R U R' f:id:yuimat:20170604225215p:plain [2U-C-180] → R U2 R' f:id:yuimat:20170604225520p:plain [2U-C-270] → U' F' U F
    2. U面に正分割の色がある(エッジ青・コーナー赤)[2U-Split]
      f:id:yuimat:20170604231236p:plain [2U-S-90] → R U R' f:id:yuimat:20170604230348p:plain [2U-S-180] → F' U2 F f:id:yuimat:20170604230358p:plain [2U-S-270] → R U' R'
    3. F2Lコーナのクロス色が上にある(エッジ青・コーナー白)[2U-Twisted]
      f:id:yuimat:20170605111940p:plain [2U-T-90] → R U2 R' f:id:yuimat:20170605112007p:plain [2U-T-180] → R U R'  f:id:yuimat:20170604232218p:plain [2U-T] → R U2 R'
  2. エッジがU面、コーナーがターゲットスロット内にある場合 [U-Edge]
    f:id:yuimat:20170604234344p:plain [UE] → F' U F f:id:yuimat:20170604233546p:plain [UE-CR] → R U' R' f:id:yuimat:20170604234353p:plain [UE-CL] → R U R'
  3. コーナーがU面、エッジがターゲットスロット内にある場合 [U-Corner]
    f:id:yuimat:20170605000550p:plain [UC] → R U' R' f:id:yuimat:20170605001600p:plain [UC-ET] → R U R'  f:id:yuimat:20170604235728p:plain [UC-CT-ET] → F' U F 

残りは、次の5つです。

  1. F2Lペアが U面にある場合 [2U]
    • c: F2Lコーナのクロス色が上にある(エッジ青・コーナー白)[2U-Twisted]
      f:id:yuimat:20170604232849p:plain [2U-CT-270]
  2. コーナーがU面、エッジがターゲットスロット内にある場合 [U-Corner]
    f:id:yuimat:20170604235713p:plain [UC-CT]  
  3. F2Lペアがターゲットスロット内にある場合 [0U]
    f:id:yuimat:20170605002856p:plain [ET] f:id:yuimat:20170605010653p:plain [CT] f:id:yuimat:20170605011838p:plain [ET-CT]

もはやここまで来ると、3パターンの操作のいずれかを適当に行っても、既に解法を得たいずれかの状態に簡単に変更することが出来そうです。

f:id:yuimat:20170604232849p:plain [2U-CT-270] → R U' R' → U → f:id:yuimat:20170604233546p:plain [UE-CR]
f:id:yuimat:20170604235713p:plain [UC-CT] → R U R' → U' → f:id:yuimat:20170605112007p:plain [2U-T-180]   
f:id:yuimat:20170605002856p:plain [ET] → F' U F → U' → f:id:yuimat:20170604225215p:plain [2U-C-180] 
f:id:yuimat:20170605010653p:plain [CT] → R U' R' → U' → f:id:yuimat:20170604225326p:plain [2U-C-90] 
f:id:yuimat:20170605011838p:plain [ET-CT] → F' U F → U2f:id:yuimat:20170605112007p:plain [2U-T-180]

これで、

  1. 既に三つのF2Lスロットが解かれている状況において、
  2. 最後のF2Lピースが取りうる全ての状態から
  3. 「既にそろっているピースを2手以上ずらさない」という直感的に分かりやすい動作のみを使って解く

解法が導出できました。

他にそろえていないF2Lスロットがある場合

さて、これまで、そろえ終えたピースが多く、最も動かせる場所が少ない事例として、既に三つのF2Lスロットが解かれている状況のみを考えていました。 ただし、他にそろえていないF2Lスロットがある場合には、これまでに見ていないピースの状態がいくつかありえますので、最後にその部分を考えて終わりにします。

  1. 別スロット
    • F2Lピースのいずれかが、ターゲットスロット以外のスロットに入っており、もう一方がU面にある
    • 2つのF2Lピースのいずれも、ターゲットスロット以外の、ある1つのスロットに入っている
  2. スロット横断
    • F2Lピースがそれぞれ異なるスロットに入っている

1の場合は特に問題ありません。 これまで見てきたように、F2Lピースが正しい位置に入るためには、最終的に「正結合ペア」か「正分割ペア」のいずれかの形になる必要がありますが、これらはどちらも2つのF2LピースがU面にある状態でした。 ですから、今F2Lピースが入っているスロットがどこであろうと、そのスロットをあたかもターゲットスロットであるかのようにみなして、「正結合ペア」「正分割ペア」いずれかの型に持っていく操作をすれば、自然とピースはU面に出てきます。 また、このとき既にそろえている他のピースがずれることもありません。 「正結合ペア」「正分割ペア」が出来上がったら、U面を回して、目的のスロットに挿入すればよいだけです。

2の場合は、R U R' などでどちらか一方のF2LピースをU面に上げる必要があります。 引き上げてしまえば、状況は1と同じになります。 ただし、エッジかコーナーのいずれかが正しい向きでターゲットスロットに入っている場合には、前回導出した Key Hole の操作が有効な可能性があるので、そうでない方のピースをU面に引き上げるほうが得策です。

f:id:yuimat:20170601183633p:plain f:id:yuimat:20170601184052p:plain

(Key Holeが使える例)

まとめ

F2Lの上級者(中級者?)向け解法の原理を理解するために、そこで使われている考え方を解きほぐし、アルゴリズムの導出過程を再現しました。 具体的には、

  1. 既に三つのF2Lスロットが解かれている状況において、
  2. 最後のF2Lピースが取りうる全ての状態から
  3. 「既にそろっているピースを2手以上ずらさない」という直感的に分かりやすい動作のみを使って解く

解法を導出しました。 (※ 導出した解法にはF面の回転がありますが、F面はR面やL面に比べて回しにくいので、実際のアルゴリズムでは y や y' で持ち替えて、R面やL面の回転に変換して回す場合がほとんどです。 ただ、アルゴリズム導出の基本的な考え方は同じです。)

さて、この過程で見たように、

  1. 任意のU面回転を行い、
  2. 「R → 任意のU面回転 → R'」か「 F' → 任意のU面回転 → F」のいずれかを行う

という動作を1セットとして考えると、F2Lピースはどんな位置からでも、高々3セットの操作で解くことが出来ることが分かります。 また、実際のところ、3回の操作が必要なものは

f:id:yuimat:20170604232849p:plain [2U-CT-270] f:id:yuimat:20170604235713p:plain [UC-CT]  
f:id:yuimat:20170605002856p:plain [ET] f:id:yuimat:20170605010653p:plain [CT] f:id:yuimat:20170605011838p:plain [ET-CT]

の5パターンのみで、それ以外のほとんどは2回、そして「正結合ペア」と「正分離ペア」のみが1回の操作で解けることも分かりました。 この事実を知っておけば、なるべくこの最短回数の手順で「正結合ペア」「正分離ペア」を作れればタイムも縮まるということも理解できると思います。

次回は、OLLについて掘り下げたいと思います。