モロゾフ・バランス指数(MBI):方法論
モロゾフ・バランス指数(MBI)は、960 の Chess960 初期局面それぞれについて一つの問いに答えます — 白の先手の優位はどれほど大きいか。このページが方法のすべてです。本サイトのどの数値も、ここから再計算できます。
方法論の著者:ロマン・モロゾフ(Roman Morozov)。 About the author · バージョン 1.0 · 2026-08-25
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%) |
限界 — 数値を引用する前にお読みください
- エンジン評価は人間の実戦ではありません。エンジンがバランス良好とする局面でも、人間には指しにくく、鋭く、不慣れなことがあります。それはここでは測っていません。
- エンジンは 1 つ、評価関数も 1 つです。別のエンジンなら順序はわずかに変わります。誰でも別のエンジンで再現し比較できるように、方法は固定して公開しています。
- 固定ノード予算は、ある探索深さでのスナップショットです。より深い解析は個々の値を動かしますが、順序は単一の数値よりはるかに安定します。指数が順位に基づくのはそのためです。
- Chess960 には定跡がほとんどありません。クラシックチェスの白の優位は準備された変化の蓄積を一部含みますが、ここでは駒の働きだけです。測定は純粋になりますが、これらの数値はクラシックの初期配置について何も語りません。
- 超速の持ち時間による自己対局は「実戦」の安価な近似にすぎません。順序を検証はしますが、個々の局面を保証はしません。
- 指数は初期局面だけの性質です。第 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.