入門から各テクニックの習得まで

追加のテクニックへ 目次へ

3CPインサートを高速で処理するために

ピュアコミュテータ手順の作り方を知り、スケルトンにインサートする中で最大キャンセルを探すことはわかりました。 実践ではほとんどの場合でこのインサートの作業が必要になりますが、スケルトンを探す時間を長く取りたいためにもこの短調作業であるインサートは素早く済ませたいものです。 ここでは基本の3CPをより効率良く処理する方法を説明します。
1.インターチェンジ面を継続的に把握する
例えばスケルトンのある地点でD面インターチェインジャボウだとします。
ここで次の回転面がDやUの場合、D面インターチェインジャボウであることはわざわざ確認する必要はありません。
他の面でインターチェンジ出来るかどうかを確認するだけで済みます。
特にD面の場合はキャンセルを起こせる可能性が非常に高いという心持ちで探せます。
逆にUD以外の面が回る時は必ずその2点でインターチェンジは起こらなくなり、他の2点関係だけを確認すればいいことになります。
2.手順を回さずにキャンセルの有無を考える
例えば直前のスケルトンがDで今D面インターチェインジャボウである時、先にインターチェンジする方のコミュテータを採用すれば当然最初にキャンセルが起ります。
逆にここで先にインサートする方のコミュテータを採用すれば最初でキャンセルが起らないこともわかるのです!
同じことがコミュテータ手順の最後でも言えて、例えば先にインターチェンジする方のコミュテータを採用した時の最後の手順(逆インサート手順中の最後)と次のスケルトンでキャンセルが起るのがわかった時、先にインサートをする方のコミュテータ手順では最後(逆インターチェンジ)でキャンセルが起ることはないことがわかります。
このように考えることで無駄に実際のコミュテータ手順を考えて回してみる部分を省くことができます。
3.2手キャンセル以上しか探さない時はスケルトンを1個飛ばしで追う
これは超重要なテクニックです。
既に1手キャンセルを見つけている時、あるいは2手以上のキャンセルがあることが確率的にほぼ見込まれる(複数のスケルトンを用意している、4点や5点の交換を残している)時、今インサートを考えた点以降では1つずつ飛ばして考えてもよく、考える量を半分にすることが出来ます!

(以下の理屈は理解しなくてもよい)
スケルトンとインサートした手順でキャンセルが起きるパターンは2種類に分けられ、R'に対してRのようにきれいに相殺され2手キャンセルとなる場合とR2に対してRのように1手キャンセルとなる場合があります。
相殺されるパターンのキャンセルの場合、次のような現象が起きます。
L [R U R' D R U' R' D'] D B = L D [D' R U R' D R U' R'] B
L D B というスケルトンに対して左はLの後にコミュテータをインサートして最後で2手キャンセルが起きたもの、右はDの後にコミュテータをインサートして最初で2手キャンセルが起きたものです。
実はこの2つの最終解は全く同じになり、相殺されるパターンでは常にこうなります(さらにキャンセルが起る場合でも同じです)。
つまりこのパターンにおいては相殺されるスケルトン手順の前後どちらからでも同じ結果を得られるので1個飛ばしで考えても漏れなく探すことができます。
ところが相殺されないパターンのキャンセルの場合は片方向からでしかキャンセルを見つけられません。
L [R U R' D2 R U' R' D2] D B = L D [D' R U R' D2 R U' R' D'] B
上と同じような例で、左はL D B というスケルトンに対してLの後にインサートして最後で1手キャンセルが起きたものです。
一方で右は最終解が同じになるようにDの後からインサートしたものですが、これはピュアコミュテータではないため、見つけることができません。
つまりこのパターンは1個飛ばしだと見逃す可能性がありますが、相殺されない場合は1手キャンセルしか起こらず、前後両方で発生することはないため最大1手キャンセルです。
従って2手以上のキャンセルしか探さないという条件下ではこれは見逃してもいいことになります。

追加のテクニックへ 目次へ

Twitter