Flying Cube

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

CFOP法の解釈:F2L編 その1

導入

前回は Cross の解法について理解しました。 今回は、次のサブステップである F2L について、理屈を掘り下げていきましょう。

F2L は First Two Layers の略で、その名のとおり、下から二層目までを完全にそろえるプロセスです。 現在、クロスのステップが終わり、下のようにクロスエッジとそれらが隣接するセンターキューブの色がそろった状況です。

f:id:yuimat:20170531143453p:plain

これを、下図のような状態に持っていきます。

f:id:yuimat:20170531143905p:plain

F2Lには、正しくそろえるための明確なアルゴリズム(具体的で完全な操作の手順)があります。 このアルゴリズムは、初心者向けと上級者向けの2つの方法があるようです。 それぞれの手順の概要を示すと、

  • [初心者向け] 一層目のコーナーピースを全部正しい位置に入れた後、二層目のエッジピースをそれぞれ正しい位置に入れる。

f:id:yuimat:20170601014040p:plainf:id:yuimat:20170601014207p:plainf:id:yuimat:20170601013953p:plain

  • [上級者向け] 4つある柱上のスロットに対して、それぞれ、一層目のコーナーピースと二層目のエッジピースをU面で合わせて同時に入れる。

f:id:yuimat:20170601014040p:plainf:id:yuimat:20170601013953p:plain

という感じです。 調べたところによると、やり方が覚えやすいのは初心者向けの方なのですが、ここでは敢えて上級者向けの方法をベースに説明したいと思います。 何故かと言うと、初心者向けの方法は、実際にやっていることをよくよく考えてみると、一度コーナーピースを正しい位置に入れた後、わざわざもう一度U面に出して、結局最終的に対応するエッジピースとコーナーピースをU面で合わせて二つ同時に入れ直す、という二度手間な操作をしているということが分かるからです。 30代になってから始める大人のルービックキューバーとしては、そんな格好悪いことはやりたくないですね。格好つけたいですね。

では、具体的に F2L の理論を掘り下げていきましょう。 以下に、今回の説明のための用語を定義しておきます。

  • F2Lコーナー: F2Lでそろえるべき一層目の4つのコーナーピース。
  • F2Lエッジ: F2Lでそろえるべき二層目の4つのエッジピース。
  • F2Lペア:隣接すべき F2L コーナーと F2L エッジのペア。例えば白クロスの場合、青と赤の両方の色を含むコーナーピースとエッジピースは F2L ペア。このペアを青赤のF2Lペアと呼ぶ。また、F2Lペアのいずれか1つのピースを F2Lピースと呼ぶ。
  • F2Lスロット: F2Lペアを最終的に入れるべき、4つの、2 × 1 × 1 の場所。
  • ターゲットスロット:ある F2Lペアが最終的に入るべき F2Lスロット。

問題設定

ここでは、説明にあたってこれから考えていく状況を一般化します。

Cross の場合と同様、F2Lの場合も色に関する対称性がありますので、クロス色が白で、青赤のF2Lペアを解こうとしている場合のみを例に取って考えていきます。 また、最も可動の制約がきつい、他の三つのスロットが全て解かれている状態を考えます(ただし、二つのスロットが解かれている状態の場合のみ使える手順も後で少し考えます)。 例えば、こういう状態ですね。

f:id:yuimat:20170531160326p:plain

この問題設定において、具体的にF2Lペアが取りうる状態と、それぞれに対する解法を一般化していきましょう。

中継地点の設定

F2Lペアの状態を一般化するにあたっては、まずそもそも「どのようにしたら、簡潔かつ明瞭な方法で解けるか」ということを考えなければなりません。 人間は、一度にたくさんのことを考えるのは苦手ですから、複雑な物事を解決するときは「道標」が必要です。 ここでいう「道標」というのは、長い手順の中の「考えの中継地点」です。 例えば、上にある [初心者向け手順] の例で言うと、「まずはとにかくコーナーピースを入れることに集中して」、「次にエッジピースを入れる」というように、適切な中間ゴールを設定することで、複雑な問題をより簡単な2つの問題に切り分けて考えることが出来ます。 また、図のように、中継地点があることによってスタートからゴールまでの道筋として考えなければならないパターンの数を絞り込むことが出来ます。

f:id:yuimat:20170601114903p:plain

状態の一般化というのは、これら、スタート地点、中間地点の状態を類型にまとめ上げる作業ですから、どのような中間状態を定めるかを考えなければ、一般化を考えることもできません。

