Miacis
MiacisはUSIプロトコルに対応した将棋用思考エンジンです。将棋所、将棋GUIなどを用いて対局、検討を行うことができます。
基本的にAlphaZeroを模倣したものとなっており、深層強化学習を利用した評価関数を用いてモンテカルロ木探索を行います。
独自の工夫点として、評価値をスカラーではなくカテゴリカル分布を用いて出力します。これはCategorical DQNにヒントを得たものとなっています。
コンパイル方法
コンパイルにはcmakeを利用します。ライブラリとして
- CUDA(cuDNN含む)
- TensorRT
を必要とします。環境構築は複雑なのでDockerを利用することをお勧めします。
Dockerによる環境構築
DockerおよびNVIDIA Container ToolkitをインストールしてあるUbuntuを前提とします。
- Dockerfileをダウンロードする
wget https://raw.githubusercontent.com/SakodaShintaro/Miacis/master/docker/Dockerfile
- miacis_imageというイメージを作成する
docker build -t miacis_image:latest .
- miacis_imageをもとにmiacis_containerというコンテナを作成する
docker run --gpus all -it --name miacis_container miacis_image:latest bash
正常にコンパイルが進むとコンテナ内の/root/Miacis/build
以下にMiacis_shogi_categorical
というプログラムが得られます。