========================
USI将棋エンジンです。将棋所などを用いて対局することが出来ます。
Windows用のバイナリファイルも同梱していますが開発環境はLinux(g++)です。
Windowsだと少し遅いかもしれません。
なのはminiをベースにKPP特徴量を使用するように拡張しています。
いわゆるBonanohaですが、実装例としてはスタンダードなものだと思っています。
拡張内容
・KKP/KPP(Bonanza v6.0のもの)を使用
・KPPの3次元化
・KKPインデックスをKPPと共通化
・KPをKKPにマージ
・持ち駒0の特徴量を削除
最後の変更はFV38等と呼ばれるものですが、通常38に固定するものを
38以下となるようにしています。
38固定するとdoapc()の処理を省略することができるのがメリットですが
なのはminiでは差分更新処理自体が無いため、38以下とする方が良いです。
また、Bonanza形式を変換して38固定の場合、King-Hand-HandなKPPについて、
差分値を取るように変換するのですが、この時等価な変換が出来ないために棋力が低下します。
↑再検証したところ等価な変換が出来ました。上記誤りです。すみません。
なお、特徴量(400MB弱)は読み込み時にmallocで確保して、freeしてません。
通常対局には影響無いですが、プログラムを終了しないで何度も特徴量ファイルを
読み直すような動きがあれば対処が必要です。
名前から察して貰えると嬉しいのですが、直す予定はあまり無いです。
なお、testbonanohaはただのbonanohaの実装例で、ライブラリ申請する気も無いので
同様の実装でも大会参加を制限することは無いです。見ての通りありふれた実装なので。
当然です、と言えるだけ勉強出来ていれば大会参加すべきと思います。
少なくとも、なのはminiの公開意義を毀損する可能性があればtestbonanohaの公開は停止します。
その場合、GPLなのでバイナリの公開も停止されます。ご容赦ください。
$ unzip fv3.zip
→ fv3.bin
$ make
testBonanohaが実行バイナリとなります。
Windows版バイナリは testBonanoha.exe です。
同様にfv3.zipを解凍してバイナリと同じディレクトリにfv3.binを配置してください。
testBonanoha.exeとfv3.bin, book_40.jskがあればOKです。
また、実行にはVS2013用のVisual C++ 再頒布可能パッケージ(x64用)が必要です。
http://www.microsoft.com/ja-JP/download/details.aspx?id=40784
Windows(x86)だと実行できません。
・GPL v3.0
なのはmini のライセンスに従ってください
・なのはmini作者の川端氏に深く感謝致します。