以前より不完全情報のボードゲームで強化学習のアルゴリズムを試したいと思ってる。 簡単すぎるゲームやマイナーなゲームでは、開発のモチベーションが続かない気がするので、日本で人気のある麻雀AIを開発したいと考えている。 麻雀は、「Lucky J」や「Suphx 」で強化学習が試されており、人間の高段者くらいの強さになっている。 それらのAIで使われている手法を自分で実装してみて理解したいと思っている。 また、MuZeroのようなモデルベースの手法を麻雀AIで試してみたいと思っている。 Pythonライブラリ まず、Pythonで使える麻雀ライブラリを探したが、点数計算用のライブラリが見つかったが、1局通して対局できるライブラリが見つからなかったので、自分で作ることにした。 Python以外の言語向けのオープンソースのライブラリでは、対局までできるものが見つかったので、参考にして実装した。 以下