前の記事で Lizzie + KataGo が無事に動くようになったら、次は(1)日本ルールで動くようにして(2)コミ6.5で分析させる方法です。
その検索でいらしたあなたにみていただきたいページはこちらです。
【 図解】囲碁クエストの棋譜を囲碁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).
コミ6.5で分析させる
コミの変更は簡単です。Lizzie でキーボードの 【i(アイ)】のキーを押すと Game Info の設定ができますので、ここで Komi を変更してください。
追記:
コメントで質問いただいたので
multiStoneSuicideLegal = true
のときの動作を確認してみました。なるほど、コウ材として1の1の自殺手を候補にあげてきますね!
チベットルールがこれを許しているという話はきいたことがありましたが、調べてみると応氏ルールがやはりこの自殺手を認めているようです。 KataGo の作者がこの設定をデフォルトにしたのはどのような考えからだったのか興味ありますね。