最終回は再現とレビューのためのソース地図である。実験にはデスクトップC++/Qtアプリとブラウザ実装がある。同じ問題を別の実行環境で観察できるが、似た名称でもコード経路や数値挙動が同一とは限らない。

C++/Qt側は `model` から読む。状態特徴、行動スコア、更新、保存・読込が方針の中心だ。`game` はストリート進行、ベット、ポット精算、`finishHand` など終了処理を持つ。`card` ではデッキ表現とハンド強度を確認する。`mainwindow` は画面、入力、シミュレーションをつなぎ、ログがどの時点の状態か特定するのに必要となる。
ブラウザ側には独立したweb engineがある。反復実験と可視化には便利だが、報酬、特徴、乱数処理がネイティブ版と同じか直接比較する。一方の定数変更が他方にも反映されたとは仮定しない。

モデルスナップショットはコードと観察を結ぶ。cheolsu、younghee、minsuは、見かけが似た行動でも内部選好が異なり得ることを示す。特定学習時点の標本なので、ファイル名、コミット、設定、乱数シードと共に保存する。重み一つで全戦略を断定せず、特徴ベクトルと行動選択関数も追う。
読む順序は、ハンド終了時のchip delta計算、`finishHand`の変換、エピソード更新への伝達、保存重みと行動スコアの比較である。最後にQt画面とweb engineで同等の初期条件を再生し、実装差を実験変数として記録する。
公開ソースはpolicy collapse調査時のdiagnostic snapshotである。提案した報酬再設計、混合相手学習、信用割当改善が既に実装され、問題が解決済みだとは主張しない。ガードも根治ではなくcontainmentだ。後続変更は別コミットと同じ評価手順で検証する必要がある。
この地図の目的は誇張せず再検討可能にすることだ。ソース、モデル、再現設定、失敗例を一緒に残し、次の実験の基準線とする。
22ファイル · 5,126行 — フォルダを開いてファイルを押すとコードを読み込みます。
プロジェクトルート
CMakeLists.txt
コードを読み込んでいます…
README.md
コードを読み込んでいます…
models/
models/cheolsu.model
コードを読み込んでいます…
models/minsu.model
コードを読み込んでいます…
models/younghee.model
コードを読み込んでいます…
src/
src/card.cpp
コードを読み込んでいます…
src/card.h
コードを読み込んでいます…
src/dealer.cpp
コードを読み込んでいます…
src/dealer.h
コードを読み込んでいます…
src/game.cpp
コードを読み込んでいます…
src/game.h
コードを読み込んでいます…
src/main.cpp
コードを読み込んでいます…
src/mainwindow.cpp
コードを読み込んでいます…
src/mainwindow.h
コードを読み込んでいます…
src/model.cpp
コードを読み込んでいます…
src/model.h
コードを読み込んでいます…
web/
web/css/table.css
コードを読み込んでいます…
web/index.html
コードを読み込んでいます…
web/js/engine.js
コードを読み込んでいます…
web/js/ui.js
コードを読み込んでいます…
web/poker.mariago.kr.conf
コードを読み込んでいます…
web/test.mjs
コードを読み込んでいます…
COMMENTS · CHAPTER 04
MariaGOポーカーAI実験のソースとツール地図 コメント 0
まだコメントはありません。気になった点や補足があれば残してください。
コメントを登録するには、Googleで始めてニックネームとメールアドレスを登録してください。
Googleで始める