そこで具体的にどういう中継地点を用意すれば簡潔かつ明瞭になるかというのが問題になります。 先の初心者向け解法は、中間ゴールが直感的に分かりやすいという点では明瞭性が高いのですが、手順の途中でわざわざ二度手間な操作を挟んでいて少し遠回りな解法になっています。 そこで、より効率の良い中継地点を設定したくなります。 初心者向け手順では、「F2Lコーナーが全て解かれた」という見た目に分かりやすい中継地点が置かれていたわけですが、その後の手順はそれほど単純ではありません。 上級者向け手順では、「見た目のわかりやすさ」ではなく「中継地点から後の解き易さ」と「中継地点へのたどり着きやすさ」を考慮して中間ゴールが設計されています。

さて、では実際に、上級者向け手順の中継地点がどのような考えで作られるのかを再現していきたいと思います。 この中継地点は「解き易さ」が基準ですので、まず、とても簡単に解けるいくつかの状態を考えて、そこを後ろから1番目の中継地点にします。 次に、より複雑な状態を「簡単な手順で」これらの簡単な状態に帰着させていく、ということ繰り返すことで、後ろから順に中継地点を設定していき、手順の道筋を明瞭化していきます。

完成形を僅かに崩した状態

まず、簡単に解ける例として、F2L が完全に解かれている状態から少しだけ崩した状態を考えたいと思います。 「少し崩した状態」というのは具体的にどういう形がありうるでしょうか。 ここで、注意しなければならないのは、せっかくそろえたクロスや他のF2Lスロットのペアを壊さないように回したいということです。 どのような動きをすると、すでにそろえているクロスやF2Lペアに影響があるか考えてみましょう。

今、青赤以外のスロットは全てそろっていると仮定すると、動かしたくないピースの領域は下図での色付きのピースの部分として表せます。

f:id:yuimat:20170601103031p:plain

このとき、U面はどんなに回してもすでにそろえたクロスとF2Lピースに影響を与えません。 一方で、それ以外の面は、無条件にどんな操作でもしていいわけではありません。 なので、基本的には、この自由に回せるU面と、その他の面において許される動きを駆使して残りのF2Lペアをそろえていくことになります。

では、U面以外の面は、どのような動きなら許されるのでしょうか。 上図の状態では、U面以外を回転させると、必ず既にそろえたピースがどこかでずれてしまうことがわかると思います。 動かすたびにそろえたピースがどんどんずれていってしまうと困りますので、基本的な考え方として、U面以外の回転をして、そろっていたピースがずれてしまったら、「それ以上さらにずれる」前に、そのずらした分を元に戻さなければならないものとして考えます。

つまり、 R したら R'

f:id:yuimat:20170601103031p:plain → R → f:id:yuimat:20170601104140p:plain → R' → f:id:yuimat:20170601103031p:plain

F したら F'

f:id:yuimat:20170601103031p:plain → F → f:id:yuimat:20170601104345p:plain → F' → f:id:yuimat:20170601103031p:plain

というように、必ず逆回転で元に戻すことにしようというわけです。 ただし、ある回転の手順をした後に、すぐにその逆手順をするのでは元の状態に戻るだけで何も変化がありません。 R と R´ の間、あるいは F と F' の間に、何か別の操作をしなければなりません。

さて、ここで R をした後の状態と F をしたあとの状態に重要な違いがあることが分かるでしょうか。 ヒントは、上図のグレーの部分は、まだそろえていないピースを表している部分なので、その部分は自由に動かしても良いということです。

実は、R をした後の状態では、U面には1つも色の付いたピースが乗っていませんから、U面を自由に回すことが出来ます。 しかし、F をした後の状態では、色の付いたピースが1つも乗っていない面というのはありません。 つまり、この状態でどこかの面を回すと、F でずらした上に、さらに別方向にもう一段の新しいズレを産んでしまうことになります。 ズレを何段も重ねることは、手順の明瞭さの観点からなるべく避けたいことですので、ここではこのような2手以上のズレを引き起こす動きは禁止することにします。

つまり、R と R' の間では、U面の回転であれば既にそろっているピースに影響を与えずに行える

f:id:yuimat:20170601103031p:plain → R → f:id:yuimat:20170601104140p:plain → U面を回せる → R' → f:id:yuimat:20170601103031p:plain

のに対して、F と F' の間では、どの面の回転も、さらなるズレを生じさせるため回せないということです。

f:id:yuimat:20170601103031p:plain → F → f:id:yuimat:20170601104345p:plain → どこも回せない → F' → f:id:yuimat:20170601103031p:plain

