FMC Advent Calendar 2020 9日目 / 4ヶ月ぶりにFMCをやるとどうなるのか

この記事は

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で実装しました。

github.com

アルゴリズムやデータ構造はあえて自分で考えてみました。とはいえ、ベースとなっている考え方はDRです。神の手数の算出を試みましたが、私の頭では無理でした。

単純な幅優先のブルートフォースから、フェーズ間だけ深さ優先に切り替えたり、明らかに無駄な動きを枝刈りするなどして、なんとかパソコンで解けそうな雰囲気がしてきましたが、9日2時現在、スクランブル1はまだ解けていません。

スクショで勘弁してください…

f:id:craccho:20201209020847p:plain

明日になったら解けているかも…

Rustは面白い言語です。予想に反して、めっちゃコンピュータの気持ちを考える必要があります。所有権の仕組みが目新しく、可能性を感じます。今の所作法もライブラリも把握してないのでコードは汚く長いです。

改善の余地しかありません。気が向いたらもう少し真面目に調べつつ、開発を続けます。

もっと書きたいこと、書くべきこと、やりたいことはありますが、おかげさまで人生が忙しく、これが限界です。ぱたり。

追記1

f:id:craccho:20201209021848p:plain

zshに殺されました。というわけで、作戦失敗です。また挑戦します。