python-shogiは、Pythonで扱える非常に役立つ将棋ライブラリですが、速度が遅いのが用途によっては欠点になります。 公式サイトにも記述されていますが、速度よりもシンプルに抽象的に扱えることが目的となっています。 しかし、機械学習の用途に使用しようとする速度の遅さがネックになります。 そこでPythonからもできるだけ高速に動作する将棋ライブラリを作成することにしました。 python-shogiの内部では、盤面はビットボードで表現されていますが、Pythonのビット演算は非常に遅くボトルネックとなっています。 ビット演算部分をC++で開発して、Pythonから呼び出せるようにすることで速度の改善が見込まれます。 C++で将棋ライブラリを一から作成するのもロマンがありますが、ほとんど既存のライブラリをまねるだけになるため、C++部分にAperyのソースコードを使用させてもらい、A