Solverについて

masさんの講座を参考にSolverを作ってみました。
まだa(X):[0]a([1]),a([2])の形しか探索していませんが、
masさんのページのアイデアに加えて自分が実装したアイデアを挙げておきます。
・rまたはlを1つも含まないコードを省く。
・対称な問題の場合、rとlを入れ替えただけのものは省く。
・[2]のバイト数が少ないもの、[1]のバイト数が多いものを優先的に探索する。
大して意味ないと思います。
最初から乱歩が想定解っぽいのは解けますが偶然乱歩で縮んだみたいなやつは辛い。