コンテンツにスキップ

ADR 0001: サンプル拡張型アプローチを採用する

  • Status: Accepted
  • Date: 2026-06-17
  • Deciders: ryo (本人), Claude Code, Codex (gpt-5.4-codex レビュー)

Context

Kaggle「Pokemon TCG AI Battle Challenge」に上位入賞を目標に参加する。Kaggle から提供されているサンプル ipynb は MCTS + Transformer による AlphaZero 風の自己対戦学習で、5 イテレーション・各 100 self-play で random 相手 76% 勝率まで到達することが notebook 出力で確認できる。

参戦の方向性として 4 つを検討した:

  1. サンプル拡張型: サンプルコードをモジュール化し、belief 改善・モデル拡大・ヒューリスティクスを段階的に積み上げる
  2. ルールベース重視型: Search API + ヒューリスティクスから始め、必要に応じて NN/MCTS を後付け
  3. ゼロから設計: サンプルに依存せず、独自アーキテクチャ (MuZero 系、PPO 等) で構築
  4. ハイブリッド型: 序盤・終盤はルールベース、中盤は MCTS と局面ごとに切り替え

Decision

サンプル拡張型 (案 1) を採用する

ただし「拡張」の中身として以下を順序付きで行う:

  • 短期: サンプル ipynb を挙動不変で src/pca/ にモジュール化、提出パイプライン疎通
  • 中期: belief 改善 (Determinized → IS-MCTS) と学習 target 修正 (visit 分布 + CE/KL loss)
  • 後期: モデル拡大、Oracle Guiding、オンライン opponent modeling

Rationale

  • サンプルが「弱いが動く学習系」を既に持っている: random 相手 76% という到達点があり、ベースラインから何 pt 改善したかで進捗計測が容易。
  • CABT エンジン (cg.api / cg.game) のラッパが既にサンプルに書かれている: ゼロから書くと API 探索コストが二重に発生する。
  • コンペ Overview が「ルールベース単独不可」と明示: 案 2 (ルールベース重視) は天井が低い。
  • 9 月 14 日締切・実装稼働期間が約 3 ヶ月: 案 3 (ゼロ設計) はリスク過大。提出パイプライン疎通すら間に合わないリスク。
  • 2026 年時点で AlphaZero 系の知見と道具が成熟: 案 1 の方が情報が豊富で、Strategy Category 提出レポートでの引用文献も整っている。

Alternatives Considered

  • 案 2 (ルールベース): 案 1 の Phase 4 で組み込む形に格下げ。heuristics.py として Search API 由来の short-cut policy を担当させる。
  • 案 3 (ゼロ設計): 棄却。ただし Phase 5 で「アクション表現を順序付きトークンに変える」「Oracle Guiding を入れる」など、サンプルから大きく踏み出す余地は残す。
  • 案 4 (ハイブリッド): 局面別切り替えは Phase 6 の提出枠リスク分散で部分的に採用する可能性あり。

Consequences

Positive

  • 最短経路で提出パイプラインを通せる (Phase 2 で疎通)。
  • ベースラインからの改善 pt を世代対戦評価で測れる。
  • サンプルのエンコーダ・MCTS 実装が再利用できるため、Phase 3 以降で本質的な改善 (belief, target) に集中できる。

Negative / リスク

  • サンプルの設計上の制約 (EmbeddingBag bag-of-words 表現、固定 64 アクション、Snorlax-固定 determinization) を引きずる可能性。
  • Phase 5 でアクション表現や belief を大改修する際、Phase 3 のモジュール分割が制約になる場合あり。
  • 上位入賞には案 3 相当の独自設計が必要になる可能性も否定できない (その時は Phase 5 で部分的に踏み込む)。

Neutral

  • Strategy Category 用のレポートでは「サンプル拡張」と書きつつ、Phase 3 以降の改造 (target 修正、IS-MCTS、Oracle Guiding) を主張することになる。

References

  • docs/PLAN.md Context・Phase 構成
  • Cowling, Powley, Whitehouse (2012) "Information Set Monte Carlo Tree Search"
  • Silver et al. (2018) "AlphaZero"
  • 本セッション docs/journal/2026-06-17.md