前の記事で Lizzie + KataGo が無事に動くようになったら、次は(1)日本ルールで動くようにして(2)コミ6.5で分析させる方法です。

なぜかこのページが「囲碁クエスト KataGo」検索で上位に表示されています。
その検索でいらしたあなたにみていただきたいページはこちらです。
【 図解】囲碁クエストの棋譜を囲碁AI(KataGo)で調べる

KataGo を日本ルールで動かす

a.KataGo を改造する
これは Mac/Linux でのみ必要で、Windows では必要ありません
この改造をしないと、後述の b の設定変更をおこなった時にエラーとなってしまいます。

ホームディレクトリ以下の

KataGo/cpp/neuralnet/desc.cpp

というファイルをお好みのテキストエディタ(テキストエディット、mi、CotEditor、vi など)で開き、以下の個所を検索で探して、赤アンダーラインの2行(それぞれ、”/*” と “*/” のみ)を追加して保存してください。

Rules ModelDesc::getSupportedRules(const Rules& desiredRules, bool& supported) const {
static_assert(NNModelVersion::latestModelVersionImplemented == 6, “”);
Rules rules = desiredRules;
supported = true;
/*
if(version <= 6) {
if(rules.koRule == Rules::KO_SIMPLE || rules.koRule == Rules::KO_SPIGHT) {

rules.koRule = Rules::KO_SITUATIONAL;
supported = false;
}
if(rules.scoringRule == Rules::SCORING_TERRITORY) {
rules.scoringRule = Rules::SCORING_AREA;
supported = false;
}
}
else {
ASSERT_UNREACHABLE;
}
*/
return rules;
}

前の記事のようにターミナルを起動してください。

cd KataGo/cpp/ #ソースのディレクトリに移動
make #katago を改造版としてビルドし直し

できあがった katago(改造版) を Lizzie/katago/ にコピーし直してください。

b.日本ルールで動かす

Lizzie フォルダにある katago-gtp10.cfg というファイルをお好みのテキストエディタで編集します。
# 記号はそれ以降の記述をコメントアウトして無効にすることを示しています。

内容としては

koRule を POSITIONAL → SIMPLE
scoringRule を AREA → TERRITORY
multiStoneSuicideLegal true → false

ということになります。

編集前

# koRule = SIMPLE #Simple ko rules (triple ko = no result)
koRule = POSITIONAL #Positional superko
# koRule = SITUATIONAL #Situational superko
# koRule = SPIGHT #Spight superko – https://senseis.xmp.net/?SpightRules
scoringRule = AREA #Area scoring
# scoringRule=TERRITORY #Territory scoring (uses a sort of special computer-friendly territory ruleset)
multiStoneSuicideLegal = true #Is multiple-stone suicide legal? (Single-stone suicide is always illegal).

編集後

koRule = SIMPLE #Simple ko rules (triple ko = no result)
# koRule = POSITIONAL #Positional superko
# koRule = SITUATIONAL #Situational superko
# koRule = SPIGHT #Spight superko – https://senseis.xmp.net/?SpightRules
# scoringRule = AREA #Area scoring
scoringRule=TERRITORY #Territory scoring (uses a sort of special computer-friendly territory ruleset)
multiStoneSuicideLegal = false #Is multiple-stone suicide legal? (Single-stone suicide is always illegal).

マニアックな使い方としては、katago-gtp10.cfg の変更前、変更後をファイル名を変えて(たとえば変更後をkatago-gtp10-jp.cfgとするなど)両方残しておいて、Lizzie のエンジンの設定で日本ルールと中国ルールを切り替えて使うこともできます。もっとも、日本ルールと中国ルールの切り替えというのは,9路盤を徹底研究するような場合以外は必要ないとは思います。

コミ6.5で分析させる

コミの変更は簡単です。Lizzie でキーボードの 【i(アイ)】のキーを押すと Game Info の設定ができますので、ここで Komi を変更してください。

追記:

コメントで質問いただいたので

multiStoneSuicideLegal = true

のときの動作を確認してみました。なるほど、コウ材として1の1の自殺手を候補にあげてきますね!

チベットルールがこれを許しているという話はきいたことがありましたが、調べてみると応氏ルールがやはりこの自殺手を認めているようです。 KataGo の作者がこの設定をデフォルトにしたのはどのような考えからだったのか興味ありますね。