日記とか、工作記録とか

自分に書けることを何でも書いてゆきます。作った物、買ったもの、コンピュータ系の話題が多くなるかもしれません。

備忘録:Visual Studio 2015 Community Edition + Bonanza 6.0

今回はRaspberry piとは無関係です。Windowsと将棋ソフトの話題ということで。Raspberry piで動かすにはCPUパワーもメモリも不足ですね。

Bonanza 6.0

Bonanzaは将棋の思考ルーチンです。少し前にこの界隈でパラダイムシフトを発生させたプログラムとして有名です。機械学習の考え方を取り入れており、それまでの、職人が勘と経験で磨き上げるように作成されていた思考ルーチンとは一線を画していました。段違いに強いと評判になり、その後作者ご本人がソースコードを含めて公開したため、後発のソフトウェアの開発に非常に大きな影響を及ぼしました。

Bonanza - The Computer Shogi Program

Visual Studio 2015でコンパイルする方法について備忘録的にまとめておきます。Visual Studio 2015で、とは書きましたが実はIDE環境は必要なくてnmakeというコマンドラインツールを使うだけです。IDE環境は、ソースコードを読むときに使いましょう。

コンパイル

ソースコードのzipアーカイブをダウンロードして、好きなところに解凍します。

Windowsのスタートメニューから「開発者コマンドプロンプトfor VS2015」を実行します。コマンドプロンプトが開きますが、このコマンドプロンプトにはVisual StudioコンパイラがPATH環境変数に追加されていて、nmakeコマンドが使えます。

Bonanzaソースコードに含まれるreadme.txt(\src\client\readme.txt)を読むと、コンパイル方法が書いてあります。ソースフォルダでnmakeを実行します。これでバイナリBonanza.exeができあがります。わざわざ書くことか?と思ってしまうほど簡単ですが、いや、Visual Studioをインストールしてそっちからコンパイルしようとすると駄目なんです。隠し機能のようなnmakeを使うところがミソなんですよ。

C:\...\client> nmake -f Makefile.vs cl

実行

これまたreadme.txtに書いてありますが、実行するには他のファイルが必要です。winbinフォルダに入っているbook.binとfv.binをコピーしてきましょう。あと、このプログラムは単体で動かすものではないのでCSA将棋を用意する…… と書かれていますが、CSA将棋はわかりにくいのでおすすめできません。u2c.exeを用意して、CSAプロトコルをUSIプロトコルに変換するソフト(u2c.exe)を使って将棋所に接続して使う方がGUIがわかりやすいです。

shogis.com

ソースコードを読んでいるのですがまだ機械学習のコアのところまでたどり着いていません。ゴールデンウイークの課題にしようと思っているのですが、どこまで進めるかなぁ。

将棋の渡辺くん(1) (ワイドKC 週刊少年マガジン)

将棋の渡辺くん(1) (ワイドKC 週刊少年マガジン)