互角局面集

互角局面集は、明らかにどちらかが有利ではない局面を集めたデータ集合である。 自己対局、定跡生成、探索比較、学習データ作成などの起点として使われる。

概要

初期局面だけで自己対局や定跡生成を行うと、 同じ序盤に偏りやすく、学習や評価の幅が狭くなることがある。

そこで、

  • 人手で選んだ互角局面
  • 定跡の途中局面
  • 強いソフト同士の対局から抽出した局面

をまとめた局面集を用い、そこから探索や自己対局を開始することがある。

使い道

  • 定跡自動生成の開始局面
  • 学習用の教師局面候補
  • エンジン比較のベンチマーク
  • 特定戦型への偏りを減らすための自己対局起点

なぜ重要か

互角局面集は、

  • 初期局面偏重を避ける
  • 研究したい戦型へ誘導しやすい
  • 同じ探索資源で多様な局面を調べられる

という利点がある。

一方で、局面集そのものに偏りがあると、 生成される定跡や学習結果にも偏りが残る。

実装例

単純な局面集ループは次のように書ける。

for (const auto& sfen : balancedPositions) {
    Position pos;
    pos.setFromSfen(sfen);
    auto result = selfPlayFrom(pos, thinkingTimeMs);
    saveGame(result);
}

関連項目

参考にしたホームページ