この性質の違いを全ての回転方向に関して書き下すと

  • R: R → 任意のU面回転 → R' が許される
  • F': F' → 任意のU面回転 → F が許される
  • D: D → 任意のU面回転 → D' が許される
  • D': D' → 任意のU面回転 → D が許される
  • D2: D2 → 任意のU面回転 → D2 が許される
  • それ以外の回転:その回転の後に追加で別の面を回すと、既にそろえ終えたF2Lペアやクロスエッジにさらなるズレが生じてしまう。

ということになります。つまり、既にそろえたピースを崩さないような動きというのは(2手以上のズレを許さない、という仮定のもとにおいては)、

  • U面を動かす:U, U', U2
  • 側面を動かす
    • R → 任意のU面回転 → R'
    • F' → 任意のU面回転 → F
  • D面を動かす
    • D → 任意のU面回転 → D'
    • D' → 任意のU面回転 → D
    • D2 → 任意のU面回転 → D2

の8通りのパターンしか存在しないことになります。

このことを念頭に、「完成形を少し崩した状態」を考えてみましょう。まず、完成系は下図の状態です。

f:id:yuimat:20170601013702p:plain

この状態に対してU面を動かしても状態を変化させないことは明白ですので、上の8パターンのうち、残りの5パターンを考えてみます。

完成形を僅かに崩した状態(側面を動かすパターン)

側面を動かす場合の2パターンですが、これらは向きに関する対称性がありますので、ここでは R → 任意のU面回転 → R' の場合だけ考えます。 このパターンは、 R U R'、R U' R'、R U2 R' の3通りに書き下せます。

  • R U R' と R U2 R' :

f:id:yuimat:20170601145650p:plain f:id:yuimat:20170601145714p:plain

  • R U' R' :

f:id:yuimat:20170601145739p:plain

このうち、R U R' と R U2 R' は、それぞれ手順を行った後に U面の回転を加えれば同一の状態になりますので、1つの状態とみなします。 したがって、二つの F2LピースがU面上で

f:id:yuimat:20170601145650p:plainf:id:yuimat:20170601145739p:plain

のいずれかの形になっていれば、これらがまさに「完成形を僅かに崩した状態」です。 これらの状態は「既にそろっているピースを2手以上ずらさずに行うことができる最小の手順」で解ける状態ということになります。 これらを、完成直前の中継地点として設定することにしましょう。

後の説明のために、これらの状態には以下の名前をつけておきたいと思います。

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

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

完成形を僅かに崩した状態(D面を動かすパターン)

D面を動かす場合の手順は3パターンありました。先程と同様に、この手順を使って完成形から少し崩すことを考えたいのですが、実は、ここで根本的な気づきがあります。 D面をずらすだけでは、

  • f:id:yuimat:20170601013656p:plain → D → f:id:yuimat:20170601155311p:plain → 任意のU面回転 → D'
  • f:id:yuimat:20170601013656p:plain → D2 → f:id:yuimat:20170601155252p:plain → 任意のU面回転 → D2

のように、今ずらそうとしている青赤のF2Lペアは下の2層にとどまったままです。 この状態でどんなにU面を回しても、青赤のF2Lペアに影響をあたえることは出来ないので、結局最終的に元の

f:id:yuimat:20170601013656p:plain

の位置に戻ってきてしまいます。つまり、これらの操作のパターンでは「完成形を僅かに崩した状態」が作れないことがわかります。 ですから、結局のところ、上述の「正結合のペア」と「正分割のペア」の二つが、完成形から最短の操作でできる中間状態となります。

さて、「完成形を僅かに崩した状態」の検討をここで終えてしまってもよいのですが、せっかく動かせるはずのD面を使って完成形を崩す手順が1つもないというのは何だかつまらないですね。 そこで、前提条件として置いている制約を少し緩めてみて、もうちょっとだけ考えてみましょう。

今、我々にとってキューブを回転させる方向を縛っている制約というのは、

  1. 他の3つのF2Lスロットが全てそろっている
  2. 既にそろえ終えたピースを2手以上ずらすことをしない

という二つのものでした。これらの制約をそれぞれちょっとだけ緩和してみましょう。 まず、1の条件を「2つのF2Lスロットのみ完成している」状態に緩めてみましょう。 先程と同様に、既にそろえてしまったピースの色のみを図示すると、2つのF2Lスロットが完成している状態というのは、対称なものを除けば

f:id:yuimat:20170601162202p:plain f:id:yuimat:20170601161813p:plain

