- 追加された行はこの色です。
- 削除された行はこの色です。
[[GPSshogi]]
*What is this? [#s526d404]
GPSFish is a shogi program ported from [[Stockfish:http://www.stockfishchess.com/]] combined with [[GPSShogi:http://gps.tanaka.ecc.u-tokyo.ac.jp/gpsshogi/index.php?GPSShogiEn]]'s evaluation function and other shogi stuffs, to play shogi games via a part of [[USI:http://www.glaurungchess.com/shogi/usi.html]].
チェスのオープンソースプログラムである[[Stockfish:http://www.stockfishchess.com/]]の、ルールを将棋に変更し、指手生成、評価関数、盤面の構造体、一手詰めをGPS将棋のものに取り替えてUSIの一部のコマンドに対応しました。
stockfishとの差分をなるべく小さくする方針で作成したため、稲庭将棋対策や高速に詰みを発見する機能(df-pn) 等はありません。
*Executable for Microsoft Windows [#m31bb2ea]
see http://gps.tanaka.ecc.u-tokyo.ac.jp/gpsshogi/index.php?%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9#g022c609
*Source code [#m3fa7c68]
Available under GPL version 3.
元のstockfish同様GPL version 3で公開します
- 安定版 http://gps.tanaka.ecc.u-tokyo.ac.jp/cgi-bin/viewvc.cgi/branches/gpsfish_dev/?root=gpsfish
-- 定跡をランダムに選ぶ、など
-- 定跡をランダムに選ぶ、オプションを指定しなくても切れ負けの設定にも対応、など
-- (こちらを使う場合は、以下の説明中のgpsfish/ のパスを gpsfish_dev/に読み替えてください)
- 2012年選手権使用版 http://gps.tanaka.ecc.u-tokyo.ac.jp/cgi-bin/viewvc.cgi/trunk/gpsfish/?root=gpsfish
-- 最善手と評価値を探す思考エンジンとしては使えますが、対局プログラムとしてはあまりテストされていません。
*How te use [#j7ac0e3f]
+ 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.
+ Ubuntu precise または oneiric, quantal またはDebian wheezy を用意します (C++0xのlambdaを使っているので、コンパイルにはg++ 4.5以上が必要です。前述の環境であれば標準のg++が条件を満たします。なお、gpsfish_devであればg++ 4.4 でもコンパイルできるようになっていると思われますが、動作確認は各自でお願いします。開発者は普段は、Debian squeeze上でソースコードからコンパイルしたg++-4.6.3を用いて作業していることが多いです)
+ libboost-all-dev, libbz2-dev等をインストールします
-- Suggested environment: Ubuntu (precice, oneiric, quantal), or Debian wheezy with g++ version 4.5 or higher, libboost-all-dev and libbz2-dev.
+ [[osl:http://gps.tanaka.ecc.u-tokyo.ac.jp/cgi-bin/viewvc.cgi/trunk/osl/]], [[gpsshogi:http://gps.tanaka.ecc.u-tokyo.ac.jp/cgi-bin/viewvc.cgi/trunk/gpsshogi/?root=gpsshogi]], gpsfish のソースコードをそれぞれダウンロードし、兄弟ディレクトリに配置します
-- なぜか二重にgzipがかかっているので gzip -d < gpsfish-gpsfish.tar.gz|tar xvzf - 等と展開してください (2012年5月12日)
-- ダウンロードのリンクは、左下の"Download GNU tarball" の部分です。revisionを指定してダウンロードする場合は、先に、左上の"Sticky Revision:"の右の空欄にrevision値をキーボードから入力して"Set"ボタンを押してください。
-- なぜか二重に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 osl; ln -s ../gpsshogi/data .)
+ oslをコンパイルします. Compilation of OSL
(cd osl/release; make -j $n) # $nはコア数など (コンパイルの並列度)
(cd osl; make third-party -j $n)
+ (gpsfish_devを使う場合のみ) データを用意します
(cd gpsfish/data; make)
+ gpsfishをコンパイルします. Compilation of GPSFish
cd gpsfish/src;
make -j $n
+ USIで動きます. Run in USI.
./gpsfish
usi
...
isready
readyok
position startpos moves 9i9h
go byoyomi 10000
* その他 [#o61b8367]
自動でコア数を認識しますが、hyper threading は切っておいた方が速いようです
自動でコア数を認識しますが、hyper threadingが有効の場合は、弱くなってしまうかもしれません。無効に出来ない場合は、threads.h 内の以下の定数を、物理コア数に設定すると良いと思います。
const int MAX_THREADS = 32;
hyper threading をBIOSで無効にするのが一番良いでしょう。
* stockfishからの変更点詳細 [#a3820574]
チェスではpromotionがとても大きな価値を持ちますが、将棋ではそれほどでもないため、(詳細は後日記述されます)