そうした操作画面は囲碁GUI(Graphical User Interface)とよばれるべつのソフトウェアで、囲碁思考エンジンを囲碁GUIと連携させることによって、グラフィカルな碁盤画面をつうじて囲碁思考エンジンとやりとりできるようになるわけです。
そして、囲碁思考エンジンと囲碁GUIとは、GTP(Go Text Protocol)という共通の言葉によってむすびつけられています。
囲碁GUIは現在の盤面の状況をGTP経由で囲碁思考エンジンに伝え、次の着手を導き出すよう命令し、囲碁思考エンジンも計算によって導き出された着手をGTP経由で囲碁GUIに返し、それを囲碁GUIがグラフィック画面の碁盤上に表示するという方法で、ユーザと囲碁思考エンジンとの対局や思考エンジンによる棋譜分析が可能になっているのです。
そのため、いろいろな囲碁思考エンジンを対局や棋譜分析に使うためには、GTPに対応した囲碁GUIをインストールして囲碁思考エンジンと連携させ、GTP対応囲碁GUIをとおして囲碁思考エンジンを制御してやる必要があることになります。
GTPに対応した囲碁GUIとしては「Leela Zero」専用GUIとして開発された「Lizzie」が、「Leela Zero」経由で「ELF OpenGo」のネットワークを使えることや操作性のよさもあいまって広く利用されていますが、ほかにも「GoGui」「Sabaki」「q5Go」などはよく使われていると思います。
ここでは、「Sabaki」をWindowsにインストールする方法と、基本的な使いかたについて記述していきます。
「Lizzie」プロジェクトページ
「GoGui」プロジェクトページ
「Sabaki」プロジェクトページ
「q5Go」プロジェクトページ
1. 前提となる環境
インストールするコンピュータの仕様は以下のとおり。
--
Dell Inspiron 14 7472 Core i7モデル 18Q42P
OS:Windows10 Home 64bit
CPU:インテル Core i7-8550U (4Mキャッシュ、最大4.0GHz)
GPU:NVIDIA GeForce MX150 GDDR5 2GB
メモリー:8GB DDR4 2400MHz(最大16GB)
保存装置:128GB SSD + 1TB 5400rpm HDD
--
「Sabaki」をインストールするさいの動作要件ですが、ハードウェア的にもソフトウェア的にも特別な要請はなく、Windowsが動いているコンピュータならたいてい問題なく動かせるはずです。
2. 「Sabaki」インストールファイルのダウンロード
「Sabaki」の最新バージョンは「v0.51.1」で、「Releases」ページから64bit版Windows用インストーラファイルをダウンロードできます。
いまならポータブル版「sabaki-v0.51.1-win-x64-portable.exe」がいいと思いますが、通常のインストール版「sabaki-v0.51.1-win-x64-setup.exe」を使ってもまったく問題ありません。
3. 「Sabaki」のインストール
ポータブル版「sabaki-v0.51.1-win-x64-portable.exe」をダウンロードした場合は、適当な場所にファイルを置いて、ダブルクリックして起動するだけです。
たとえば「C:\Users\username\Sabaki」フォルダを作ってそこに「sabaki-v0.51.1-win-x64-portable.exe」ファイルを設置し、右クリックしてデスクトップにショートカットを送っておけば、今後かんたんに起動できるようになります。
インストール版「sabaki-v0.51.1-win-x64-setup.exe」を使うときは、ダウンロードした「sabaki-v0.51.1-win-x64-setup.exe」ファイルをダブルクリックすると、インストール処理がはじまります。
デフォルトのインストール先は「C:\Program Files\Sabaki」ですが、必要におうじて「C:\Users\username\sabaki」(「username」はお使いのユーザ名)などわかりやすい場所に変更のうえ、「インストール」ボタンを押します。
デスクトップに「Sabaki」のショートカットがつくられるので、それをダブルクリックすれば、「Sabaki」が起動して碁盤が表示されるはずです。
4. 「Sabaki」の設定
あたらしい「Sabaki」では日本語表示できるようになっているので、最初に起動したらまず上部メニューバー「File」から「Preferences」ヘすすんで設定画面を開き、左下の「Language: English (English)」欄の右矢印をクリックして「日本語 (Japanese)」に変更します。
再起動後に変更が有効になるよというメッセージが表示されるので「OK」を押下、右下の「Close」をクリックして設定画面を閉じたら、右上の赤色「x」ボタンを押していったん「Sabaki」を終了させてからあらためて起動しなおします。
今度はメニューバーが日本語で表示されているはずなので、なにはともあれエンジン設定にすすみます。
「Sabaki」はあくまでも囲碁GUIなので、対局や棋譜分析をおこなうためには、GTP経由で囲碁思考エンジンとやりとりする必要があります。
囲碁思考エンジンが考え、囲碁GUIがそれを画面に表現する、私たちは囲碁GUIをとおして囲碁思考エンジンと対局しているということです。
そのため、あらかじめ「Sabaki」にGTP対応囲碁思考エンジンを登録し、それとやりとりできるように設定しておかないといけません。
メニューバーの「エンジン」 -> 「エンジンサイドバーを開く」にチェックがはいっていると思いますが、「ファイル」の下に「▶」印と「⚡」マークが表示されているのがそれになります。
「▶」じるしをクリックして開いたメニューから「エンジンを管理」を選び、下からあらわれた画面で「追加」をクリックします。
「(無名のエンジン)」と表示されている欄にカーソルをもっていって、わかりやすい表示名を、そして「パスを入力してください」欄に囲碁思考エンジンの絶対パスを入力します。
たとえば囲碁思考エンジン「AQ」を「C:\Users\username\AQ」フォルダにインストールしている場合、「(無名のエンジン)」欄にカーソルをもっていって「AQ」と入力、「パスを入力してください」欄に絶対パス「C:\Users\username\AQ\AQ.exe」を指定します。
「AQ」の場合は「AQ.exe」とおなじ場所に設定ファイル「config.txt」が存在し、そこで各種パラメータを指定する方法ですが、使用する思考エンジンによってはその下の「引数なし」と表示されている欄にパラメータ(読みこむネットワークファイルの指定など)を記入してやる必要があります(「AQ」の場合もここに記入することで初期設定値を上書きして起動できます)。
さらにその下の「初期化コマンド (;-separated)」欄にコマンドを追加するケースもあります(思考時間の設定など)。
このエンジンサイドバー(メニューバーの「エンジン」から「エンジンサイドバーを表示」であらわれる)はつねに表示するようにしておくと、上部に起動した思考エンジン(たとえば「AQ」)の状態が表示されるとともに、その下には囲碁GUI「Sabaki」と思考エンジンとのGTPによるやりとりが流れていくのをみれて便利です。
なにか問題があってエンジンが起動しなかったり、GTP通信がうまくいかなかったりしたときは、ここに表示されるメッセージから解決の手がかりを得ることができます。
各種思考エンジンの「Sabaki」への登録方法については、それぞれのインストール方法を紹介するページに項目をもうけて、記述していきたいと思っています。
5. 「Sabaki」の基本的な使いかた
5-1. 思考エンジンとの対局
登録した囲碁思考エンジン(たとえば「AQ」)と対局するには、メニューバーの「ファイル」から「新規」をクリックします。
開いた画面で「コミ」「置き碁」「碁盤サイズ」を指定のうえ、黒番と白番それぞれの担当者を選択します。
自分が担当する手番は「マニュアル」を選択、コンピュータに担当させる手番は登録されている思考エンジンの表示名から選んで、「OK」ボタンを押下します。
5-2. 思考エンジンどうしの対局
便利な使いかたとしては、「Sabaki」に複数の囲碁思考エンジンを登録しておいて、思考エンジンどうし対局させることができます。
その場合は、対局させる思考エンジンの両方について「ponder」機能を無効化するように設定し、互いの思考をさまたげないように設定しておく必要があります。
エンジンサイドバーの「▶」印から対局させたい二つのエンジンを開始し、それぞれの表示行を右クリックして「黒番に指定」「白番に指定」にチェックをいれて手番を決めてから、「⚡」マークをクリックすると対局がはじまります。
メニューバーの「ファイル」から「新規」をクリックして開いた画面で、「マニュアル』ではなくて黒番と白番の両方し思考エンジンを指定することでも、おなじように思考エンジンどうしの対局になります。
5-3. 記譜分析
ある思考エンジンを開始してエンジンサイドバーに表示されている状態で、その表示行を右クリックして「解析器に指定」にチェックをいれるか、そのエンジンが選択されて青色行で表示されている状態で上部メニューバー「エンジン』から「解析モードを切替」を選択する(あるいは「F4」キーを押下する)と、その思考エンジンを使って記譜解析をおこなうことができます。
「Lizzie」とおなじように勝率と探索数が表示されて、勝率におうじて色分けされ、色のついた好捕手部分にカーソルをもっていくと読み筋が現れる仕組みです。
形勢を目数差で表示する独自の形勢判断機能をもつ「KataGo」に解析させる場合は、上部メニューバーの「表示」から「ヒートマップを表示」にすすんで、「勝率を表示」か「地合を表示」かを選択することができます。
「Lizzie」で「KataGo」を使うときのように、「勝率」「探索数」「目数差」の三つを同時表示させることはできませんが、それでも「KataGo」の特徴を生かした使いかたはできるということです。
現時点で解析器として指定できるのは「Leela Zero」と「KataGo」のみで、SGF記譜を読みこんで手順を追いながら解析させることも、黒番と白番の両方をマニュアルにした対局モードを使ってリアルタイムで解析をかけることもできます。
5-4. そのほかの注意事項
接続したエンジンはエンジンサイドバーに表示され、停止中は「□」マークが、動作中は「▷」マークがエンジン名の左に表示されています。
動作中はメモリを予約している状態なので、使わないときはかならず右クリックして「停止」を選んで「□」マークの状態にもどし、ほかのエンジンのためにメモリを開放するようにします。
べつの作業に移るため不要になったら、おなじく右クリックから「接続解除」しておきます。
「Sabaki」メニューバーの「View」から「Toggle Menu Bar」をクリックすると、メニューバーが消えてしまいますが、「Alt」キーを押すことでメニューバーが表示されるようになります。
「Sabaki」の設定ファイルはポータブル版ならインストールしたそのフォルダに生成する「Sabaki」フォルダに、インストール版なら「C:\Users\username\AppData\Roaming\Sabaki」フォルダに保管されているので、コンピュータを交換して「Sabaki」をインストールしなおすときなど、エンジン設定などを引っ越ししたい場合は「settings.json」ファイルを救出してください。
参考ウェブページ一覧表(順不同)