この記事は
FMC Advent Calendar 2020 - Adventar
の9日目の記事です。12/8はokayamatさんの
FMC Advent Calendar 2020 (12/8)|okayama|note
でした。
スクランブル
R' U' F R2 U R2 U F2 L2 D' R2 U B2 U' L' U F' L R2 D' F' L' R D' R' U' F
解法
B' F2 D2 B R2 // 222 (5/5)
L F2 L2 D2 F2 L2 // 223 (6/11)
D2 F // F2L-1 (2/13)
R' B' D2 B R // F2L (OLL Skip) (5/18)
R' D2 R D2 R' B R D R' D' R' B' R2 // PLL (13-2/29)
解説
スクランブルを見た瞬間、CFOPに向いてるなと思いました。4手白クロスなので。
しかし往々にしてCFOP<BBなので、BBを試みます。
B' でペアができるので、これを活かしてみます。
F2 で対になる112を作り、D2で結合します。さらにBでインナー221を作り、R2で5手222の完成です。
ここで青橙の112が出来ているので、L2 D2 L D2 L の5手で223が出来ますが、青橙のペアを逃がすついでに L F2 L2 で緑橙ペアを作ります。そして D2 F2 L2で223ができますので、1手と引き換えにペアも出来た感じです。
このペアに対応する白緑エッジもいい場所に来たので、D2 F で13手F2L-1となりました。
このあと、EO解消のためにF' R F R' とすると、2手キャンセルして15手EO済みF2L-1となりますが、いまいち良いスケルトンを見つけられませんでした。
ここで、若干変態F2L扱いされている R' B' D2 B R を使ってみますと、なんとOLLスキップしました。
そのままR-Permを回すと、2手キャンセルの29手という、なんとも都合のいいsub30ソルブの完成です。ここまで15分くらい。残り時間で別のスケルトンやDRを試しましたが、時間内はこれがベストでした。
DRの方は、いともたやすく8手DRが見つかったので、わりと神スクランブルだったんでしょうね…。時間外で追ってみましたが、4ヶ月ぶりのポンコツなので28手止まりでした。
おまけ
キューブを解くプログラムを書いてみました。Rustに興味があったので、Rustの勉強も兼ねてRustで実装しました。
アルゴリズムやデータ構造はあえて自分で考えてみました。とはいえ、ベースとなっている考え方はDRです。神の手数の算出を試みましたが、私の頭では無理でした。
単純な幅優先のブルートフォースから、フェーズ間だけ深さ優先に切り替えたり、明らかに無駄な動きを枝刈りするなどして、なんとかパソコンで解けそうな雰囲気がしてきましたが、9日2時現在、スクランブル1はまだ解けていません。
スクショで勘弁してください…
明日になったら解けているかも…
Rustは面白い言語です。予想に反して、めっちゃコンピュータの気持ちを考える必要があります。所有権の仕組みが目新しく、可能性を感じます。今の所作法もライブラリも把握してないのでコードは汚く長いです。
改善の余地しかありません。気が向いたらもう少し真面目に調べつつ、開発を続けます。
もっと書きたいこと、書くべきこと、やりたいことはありますが、おかげさまで人生が忙しく、これが限界です。ぱたり。
追記1
zshに殺されました。というわけで、作戦失敗です。また挑戦します。