13. 付録:統計モデル — XG / gnuBG / blunderDB の整合
このページでは、blunderDB が PR**(Performance Rate)、**Snowie Error Rate、MWC 損失をどのように計算し、これらの指標が eXtreme Gammon (XG) および gnuBG(オープンリファレンス)とどのように整合しているかを説明します。
13.1. 正式な定義
13.1.1. PR (Performance Rate)
PR(gnuBG では「error rate per decision」とも呼ばれる)は、カウントされた決定ごとのエクイティポイントの千分の一(ミリポイント、mpt)単位の平均エラーを測定します。
分子は、スコープ内のすべての決定における EMG エラー(キューブフルエクイティ)の絶対和です。
分母 \(N_\text{counted}\) は カウントされた決定 の数です(以下を参照)。
係数 500 はエクイティをミリポイントに変換します(1 ポイント = 1000 mpt ですが、XG/gnuBG の慣例により倍率は ×500 です —
gnubg/formatgs.c:399–409参照)。
13.1.2. Snowie Error Rate
Snowie ER は PR と 同じ分子 を使用しますが、分母は強制手を含む両プレイヤーの総手数です(すべての決定、フィルターなし):
参照:gnubg/formatgs.c:415–424。
Snowie ER は、分母が強制/自明な決定フィルターに依存しないため、ツール間でより安定しています。XG ↔ gnuBG ↔ blunderDB 間のクロスチェック指標として機能します。
注釈
プレイヤーの Snowie ER は通常 PR の約半分です。分母には両プレイヤーの手が含まれるのに対し、PR はそのプレイヤーの決定のみを使用するためです。
13.1.3. MWC 損失(Match Winning Chance)
MWC 損失は、プレイヤーのエラーの累積効果を、マッチに勝つ確率のパーセンテージポイントで表します。各決定について、EMG エラーは現在のスコアにおける MET(Match Equity Table)を使用して MWC に変換されます:
参照:gnubg/analysis.c:1449–1464。
13.2. PR の分母にカウントされる決定
blunderDB は XG および gnuBG と同じ除外ルールに従います。
13.2.1. チェッカープレイ — カウントされる決定
強制されていない手 のみがカウントされます:
手が 強制 であるのは、サイコロが 1 つの合法的なプレイしか提供しない場合です(
gnubg/analysis.c:458のcMoves == 1)。強制手は定義上エラーがゼロです:プレイヤーに選択肢がありませんでした。それらを分母に含めると PR が人為的に低下します。
13.2.2. キューブ決定 — カウントされる決定
接戦のキューブ決定 のみがカウントされます:
キューブ決定が 接戦 であるのは、ダブリングポイントの周囲のエクイティウィンドウ
[-0.16, +0.16]内にある場合です(gnubg/eval.c:5088–5100の述語isCloseCubedecision)。自明な「No Double」(非常に負または非常に正のエクイティ)は真の戦略的決定ではありません。それを含めると分母が膨らみ PR が低下します。
13.2.3. フィルターの概要
決定タイプ |
\(N_\text{counted}\) (PR) に含まれる |
|---|---|
強制されていない手 |
はい |
強制手 |
いいえ |
接戦キューブ |
はい |
自明な No Double |
いいえ |
Take / Pass |
常に(これらはダブルへの応答です) |
13.3. blunderDB ↔ XG ↔ gnuBG の対応
指標は以下の範囲内で整合しています(3 つの参照マッチで測定):
13.3.1. XG ↔ blunderDB の比較(同じ解析エンジン)
指標 |
典型的な差 |
|---|---|
総決定数 |
≤ 5 |
強制されていない手 |
≤ 7 |
PR |
≤ 0.10 |
MWC 損失 |
≤ 1.0 pp |
総エクイティ (EMG) |
≤ 0.05 |
13.3.2. gnuBG ↔ blunderDB の比較(SGF インポート — 異なるエンジン)
指標 |
典型的な差 | 主な原因 |
|
|---|---|---|
PR (チェッカー) |
≤ 0.20 |
クロスエンジンのエクイティ差 |
MWC 損失 |
≤ 3.5 pp |
SGF の不完全な接戦キューブデータ |
Snowie ER |
≤ 0.50 |
解析なしの強制手(SGF) |
注釈
SGF ファイル(gnuBG)は強制手の代替手を含まないため、blunderDB は SGF インポート時にすべての強制手を検出できません。これにより Snowie ER に構造的な差が生じます(分母がわずかに異なる)。
13.4. 自分の数値を検証する
PR または MWC の値が XG の数値と乖離する場合は、以下の点を確認してください:
完全な解析 — PR は解析のあるポジションのみで計算できます。解析のないポジションはエラーゼロとしてカウントされますが、\(N_\text{counted}\) には含まれません。
XG バージョン — XG はバージョン間で計算を変更する場合があります。blunderDB は最近のバージョンで観察された動作に合わせています。
インポート形式 — gnuBG の SGF ファイルは、ファイルにすべてのキューブ決定の完全な解析が含まれていないため、キューブ指標でより大きな差が生じます(上記の表を参照)。
データベースの移行 — blunderDB の更新後、既存のデータベースは自動的に移行されます。新しいバージョンでデータベースを開く前にバックアップを作成してください。
13.5. gnuBG 参照
数式は、以下のソースファイル(gnuBG リポジトリ)で検証されています:
gnubg/formatgs.c:399–409— PR("Error rate per decision")。gnubg/formatgs.c:415–424— Snowie Error Rate。gnubg/analysis.c:458–462— チェッカー累積、強制手の除外(cMoves > 1)。gnubg/analysis.c:1430–1474— 決定ごとの EMG → MWC 変換。gnubg/analysis.c:1449–1464— MWC 損失の累積(eq2mwc)。gnubg/eval.c:5088–5100— 述語 ``isCloseCubedecision``(閾値 0.16)。