2018年07月11日

GTP対応囲碁GUI「Sabaki」のインストールと使いかた - Ubuntu編

コンピュータ囲碁プログラムとよばれるものは一般的に、現在の盤面の状況を分析して次の着手を導き出す囲碁思考エンジンそのものを指すことがおおく、それじたいは対局や棋譜分析に適した操作画面をそなえてないのがふつうです。
そうした操作画面は囲碁GUI(Graphical User Interface)とよばれるべつのソフトウェアが担当しており、囲碁思考エンジンを囲碁GUIと連携させることによって、グラフィカルな碁盤画面をつうじて囲碁思考エンジンとやりとりできるようになるわけです。
そして、囲碁思考エンジンと囲碁GUIとは、GTP(Go Text Protocol)という共通の言葉によってむすびつけられています。
囲碁GUIは現在の盤面の状況をGTP経由で囲碁思考エンジンに伝え、次の着手を導き出すよう命令し、囲碁思考エンジンも計算によって導き出された着手をGTP経由で囲碁GUIに返し、それを囲碁GUIがグラフィック画面の碁盤上に表示するという方法で、ユーザと囲碁思考エンジンとの対局や思考エンジンによる棋譜分析が可能になっているのです。
そのため、いろいろな囲碁思考エンジンを対局や棋譜分析に使うためには、GTPに対応した囲碁GUIをインストールして囲碁思考エンジンと連携させ、GTP対応囲碁GUIをとおして囲碁思考エンジンを制御してやる必要があることになります。
GTPに対応した囲碁GUIとしては、「GoGui」と「Sabaki」が一般的によく使われていると思います。
ここでは、「Sabaki」をUbuntu18.04にインストールする方法と、基本的な使いかたについて記述していきます。

「GoGui」プロジェクトページ
「Sabaki」プロジェクトページ

1. 前提となる環境
インストールするコンピュータの仕様は以下のとおり。

--
Dell Inspiron 14 7472 Core i7モデル 18Q42P
OS:Ubuntu 18.04 LTS 日本語 Remix
CPU:インテル Core i7-8550U (4Mキャッシュ、最大4.0GHz)
GPU:NVIDIA GeForce MX150 GDDR5 2GB
メモリー:8GB DDR4 2400MHz(最大16GB)
保存装置:128GB SSD (Windows10) + 1TB 5400rpm HDD (Ubuntu18.04)
--

「Sabaki」をインストールするさいの動作要件ですが、ハードウェア的にもソフトウェア的にも特別な要請はなく、Linuxが動いているコンピュータならたいてい問題なく動かせるはずです。

2. 「Sabaki」インストールファイルのダウンロード
「Sabaki」の最新バージョンは「0.34.1」で、ダウンロードページから64bit版Linux用インストーラ「sabaki-v0.34.1-linux-x64.AppImage」を取得できます。

3. 「Sabaki」のインストール
ダウンロードしたファイルに実行権限を付与し、コマンドラインから実行、もしくは画面上のアイコンをダブルクリックするだけで「Sabaki」が起動します。

$ chmod +x sabaki-v0.34.1-linux-x64.AppImage
$ ./sabaki-v0.34.1-linux-x64.AppImage


開いた画面でシステムに登録するかどうか聞いてきますが、システムに登録しないまま毎回AppImageファイルをダブルクリックして起動するなら「No」を、システムに登録してアプリケーション一覧画面にあらわれるようにしたければ「Yes」を押します。
「./cache/Sabaki」ディレクトリに設定が残ります。
一番かんたんな起動方法は、パスのとおった「~/bin」にシンボリックリンクをはっておき、端末から「sabaki」コマンドで起動できるようにすることです。

$ ln -s sabaki-v0.34.1-linux-x64.AppImage ~/bin/sabaki
$ sabaki &


4. 囲碁思考エンジンの登録
「Sabaki」はあくまでも囲碁GUIなので、対局や棋譜分析をおこなうためには、GTP経由で囲碁思考エンジンとやりとりする必要があります。
囲碁思考エンジンが考え、囲碁GUIがそれを画面に表現する、私たちは囲碁GUIをとおして囲碁思考エンジンと対局しているということです。
そのため、あらかじめ「Sabaki」にGTP対応囲碁思考エンジンを登録し、それとやりとりできるように設定しておかないといけません。
メニューバーの「Engines」から「Manage Engines」を選び、あらわれた画面で「Add」をクリックします。
「(Unnamed Engine)」と表示されている欄にカーソルをもっていって、わかりやすい表示名を、そして「Path」欄に囲碁思考エンジンの絶対パスを入力します。
たとえば囲碁思考エンジン「AQ」実行ファイルを「~/AQ」ディレクトリにインストールしている場合、「(Unnamed Engine)」欄にカーソルをもっていって「AQ」と入力、「Path」欄に絶対パス「/home/username/AQ/AQ」を指定します。
「AQ」の場合は「AQ」実行ファイルとおなじ場所に設定ファイル「aq_config.txt」が存在し、そこで各種パラメータを指定する方法ですが、使用する思考エンジンによってはその下の「No arguments」と表示されている欄にパラメータを記入してやる必要があります。
各種思考エンジンの「Sabaki」への登録方法については、それぞれのインストール方法を紹介するページに項目をもうけて、記述していきたいと思っています。

5. 「Sabaki」の基本的な使いかた
登録した囲碁思考エンジン(たとえば「AQ」)と対局するには、メニューバーの「File」から「New」をクリックします。
開いた画面で「Board Size」「Handicap」「Komi」を指定のうえ、黒番と白番それぞれの担当者を選択します。
自分が担当する手番は「Manual」を選択、コンピュータに担当させる手番は登録されている思考エンジンの表示名から選んで、「OK」ボタンを押下します。
メニューバーの「Engines」から「Toggle GTP Console」をクリックすると、「GTP Console」が開き、そこに囲碁GUI「Sabaki」と囲碁思考エンジン(たとえば「AQ」)とのやりとりが表示されます。
便利な使いかたとしては、「Sabaki」に複数の囲碁思考エンジンを登録しておいて、思考エンジンどうし対局させることができます。
その場合は、対局させる思考エンジンの両方について「ponder」機能を無効化するように設定し、互いの思考をさまたげないように設定するのがいいでしょう。
「Sabaki」メニューバーの「View」から「Toggle Menu Bar」をクリックすると、メニューバーが消えてしまいますが、「Alt」キーを押すことでメニューバーが表示されるようになります。


参考ウェブページ一覧表(順不同)

https://github.com/SabakiHQ/Sabaki
https://github.com/ymgaq/AQ
posted by hatakazu at 21:30| Comment(0) | 囲碁ソフトのこと | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください