GPSshogi
What is this? †
GPSFish is a shogi program ported from Stockfish combined with GPSShogi's evaluation function and other shogi stuffs, to play shogi games via a part of USI.
チェスのオープンソースプログラムであるStockfishの、ルールを将棋に変更し、指手生成、評価関数、盤面の構造体、一手詰めをGPS将棋のものに取り替えてUSIの一部のコマンドに対応しました。
stockfishとの差分をなるべく小さくする方針で作成したため、稲庭将棋対策や高速に詰みを発見する機能(df-pn) 等はありません。
Source code †
Available under GPL version 3.
元のstockfish同様GPL version 3で公開します
http://gps.tanaka.ecc.u-tokyo.ac.jp/cgi-bin/viewvc.cgi/trunk/gpsfish/?root=gpsfish
How te use †
- Ubuntu precise または oneiric またはDebian wheezy を用意します (C++0xのlambdaを使っているので、コンパイルにはg++ 4.5以上が必要です)
- libboost-all-dev, libbz2-dev 等をインストールします
- Suggested environment: Ubuntu (precice, oneiric), or Debian wheezy with g++ version 4.5 or higher, libboost-all-dev.
- osl, gpsshogi, gpsfish のソースコードをそれぞれダウンロードし、兄弟ディレクトリに配置します
- なぜか二重にgzipがかかっているので gzip -d < gpsfish-gpsfish.tar.gz|tar xvzf - 等と展開してください (2012年5月12日)
- Please click "Download GNU tarball" to get each source code of OSL (basic shogi library), GPSShogi (evaluation function data and others) and GPSFish, then extract them in a same directory.
- gpsshogi のデータディレクトリをosl にリンクします. Make link from osl/data to gpsshogi/data
(cd gpsshogi; ln -s data ../osl/)
- oslをコンパイルします. Compilation of OSL
(cd osl/release; make -j $n) # $nはコア数など (コンパイルの並列度)
(cd osl; make third-party -j $n)
- gpsfishをコンパイルします. Compalation of GPSFish
cd gpsfish/src
make -j $n
- USIで動きます. Run in USI.
./gpsfish
usi
...
isready
readyok
position startpos moves 9i9h
go byoyomi 10000
その他 †
自動でコア数を認識しますが、hyper threading は切っておいた方が速いようです
stockfishからの変更点詳細 †
チェスではpromotionがとても大きな価値を持ちますが、将棋ではそれほどでもないため、(詳細は後日記述されます)