また高速化

 今度は玉が配置されてない所を示すポインタを集めた連結リストを動的に組み替えるように改良しました。毎回操作してるので処理速度的には微妙かなと思っていたのですけど、葉の部分で処理が大分少なくなるらしく幾分か早くなりました。
 さらに着手可能判定の部分での条件分岐を一つ削除しました。流石にこれだけではあまり効果はありませんでしたが、多少は前進しました。システム面がスマートになるのはとても良いことだと思いますし。
 今の半分くらいの処理速度で済ませることができればもう一手深く読めるのですけど、流石にさらにもう一手深く読めるように改良する気はもう起きません。13手読めるようになったら中盤を強化しようと思います。プログラム演習3の課題にしてしまいましたから、割と早い段階でしっかり中盤も作りこまないといけません。プログラム演習3では内部仕様書を書かされるのですけど、内部仕様書を書き換えるのはちょっとやりたくないのです。
 今考えている案としては深読みをするときの盤保存方式としてコピー方式を使っているのですけど、これを差分方式に変更することを検討しています。保存時はどちらが早くなるかはわかりませんが、盤データ復元のスピードは圧倒的に差分方式のほうが速くなるみたいですし、あらかじめ玉数をカウントしていけば末端の計算は圧倒的に速くなるのでかなり期待が持てそうです。
 実装も少し面倒くさいところがある程度ですし、アルゴリズムも大体想像がつきますからちょうどいいと思います。