CABT Engine の使い方とローカルシミュレーション¶
更新日: 2026-06-17
先に結論¶
- CABT の対戦制御は
cg.gameのbattle_start(),battle_select(),battle_finish()が基本。 - 探索用の分岐シミュレーションは
cg.apiのsearch_begin(),search_step(),search_end()を使う。 - Kaggle 風の見た目確認は
kaggle_environments.make("cabt")とenv.render(mode="html")が入口。 - ただしサンプル notebook は
cg-libを/kaggle/input/**/cg-libから読み込んでいるため、ローカルではcg-libの所在を自分で渡す必要がある。
公式ドキュメントで確認できたこと¶
1. 対戦制御 API¶
公式 docs の game module には次がある。
battle_start(deck0, deck1)- 60 枚デッキ 2 つで対戦開始
- 返り値は
(Observation | None, StartData) battle_select(select_list)- 合法手 index のリストを渡して 1 ステップ進める
battle_finish()- 対戦終了と後片付け
visualize_data()- 現在の盤面の可視化用文字列を返す
出典:
- https://matsuoinstitute.github.io/cabt/game.html
2. 探索 API¶
公式 docs の API Overview には次がある。
search_begin(...)Observationを起点に探索状態を生成search_step(search_id, select)- 選択を 1 ステップ進める
search_end()- 現在の探索を終了
search_release(search_id)- 特定の探索状態を明示解放
出典:
- https://matsuoinstitute.github.io/cabt/
3. Kaggle 風の HTML 可視化¶
公式 docs の Getting Started には次の最小例がある。
from kaggle_environments import makeenv = make("cabt", configuration={"decks": [deck, deck]})env.run([agent, agent])env.render(mode="html")をresult.htmlに保存
このため、Kaggle 上で見るような確認方法は「動画」よりも「HTML リプレイ / ビジュアライザ」と考えるのが正確。
出典:
- https://matsuoinstitute.github.io/cabt/
notebook から読み取れたこと¶
リポジトリ内の reinforcement-learning-and-mcts-sample-code.ipynb では以下の前提で動いている。
sys.path.append(glob.glob('/kaggle/input/**/cg-lib', recursive=True)[0])from cg.api import ...from cg.game import battle_start, battle_finish, battle_select
つまり、cg-lib は PyPI 依存ではなく、Kaggle Input として配布されている可能性が高い。
このリポジトリに置いたサンプル¶
sample/ に次を追加した。
run_local_battle.py¶
cg-libがあるローカル環境向け- CABT の
battle_*API を直接呼んでランダム対戦を 1 試合回す --cg-lib /path/to/cg-libかCABT_CG_LIB_PATHでライブラリ位置を指定可能
render_kaggle_html.py¶
- Kaggle Notebook か、
kaggle_environmentsとcabt環境が入っている環境向け result.htmlを生成する
ローカルでのおすすめ手順¶
- Kaggle Notebook で公式 sample notebook を開く
/kaggle/input/**/cg-libの実体を確認する- ローカルへ持ってこられる場合はそのパスを
CABT_CG_LIB_PATHに設定する uv run python sample/run_local_battle.py --cg-lib /path/to/cg-lib- 見た目確認が必要なら、Kaggle 側で
uv run python sample/render_kaggle_html.py
未確認 / 未解決¶
cg-libの再配布可否- Kaggle 以外での
kaggle_environments.make("cabt")の導入可否 - HTML ビジュアライザがローカルでもそのまま再現できるか
この 3 点は、実際に Kaggle Notebook 側で配布物を確認して詰める必要がある。