(※注:二つ目の図は左後ろのスロットもグレー)

の二通りがあります。この緩和によって、動かしても良いグレーの領域が少し広がりました。 このとき、1つ目の例に D や D' の操作を加えると、

f:id:yuimat:20170601162202p:plain → D → f:id:yuimat:20170601162252p:plain

f:id:yuimat:20170601162202p:plain → D' → f:id:yuimat:20170601180730p:plain

2つ目の例に D2 の操作を加えると、

f:id:yuimat:20170601161813p:plain → D2 → f:id:yuimat:20170601174541p:plain

のようになります。 ここで注目すべきなのは、この状態は、最初に考えていた

f:id:yuimat:20170601103031p:plain

の状態の特性である「グレーのスロットがどこかに1つ出来ていて、かつU面が完全にグレー」と同様の特性を持っていることがわかります。 違いは、(1)スロットの位置と(2)一層目が一手分ずれている(D2も一手とみなす)こと、(3)グレーのピースが二つ分増えていることです。 つまり、

f:id:yuimat:20170601103031p:plain

に対して、そろえたピースを崩さないような動きというのは、そのまま、

f:id:yuimat:20170601162252p:plain f:id:yuimat:20170601174541p:plain

にも使えるということになります。

f:id:yuimat:20170601180730p:plain の場合は、左手前スロットがグレーなので、右手前の場合と比べて左右対称の動きにする必要がありますが、基本的に出来る操作は同じです。

そこで、ここで2の条件を緩めて「さらにあと一手だけはズレるのを許す」とすれば、先に説明した、そろえたピースを崩さないような動きのセット

  • U面を動かす:U, U', U2
  • 側面を動かす:R → 任意のU面回転 → R'、F' → 任意のU面回転 → F
  • D面を動かす:D → 任意のU面回転 → D'、D' → 任意のU面回転 → D、D2 → 任意のU面回転 → D2

のうち、「完成形から崩すことが出来る」動きであった

  • R → 任意のU面回転 → R'
  • F' → 任意のU面回転 → F

の操作を加えることで、D面の動きを加えながら「完成形を僅かに崩した状態」を作ることが出来ます。

具体的にやってみましょう。 今、完成形としては、2つのF2Lスロットがあらかじめそろっていたところに、3つめのスロットである青赤のペアをちょうど正しい位置に入れ終えた場面を考えます。

f:id:yuimat:20170601174214p:plain f:id:yuimat:20170601175253p:plain

(※注:2つ目の図は左後ろのスロットがグレー)

まず、1つ目の図では、今考えている手順は、例えば

f:id:yuimat:20170601174214p:plain → D → f:id:yuimat:20170601174255p:plain

としてから、これに「R → 任意のU面回転 → R'」などの手順を加え、その後、D' で一層目を元に戻す、というものです。 【完成形を僅かに崩した状態(側面を動かすパターン)】で見たように、間に挟む手順としては、 操作の対称性から

  • R U R'
  • R U' R'

の二通りを代表例として考えれば十分ですので、全体として行う操作は、 D 側に動かした場合の

  • D R U R' D'
  • D R U' R' D'

と、D' 側に動かした場合(この場合、左手前スロットがグレーなので、間に挟む手順が左右鏡写しになります)の

  • D' L' U' L D
  • D' L' U L D

の4通りが考えられます。 それぞれ、実際に実行してみると

  • (1) D R U R' D' と (2) D R U' R' D':

f:id:yuimat:20170601180306p:plain f:id:yuimat:20170601183633p:plain

  • (3) D' L' U' L D:

f:id:yuimat:20170601184019p:plain 

  • (4) D' L' U L D:

f:id:yuimat:20170601184052p:plain

