Skip to content

SakodaShintaro/Miacis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Miacis

MiacisはUSIプロトコルに対応した将棋用思考エンジンです。将棋所将棋GUIなどを用いて対局、検討を行うことができます。

基本的にAlphaZeroを模倣したものとなっており、深層強化学習を利用した評価関数を用いてモンテカルロ木探索を行います。

独自の工夫点として、評価値をスカラーではなくカテゴリカル分布を用いて出力します。これはCategorical DQNにヒントを得たものとなっています。

コンパイル方法

コンパイルにはcmakeを利用します。ライブラリとして

  • CUDA(cuDNN含む)
  • TensorRT

を必要とします。環境構築は複雑なのでDockerを利用することをお勧めします。

Dockerによる環境構築

DockerおよびNVIDIA Container ToolkitをインストールしてあるUbuntuを前提とします。

  1. Dockerfileをダウンロードする
wget https://raw.githubusercontent.com/SakodaShintaro/Miacis/master/docker/Dockerfile
  1. miacis_imageというイメージを作成する
docker build -t miacis_image:latest .
  1. miacis_imageをもとにmiacis_containerというコンテナを作成する
docker run --gpus all -it --name miacis_container miacis_image:latest bash
  1. ビルドする
mkdir ./Miacis/build/
cd ./Miacis/build/
cmake -DCMAKE_BUILD_TYPE=Release ../src
make -j$(nproc) Miacis_shogi_categorical

正常にコンパイルが進むとコンテナ内の/root/Miacis/build以下にMiacis_shogi_categoricalというプログラムが得られます。