モロゾフ・バランス指数(MBI):方法論
モロゾフ・バランス指数(MBI)は、960 の Chess960 初期局面それぞれについて一つの問いに答えます — 白の先手の優位はどれほど大きいか。このページが方法のすべてです。本サイトのどの数値も、ここから再計算できます。
方法論の著者:ロマン・モロゾフ(Roman Morozov)。 著者について · バージョン 2.0 · 2026-09-18
CC BY 4.0 方法論とデータ:CC BY 4.0 — 著者を明記すれば自由に利用できます。
この指数が測るもの
チェスでは白が先に指します。その先手には価値があり、Chess960 では 960 通りの配置ごとに価値が異なります。指数が測るのはその開始時の優位の「大きさ」であり、どちらが良いかではありません。960 局面のうち 956 局面で、初期局面のエンジン評価は互角かそれ以上に白寄りです。残る 4 局面は黒側に 2〜7 センチポーン出ますが、これは探索が自身の反復間で動く幅より小さく、ゼロ付近の揺れであって黒の優位ではありません。尺度はゼロからの距離で向きは問いません。したがって正直な言い方は「ここでのリードはどれほどか」であり、バランスの良い局面とは、そのリードが最も小さい局面のことです。
MBI は 0〜100 の尺度です。100 は 960 局面中で実測された白の優位が最小、すなわち最もバランスの取れた出発点。0 は最大です。指数は単一の実測量の順位に基づく変換なので、示すのは他の 959 局面と比べた位置であって、誰がポーン何個分リードしているかではありません。
各局面の評価方法
各初期局面は、初期配置から Stockfish で一度だけ解析します。固定の時間ではなく、固定の探索ノード数を予算とします。これが方法全体の要となる判断です。ノード予算はマシンに依存しません。時間予算では速い計算機ほど深く探索し、別の数値になってしまい、誰も結果を検証できません。
- エンジン:Stockfish 17.1、公式ビルド、NNUE 評価はバイナリに内蔵。
- バイナリの SHA-256:
5f95eaea0d4eb697381989187ce6eb4d6ad59283c34421765ecc73cdb09ba766 - NNUE ネットワーク:nn-1c0000000000.nnue, nn-37f18f62d772.nnue
- 探索上限:1 局面あたり 400 000 000 ノード(`go nodes`)。
- UCI オプション:Threads = 1、Hash = 256 MB、UCI_Chess960 = true。
- 各局面の前に `ucinewgame`:ハッシュ表を消去するため局面同士が影響せず、計算順序も結果に影響しません。
- 評価値は常に白側の視点、単位はセンチポーン(100 cp = ポーン 1 個)。
- 評価値と主変化は、最後に完了した探索イテレーション(上限・下限の印が付かない行)から取ります。ノード上限で打ち切られたイテレーションは確定した評価ではなく境界値を報告するだけで、変化も 1、2 手しかありません。それを採るのはノイズを結果として公開することです。
固定ハッシュ・固定ノード数の単一スレッド探索は決定的です。同じバイナリならどのマシンでも、ビット単位で同じセンチポーン値を返します。独立検証が「もっともらしい」ではなく「可能」になるのは、このためです。
センチポーンから指数へ
センチポーンは人間的な何かの線形尺度ではなく、+18 と +22 の差それ自体に意味はありません。そこで指数は生の数値ではなく、960 局面中の順位を用います:
rank(sp) = position of eval_cp(sp) in the sorted list of all 960 values
(ascending: smallest White edge first, ties share the mean rank)
MBI(sp) = round( 100 * (960 - rank(sp)) / (960 - 1) )
| クラス | 白の優位 | 局面数 |
|---|---|---|
| A — 最もバランスが良い | ≤ +19 cp | 240 |
| B — バランスが良い | +20…+26 cp | 240 |
| C — 優位がはっきりする | +27…+35 cp | 240 |
| D — 優位が最大 | > +35 cp | 240 |
960 局面全体でエンジン評価は -7 から +83 センチポーン、中央値は +26.0 です。
960 の値の分布
各バーは 5 センチポーン幅の区間で、右の数字はその区間に入る局面の数です。
検証
エンジン評価は局面についての主張です。その主張が実際の結果を予測できるかを確かめるため、一部の局面を最後まで指させます。エンジン同士、1 局面あたり多数の対局、シードは固定して公開します。指数がバランス良好と呼ぶ局面が実際に白の得点率 50% に近ければ、指数は宣言どおりのものを測っています。
- 60 局面 × 50 局 = 3000 局、持ち時間 300,000 nodes/move。
- 初期評価と白の得点率のスピアマン相関:0.76(95% 信頼区間 0.63…0.85、ブートストラップ 10000 回)。MBI はこの評価の単調変換なので、同じ数値が MBI にも当てはまります。
- 結論:検証済み — 順位は自己対局の結果を予測しており、指数は測定どおり公開します。
基準シード:20260825。すべての対局を正確に再現できます。
| 局面 | グループ | エンジン、cp | 対局数 | 勝/分/負 | 白の得点率 |
|---|---|---|---|---|---|
| 42 | ランダム | +23 | 50 | 6/44/0 | 56.0% (42.3–68.8%) |
| 52 | ランダム | +18 | 50 | 5/45/0 | 55.0% (41.3–67.9%) |
| 80 | 最も偏った | +83 | 50 | 7/42/1 | 56.0% (42.3–68.8%) |
| 86 | ランダム | +34 | 50 | 1/48/1 | 50.0% (36.6–63.4%) |
| 102 | 最もバランスが良い | 0 | 50 | 3/47/0 | 53.0% (39.5–66.1%) |
| 131 | 最もバランスが良い | 0 | 50 | 0/50/0 | 50.0% (36.6–63.4%) |
| 204 | 最もバランスが良い | 0 | 50 | 0/46/4 | 46.0% (33.0–59.6%) |
| 217 | 最もバランスが良い | +3 | 50 | 0/50/0 | 50.0% (36.6–63.4%) |
| 259 | 最もバランスが良い | +3 | 50 | 2/43/5 | 47.0% (33.9–60.6%) |
| 262 | ランダム | +43 | 50 | 6/44/0 | 56.0% (42.3–68.8%) |
| 266 | ランダム | +26 | 50 | 3/47/0 | 53.0% (39.5–66.1%) |
| 268 | 最も偏った | +58 | 50 | 8/42/0 | 58.0% (44.2–70.6%) |
| 269 | 最もバランスが良い | 0 | 50 | 1/46/3 | 48.0% (34.8–61.5%) |
| 272 | 最も偏った | +58 | 50 | 13/36/1 | 62.0% (48.2–74.1%) |
| 292 | ランダム | +49 | 50 | 1/49/0 | 51.0% (37.6–64.3%) |
| 300 | 最もバランスが良い | 0 | 50 | 3/47/0 | 53.0% (39.5–66.1%) |
| 332 | 最も偏った | +59 | 50 | 10/40/0 | 60.0% (46.2–72.4%) |
| 348 | 最も偏った | +62 | 50 | 6/44/0 | 56.0% (42.3–68.8%) |
| 399 | 最も偏った | +65 | 50 | 7/38/5 | 52.0% (38.5–65.2%) |
| 401 | 最もバランスが良い | -7 | 50 | 0/49/1 | 49.0% (35.7–62.4%) |
| 418 | 最もバランスが良い | -2 | 50 | 1/49/0 | 51.0% (37.6–64.3%) |
| 424 | ランダム | +23 | 50 | 6/44/0 | 56.0% (42.3–68.8%) |
| 429 | 最もバランスが良い | 0 | 50 | 0/50/0 | 50.0% (36.6–63.4%) |
| 432 | 最もバランスが良い | +3 | 50 | 5/44/1 | 54.0% (40.4–67.0%) |
| 433 | 最もバランスが良い | -4 | 50 | 4/45/1 | 53.0% (39.5–66.1%) |
| 467 | 最もバランスが良い | +2 | 50 | 2/47/1 | 51.0% (37.6–64.3%) |
| 471 | 最もバランスが良い | 0 | 50 | 0/50/0 | 50.0% (36.6–63.4%) |
| 481 | ランダム | +5 | 50 | 1/49/0 | 51.0% (37.6–64.3%) |
| 485 | 最もバランスが良い | +3 | 50 | 1/49/0 | 51.0% (37.6–64.3%) |
| 497 | 最もバランスが良い | 0 | 50 | 0/48/2 | 48.0% (34.8–61.5%) |
| 499 | ランダム | +18 | 50 | 4/46/0 | 54.0% (40.4–67.0%) |
| 531 | ランダム | +13 | 50 | 4/46/0 | 54.0% (40.4–67.0%) |
| 556 | ランダム | +21 | 50 | 2/48/0 | 52.0% (38.5–65.2%) |
| 557 | 最も偏った | +63 | 50 | 15/35/0 | 65.0% (51.1–76.7%) |
| 565 | 最も偏った | +60 | 50 | 4/44/2 | 52.0% (38.5–65.2%) |
| 576 | 最もバランスが良い | 0 | 50 | 1/48/1 | 50.0% (36.6–63.4%) |
| 578 | 最も偏った | +56 | 50 | 12/38/0 | 62.0% (48.2–74.1%) |
| 593 | 最もバランスが良い | +2 | 50 | 0/49/1 | 49.0% (35.7–62.4%) |
| 604 | 最も偏った | +81 | 50 | 13/37/0 | 63.0% (49.1–75.0%) |
| 620 | 最も偏った | +63 | 50 | 12/38/0 | 62.0% (48.2–74.1%) |
| 637 | ランダム | +21 | 50 | 7/43/0 | 57.0% (43.3–69.7%) |
| 654 | ランダム | +34 | 50 | 4/45/1 | 53.0% (39.5–66.1%) |
| 665 | ランダム | +22 | 50 | 6/44/0 | 56.0% (42.3–68.8%) |
| 745 | ランダム | +13 | 50 | 3/46/1 | 52.0% (38.5–65.2%) |
| 748 | ランダム | +42 | 50 | 6/43/1 | 55.0% (41.3–67.9%) |
| 760 | 最も偏った | +61 | 50 | 8/40/2 | 56.0% (42.3–68.8%) |
| 784 | 最も偏った | +58 | 50 | 10/38/2 | 58.0% (44.2–70.6%) |
| 786 | 最もバランスが良い | +2 | 50 | 4/45/1 | 53.0% (39.5–66.1%) |
| 794 | 最も偏った | +67 | 50 | 12/38/0 | 62.0% (48.2–74.1%) |
| 801 | ランダム | +11 | 50 | 1/49/0 | 51.0% (37.6–64.3%) |
| 814 | ランダム | +32 | 50 | 5/45/0 | 55.0% (41.3–67.9%) |
| 823 | 最もバランスが良い | -5 | 50 | 2/48/0 | 52.0% (38.5–65.2%) |
| 868 | 最も偏った | +75 | 50 | 9/41/0 | 59.0% (45.2–71.5%) |
| 870 | ランダム | +44 | 50 | 5/45/0 | 55.0% (41.3–67.9%) |
| 879 | 最も偏った | +66 | 50 | 11/38/1 | 60.0% (46.2–72.4%) |
| 880 | 最も偏った | +63 | 50 | 7/42/1 | 56.0% (42.3–68.8%) |
| 885 | ランダム | +14 | 50 | 1/49/0 | 51.0% (37.6–64.3%) |
| 886 | 最も偏った | +58 | 50 | 5/45/0 | 55.0% (41.3–67.9%) |
| 902 | 最も偏った | +62 | 50 | 5/44/1 | 54.0% (40.4–67.0%) |
| 935 | 最も偏った | +78 | 50 | 11/38/1 | 60.0% (46.2–72.4%) |
深層検証と分類 v2
バージョン 2.0 は指数の上に第二の層を加えます。各局面はエンジンの主要変化に沿って 30 手(優先集合は 35 手)進められ、最も均衡した局面とゼロまたはマイナスの局面はノード予算を 3〜10 倍にして再探索され、ゼロ/マイナスの局面にはさらに 3 本の MultiPV 探索と第二の自己対局シリーズが行われました。
均衡バンド(基準評価による)
四分位の代わりにセンチポーンの絶対しきい値:E — 互角、|cp| ≤ 10;S — わずかな優勢、11〜25;M — 明確な優勢、26〜40;L — 大きな優勢、≥ 41。四分位はデータに関係なく 240 の「均衡」局面を保証していましたが、バンドは実際に存在する分だけを含みます。基準計算(400 000 000 ノード、960 局面すべて同じ深さ)がバンドを決め、より深い探索が検証します。
| バンド | 局面数 |
|---|---|
| E — 互角 | 64 |
| S — わずかな優勢 | 386 |
| M — 明確な優勢 | 377 |
| L — 大きな優勢 | 133 |
推移(進行に沿って)
同じエンジンが 1 手あたり固定 5 000 000 ノードで両側を指し、各半手の前に評価を記録します。volatile — 評価が 60 cp 以上変動、または少なくとも 2 回符号が反転(±15 cp を超える値のみ符号として数える);equalizing — 最終の優勢が開始時より 10 cp 以上小さい;sharpening — 15 cp 以上大きい;stable — それ以外。
この 1 手あたり予算での評価は序盤で白の優勢を過大評価し、局面が単純化するにつれてゼロへ収束するため、ほぼどの局面でも生の推移は「均衡化」します。ラベル付けの前に、各進行から 960 局面すべての中央値推移(半手ごと)を差し引きます。共通のドリフトは打ち消され、この局面が典型的な局面とどう異なるかだけが残ります。10、20、30 手目の生の基準点はそのまま公開します。
| 推移 | 局面数 |
|---|---|
| 安定 | 542 |
| 均衡化 | 285 |
| 先鋭化 | 25 |
| 不安定 | 108 |
バンド × 推移
| バンド | 安定 | 均衡化 | 先鋭化 | 不安定 |
|---|---|---|---|---|
| E | 28 | 33 | 1 | 2 |
| S | 234 | 120 | 6 | 26 |
| M | 240 | 81 | 14 | 42 |
| L | 40 | 51 | 4 | 38 |
より深い再探索
|cp| ≤ 25 の局面は 1 200 000 000 ノードで、ゼロとマイナスの局面は 4 000 000 000 ノードで再探索——1 スレッド、固定ハッシュにより、すべての数値はビット単位で再現可能です。深い値が基準計算から 10 cp 以内(基準探索の反復間ノイズの 2 倍)に留まる場合、その局面は検証済みとみなします:147 局面中 123 が検証済み。より深い探索はこれらの局面を系統的に上方へ動かし——×3 で中央値 +3 cp、×10 で +9 cp——マイナスになった局面は一つもありません。深い値によるバンドは基準バンドの隣に公開され、読者は両方を見られます。
係争中の 13 局面
13 の局面は基準計算でゼロまたはわずかにマイナスでした。符号は深い探索が決めます。3 本の MultiPV 探索(800 000 000 ノード)と第二の自己対局シリーズ(1 局面あたり 100 局、1 手 1 000 000 ノード)は独立した検証であり、拒否権ではありません。
| 局面 | エンジン、cp | 深層、cp | 判定 | 自己対局 v2 |
|---|---|---|---|---|
| 102 | 0 | +20 | 白の優勢——マイナスはノイズだった | 54.5% (44.8–63.9%) |
| 131 | 0 | +5 | 互角——エンジンのノイズの範囲内 | 50.5% (40.9–60.1%) |
| 204 | 0 | +9 | 互角——エンジンのノイズの範囲内 | 47.5% (38.0–57.2%) |
| 269 | 0 | +15 | 白の優勢——マイナスはノイズだった | 48.5% (38.9–58.2%) |
| 300 | 0 | +12 | 白の優勢——マイナスはノイズだった | 51.5% (41.8–61.1%) |
| 401 | -7 | 0 | 互角——エンジンのノイズの範囲内 | 49.0% (39.4–58.7%) |
| 418 | -2 | +5 | 互角——エンジンのノイズの範囲内 | 50.5% (40.9–60.1%) |
| 429 | 0 | +10 | 互角——エンジンのノイズの範囲内 | 51.0% (41.3–60.6%) |
| 433 | -4 | +3 | 互角——エンジンのノイズの範囲内 | 51.5% (41.8–61.1%) |
| 471 | 0 | +15 | 白の優勢——マイナスはノイズだった | 50.0% (40.4–59.6%) |
| 497 | 0 | +6 | 互角——エンジンのノイズの範囲内 | 49.0% (39.4–58.7%) |
| 576 | 0 | +13 | 白の優勢——マイナスはノイズだった | 50.0% (40.4–59.6%) |
| 823 | -5 | 0 | 互角——エンジンのノイズの範囲内 | 51.5% (41.8–61.1%) |
局面ファミリー別のバンド
| 命名法 | E | S | M | L |
|---|---|---|---|---|
| BastionGuard | 14 | 69 | 58 | 27 |
| BastionScout | 14 | 61 | 70 | 23 |
| RampartGuard | 11 | 53 | 67 | 13 |
| RampartScout | 2 | 30 | 30 | 10 |
| ThroneGuard | 16 | 98 | 65 | 25 |
| ThroneScout | 7 | 75 | 87 | 35 |
限界 — 数値を引用する前にお読みください
- エンジン評価は人間の実戦ではありません。エンジンがバランス良好とする局面でも、人間には指しにくく、鋭く、不慣れなことがあります。それはここでは測っていません。
- エンジンは 1 つ、評価関数も 1 つです。別のエンジンなら順序はわずかに変わります。誰でも別のエンジンで再現し比較できるように、方法は固定して公開しています。
- 固定ノード予算は、ある探索深さでのスナップショットです。より深い解析は個々の値を動かしますが、順序は単一の数値よりはるかに安定します。指数が順位に基づくのはそのためです。
- Chess960 には定跡がほとんどありません。クラシックチェスの白の優位は準備された変化の蓄積を一部含みますが、ここでは駒の働きだけです。測定は純粋になりますが、これらの数値はクラシックの初期配置について何も語りません。
- 超速の持ち時間による自己対局は「実戦」の安価な近似にすぎません。順序を検証はしますが、個々の局面を保証はしません。
- 指数は初期局面だけの性質です。第 1 手のあとどちらが良いかについては何も述べません。
- 進行は 1 手あたり控えめな予算でのエンジンの一本の変化にすぎません。速い対局で均衡がどう振る舞うかを示すもので、局面の理論的価値ではありません。
自分で検証するには
データセットを再計算するのに必要なものはすべて公開されています。厳密なエンジンのビルド、予算、スクリプト、生の出力。1 局面の再計算は 1 コアで数分、全体では一晩です。
- オープンデータのページから生データとスクリプトをダウンロードします。 オープンデータ
- 公開データセットと 1 局面を照合します — このコマンドは一から再計算して比較します:
python tools/balance/verify_reproduce.py --sp 518 - あるいは全体を再計算します(再開可能。中断後は同じファイルに追記されます):
python tools/balance/eval_all.py --nodes 400000000 --workers 20
値が食い違えば、その差こそが発見です。エンジンのビルド、ノード予算、オプションのいずれかが一致していません。3 つとも上に記載しています。
引用とライセンス
方法論とデータセットは CC BY 4.0 で公開しています。著者を明記すれば、商用を含め自由に利用できます。
Morozov R. Chess960 Balance Index (MBI). ch960.com/balance, 2026. CC BY 4.0.