という4つの状態が得られます。 このうち、最初の2つはU面を回すことで同一視出来ます。 残りの2つについても、少し工夫すると形の対称性をみることができます。 まず、これら2つに y' をして、グレーのスロットを 右手前に持ってきた位置を考えてみます。 y' により、もともと L面だったところは F面になるので、L と L' の操作が F と F' に置き換わります。

  • (3') 作成手順:y' D' F' U' F D → f:id:yuimat:20170602093147p:plain 解法:D' F' U F D

  • (4') 作成手順:y' D' F' U F D → f:id:yuimat:20170602100604p:plain 解法:D' F' U' F D

ここで、(4') の図に対して操作 U を加えてあげると、

(4') f:id:yuimat:20170602100604p:plain → U → (4'‘) f:id:yuimat:20170602100215p:plain

となり、 (3') と (4'‘) の間でF2Lコーナの位置がR面とF面に関して対角線対称な位置関係になっているのが分かるでしょうか。

(3') f:id:yuimat:20170602093147p:plain vs. (4'‘) f:id:yuimat:20170602100215p:plain

(4') の解法では、F2Lコーナーを一層目に入れるために F' U' F としていましたが、作成手順に U を足したことにより、(3')と対角線対称な関係になりましたので、(3') で使っている「F' U F」と対称な手順「R U' R」に置き換えることができます。

したがって、 (3') と (4'‘) の解法を比べると、

  • (3') 作成手順:y' D' F' U' F D → (3') f:id:yuimat:20170602093147p:plain 解法:D' F' U F D

  • (4'‘) 作成手順:y’ D' F' U F D U → (4'‘) f:id:yuimat:20170602100215p:plain 解法:D’ R U' R' D

となり、D面以外の手順に関しての対象性があることが確認できると思います。D面の回転に関してはそのままなので、完全に対称な手順ではありませんが、ここではこれらの2つも同一視したいと思います。

これらの結果として、

  • 正エッジ・隣接 Key Hole(解法:D R U' R' D')f:id:yuimat:20170601180306p:plain

  • 正コーナー・隣接 Key Hole(解法:D' L' U L D)f:id:yuimat:20170601184019p:plain

の2つの状態を得ます。 これらは、隣接する2つのF2Lスロットがそろっていない場合限定の中間ゴールとして利用できます。

次に、2つ目の図

f:id:yuimat:20170601175253p:plain

(※注:左後ろのスロットがグレー)

ですが、これは D2 をした時にちょうど右手前と左手奥の二箇所に青赤スロットのピースとまだそろえていないスロットのピースが散らばる形です。

f:id:yuimat:20170601185158p:plain

つまり、この対角線上の2つのスロットについてはピースを動かしてもよいということになります。 ですので、全体として行う操作は、 D2 をした後に右手前のスロットに対して操作を加える

  • D2 R U R' D2
  • D2 R U' R' D2

と、左手奥のスロットに対して回転対称な操作を加える

  • D2 L U L' D2
  • D2 L U' L' D2

の4通りが考えられます。 それぞれ、実際に実行してみると

  • D2 R U R' D2 と D2 R U' R' D2:

f:id:yuimat:20170601185454p:plain f:id:yuimat:20170601185530p:plain

  • D2 L U L' D2 と D2 L U' L' D2:

f:id:yuimat:20170601185606p:plain  f:id:yuimat:20170601185629p:plain

という4つの状態が得られます。 先程と同様、このうちの最初の2つはU面を回すことで同一視出来ます。 残りの2つも後者に U' を加えると先程と同様の考え方で同一視出来ます(この場合はD面の動きが D2 なので完全に対称性があります)。 したがって、最終的に2つの状態を得ます。

  • 正エッジ・対角 Key Hole(解法:D2 R U' R' D2)f:id:yuimat:20170601185454p:plain

  • 正コーナー・対角 Key Hole(解法:D2 L' U L D2)f:id:yuimat:20170601185606p:plain

これらは、対角線上にある2つのF2Lスロットがそろっていない場合限定の中間ゴールとして利用できます。

実のところ、2つのF2Lスロットがそろっていない場合にD面を駆使してそろえるこれら4つの手順は上級テクニックの1つとして広く知られており、 「Key Hole」という名前で呼ばれています。

まとめ

F2Lの完成形から「既にそろっているピースを2手以上ずらさずに行うことができる最小の手順」を用いて新たな形を求め、これをF2Lの中間ゴールとして定めました。 これらは、

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

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

の2つでした(名前は私が適当につけました)。 また、隣接する2つのF2Lスロットがそろっていない場合限定の中間ゴールとして

  • 正エッジ・隣接 Key Hole(解法:D R U' R' D')f:id:yuimat:20170601180306p:plain

  • 正コーナー・隣接 Key Hole(解法:D' L' U L D)f:id:yuimat:20170601184019p:plain

の2つを定めました。

対角線状にある2つのF2Lスロットがそろっていない場合限定の中間ゴールとして

  • 正エッジ・対角 Key Hole(解法:D2 R U' R' D2)f:id:yuimat:20170601185454p:plain

  • 正コーナー・対角 Key Hole(解法:D2 L' U L D2) f:id:yuimat:20170601185629p:plain

の2つを定めました。

次回は、これらの中間ゴールを作るための手順について考えていきます。