2018年07月10日

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

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

「GoGui」をインストールするさいの動作要件ですが、ハードウェア的には特別な要請はなく、Linuxが動いているコンピュータならたいてい問題なく動かせるはずです。
ソフトウェア的には、「GoGui」は「Javaランタイム」をあてにしているので、「Javaランタイム」をあらかじめインストールしておく必要があります。

*****「Java」ランタイムインストール*****
(必要な環境がすでに構築されている場合は、このセクションは無視して先へすすんでください。)

Java SE Downloads」ページから「Java SE 8u171/ 8u172」 -> 「JDK」のボタンを押して、「Java SE Development Kit 8 Downloads」へすすみ、Linux版圧縮ファイル「jdk-8u171-linux-x64.tar.gz」をクリックしてインストールファイル「jdk-8u171-linux-x64.tar.gz」をダウンロードします。
ダウンロードしたディレクトリへ移動して、このファイルを解凍すると「jdk1.8.0_171」ディレクトリができるので、それを「/usr/lib/jdk1.8.0_171」に設置します。

$ tar xzvf jdk-8u171-linux-x64.tar.gz
$ sudo mv jdk1.8.0_171 /usr/lib


そのあと、エディタで「~/.bashrc」に以下二行を追記して、パスをとおしておきます。

export JAVA_HOME=/usr/lib/jdk1.8.0_171/
export PATH=$PATH:$JAVA_HOME/bin


「$ java -version」コマンドを実行して、バージョン情報が正しく表示されれば、パスの設定はO.K.です。

$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)


2. 「GoGui」インストールファイルのダウンロード
「GoGui」の最新バージョンは「1.4.9」で、ダウンロードページからLinux用インストールファイル「gogui-1.4.9.zip」を取得できます。

3. 「GoGui」のインストール
ダウンロードしたファイルを解凍すると、「gogui-1.4.9」ディレクトリが生成するので、そのディレクトリへ移動します。
インストール場所「~/gogui」および「Java」ランタイムの場所「/usr/lib/jre1.8.0_171」を指定して、インストールスクリプトを実行します。

$ unzip gogui-1.4.9.zip
$ cd gogui-1.4.9
$ ./install.sh -j /usr/lib/jdk1.8.0_171 -p ~/gogui


ファイルのコピーが終わったら、パスのとおった「~/bin」にシンボリックリンクをはっておけば、端末から「gogui」コマンドで起動できるようになります。

$ ln -s ~/gogui/bin/gogui ~/bin
$ gogui &


4. 囲碁思考エンジンの登録
「GoGui」はあくまでも囲碁GUIなので、対局や棋譜分析をおこなうためには、GTP経由で囲碁思考エンジンとやりとりする必要があります。
囲碁思考エンジンが考え、囲碁GUIがそれを画面に表現する、私たちは囲碁GUIをとおして囲碁思考エンジンと対局しているということです。
そのため、あらかじめ「GoGui」にGTP対応囲碁思考エンジンを登録し、それとやりとりできるように設定しておかないといけません。
メニューバーの「プログラム」から「新規プログラム」を選び、あらわれた画面の「コマンド:」欄に囲碁思考エンジンの絶対パスを入力します。
たとえば囲碁思考エンジン「AQ」実行ファイルを「~/AQ」ディレクトリにインストールしている場合、「コマンド:」欄に入力する絶対パスは「/home/username/AQ/AQ」のようになります。
そしてその下の「ワーキングディレクトリ:」欄に、「AQ」実行ファイルをインストールしているディレクトリのパス、ここではたとえは「/home/username/AQ/」を入力します。
「OK」ボタンを押下して何度か「待機」をクリックしながら待っていると、ステイタスバーに表示されていた「プログラムの開始中」メッセージが消えて新規プログラム登録画面が開くので、「ラベル:」欄にたとえば「AQ」などと入力して「OK」ボタンを押下します。
これで登録完了となるので、次回以降はメニューバーの「プログラム」 -> 「プログラムの起動」とすすんで「AQ」を選ぶと、「AQ」が起動して対局や棋譜分析に利用できるようになります。
「AQ」の場合は「AQ.exe」とおなじ場所に設定ファイル「aq_config.txt」が存在し、そこで各種パラメータを指定する方法ですが、使用する思考エンジンによっては「コマンド:」欄で絶対パスといっしょにパラメータを渡してやる必要があります。
各種思考エンジンの「GoGui」への登録方法については、それぞれのインストール方法を紹介するページに項目をもうけて、記述していきたいと思っています。

5. 「GoGui」の基本的な使いかた
登録した囲碁思考エンジン(たとえば「AQ」)と対局するには、メニューバーの「プログラム」 -> 「プログラムの起動」とすすみ、「AQ」を選んで「AQ」を起動します。
この状態で、メニューバーの「対局」から「碁盤サイズ」「置石」「コンピュータの手番」を指定したうえで、「新規対局」をクリックすれば、「AQ」との対局を楽しむことができます。
メニューバーの「ツール」から「GTPシェル」をクリックすると、「GTPシェル」が開き、そこに囲碁GUI「GoGui」と囲碁思考エンジン(たとえば「AQ」)とのやりとりが表示されます。
便利な使いかたとしては、検討したい局面を指定して、そこで囲碁思考エンジン(たとえば「AQ」)がどう打つかをみることができます。
メニューバーから「コンピュータの手番」を「なし」にして、どんどん石を置いていって局面をつくったあとで、たとえば「AQ」を起動している場合、黒番の局面なら「AQに黒を打たせる」、白番の局面なら「AQに白を打たせる」アイコンをクリックします。
そのさい「GTPシェル」を開いておけば、読み筋や評価値も表示されるので、着手の意味を考えるときに参考になります。


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

https://github.com/ymgaq/AQ/wiki/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%96%B9%E6%B3%95%EF%BC%88Windows%EF%BC%89
posted by hatakazu at 21:46| Comment(0) | 囲碁ソフトのこと | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。