♚In der App öffnen

Morozov-Balance-Index (MBI): Methodik

Der Morozov-Balance-Index (MBI) beantwortet für jede der 960 Chess960-Startstellungen genau eine Frage: Wie groß ist der Anzugsvorteil von Weiß? Diese Seite enthält die vollständige Methode — jede Zahl auf dieser Website lässt sich daraus neu berechnen.

Autor der Methodik: Roman Morozov. Über den Autor · Version 2.0 · 2026-09-18

CC BY 4.0 Methodik und Daten: CC BY 4.0 — frei nutzbar mit Nennung des Autors.

Was der Index misst

Im Schach zieht Weiß zuerst. Dieser erste Zug ist etwas wert, und in Chess960 ist er in jeder der 960 Aufstellungen unterschiedlich viel wert. Der Index misst die GRÖSSE dieses Startvorteils — nicht, wer besser steht. In 956 der 960 Stellungen liegt die Engine-Bewertung der Ausgangsstellung bei Ausgleich oder darüber zugunsten von Weiß; die übrigen vier liegen 2 bis 7 Centipawns auf der schwarzen Seite — weniger, als die Suche zwischen ihren eigenen Iterationen schwankt, also Rauschen um die Null und kein Vorteil für Schwarz. Gemessen wird der Abstand zur Null in beide Richtungen; die ehrliche Formulierung lautet daher „wie groß ist der Vorsprung hier“, und ausgewogen ist die Stellung, in der dieser Vorsprung am kleinsten ist.

MBI ist eine Skala von 0 bis 100. 100 steht für den kleinsten gemessenen Weiß-Vorteil unter allen 960 Stellungen — den ausgewogensten Start. 0 für den größten. Der Index ist eine rangbasierte Transformation einer einzigen gemessenen Größe: Er sagt, wie eine Stellung im Vergleich zu den anderen 959 dasteht, nicht um wie viele Bauern jemand führt.

Wie jede Stellung bewertet wird

Jede Startstellung wird einmal von Stockfish aus der Grundstellung analysiert, mit einem festen Budget an SUCHKNOTEN statt einer festen Zeit. Das ist die zentrale Entscheidung der ganzen Methode: Ein Knotenbudget ist maschinenunabhängig. Ein Zeitbudget gäbe einem schnellen Rechner eine tiefere Suche und damit eine andere Zahl — niemand könnte das Ergebnis prüfen.

Einthreadige Suche mit festem Hash und fester Knotenzahl ist deterministisch: dasselbe Binary liefert auf jeder Maschine denselben Centibauern-Wert, Bit für Bit. Genau das macht eine unabhängige Prüfung möglich und nicht bloß plausibel.

Von Centibauern zum Index

Centibauern sind kein lineares Maß für etwas Menschliches, und der Unterschied zwischen +18 und +22 bedeutet für sich genommen nichts. Der Index verwendet deshalb den RANG einer Stellung unter allen 960, nicht die Rohzahl:

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) )
Klasse Weiß-Vorteil Stellungen
A — am ausgewogensten ≤ +19 cp 240
B — ausgewogen +20…+26 cp 240
C — spürbarer Vorteil +27…+35 cp 240
D — größter Vorteil > +35 cp 240

Über alle 960 Stellungen reicht der Engine-Wert von -7 bis +83 Centibauern, Median +26.0.

Wie sich die 960 Werte verteilen

Jeder Balken ist ein Fünf-Centibauern-Intervall; die Zahl rechts sagt, wie viele der 960 Stellungen hineinfallen.

-10..-6 cp1
-5..-1 cp3
0..4 cp19
5..9 cp25
10..14 cp72
15..19 cp135
20..24 cp159
25..29 cp173
30..34 cp131
35..39 cp96
40..44 cp63
45..49 cp43
50..54 cp18
55..59 cp8
60..64 cp7
65..69 cp3
70..74 cp0
75..79 cp2
80..84 cp2

Validierung

Eine Engine-Bewertung ist eine Behauptung über eine Stellung. Um zu prüfen, ob diese Behauptung tatsächliche Ergebnisse vorhersagt, wird ein Teil der Stellungen ausgespielt: Engine gegen Engine, viele Partien je Stellung, mit festgelegten und veröffentlichten Seeds. Wenn Stellungen, die der Index ausgewogen nennt, tatsächlich näher an 50 % für Weiß punkten, misst der Index das, was er zu messen vorgibt.

Basis-Seed: 20260825. Jede Partie ist exakt wiederholbar.

Stellung Gruppe Engine, cp Partien S/R/N Weiß-Punktzahl
42 zufällig +23 50 6/44/0 56.0% (42.3–68.8%)
52 zufällig +18 50 5/45/0 55.0% (41.3–67.9%)
80 am unausgewogensten +83 50 7/42/1 56.0% (42.3–68.8%)
86 zufällig +34 50 1/48/1 50.0% (36.6–63.4%)
102 am ausgewogensten 0 50 3/47/0 53.0% (39.5–66.1%)
131 am ausgewogensten 0 50 0/50/0 50.0% (36.6–63.4%)
204 am ausgewogensten 0 50 0/46/4 46.0% (33.0–59.6%)
217 am ausgewogensten +3 50 0/50/0 50.0% (36.6–63.4%)
259 am ausgewogensten +3 50 2/43/5 47.0% (33.9–60.6%)
262 zufällig +43 50 6/44/0 56.0% (42.3–68.8%)
266 zufällig +26 50 3/47/0 53.0% (39.5–66.1%)
268 am unausgewogensten +58 50 8/42/0 58.0% (44.2–70.6%)
269 am ausgewogensten 0 50 1/46/3 48.0% (34.8–61.5%)
272 am unausgewogensten +58 50 13/36/1 62.0% (48.2–74.1%)
292 zufällig +49 50 1/49/0 51.0% (37.6–64.3%)
300 am ausgewogensten 0 50 3/47/0 53.0% (39.5–66.1%)
332 am unausgewogensten +59 50 10/40/0 60.0% (46.2–72.4%)
348 am unausgewogensten +62 50 6/44/0 56.0% (42.3–68.8%)
399 am unausgewogensten +65 50 7/38/5 52.0% (38.5–65.2%)
401 am ausgewogensten -7 50 0/49/1 49.0% (35.7–62.4%)
418 am ausgewogensten -2 50 1/49/0 51.0% (37.6–64.3%)
424 zufällig +23 50 6/44/0 56.0% (42.3–68.8%)
429 am ausgewogensten 0 50 0/50/0 50.0% (36.6–63.4%)
432 am ausgewogensten +3 50 5/44/1 54.0% (40.4–67.0%)
433 am ausgewogensten -4 50 4/45/1 53.0% (39.5–66.1%)
467 am ausgewogensten +2 50 2/47/1 51.0% (37.6–64.3%)
471 am ausgewogensten 0 50 0/50/0 50.0% (36.6–63.4%)
481 zufällig +5 50 1/49/0 51.0% (37.6–64.3%)
485 am ausgewogensten +3 50 1/49/0 51.0% (37.6–64.3%)
497 am ausgewogensten 0 50 0/48/2 48.0% (34.8–61.5%)
499 zufällig +18 50 4/46/0 54.0% (40.4–67.0%)
531 zufällig +13 50 4/46/0 54.0% (40.4–67.0%)
556 zufällig +21 50 2/48/0 52.0% (38.5–65.2%)
557 am unausgewogensten +63 50 15/35/0 65.0% (51.1–76.7%)
565 am unausgewogensten +60 50 4/44/2 52.0% (38.5–65.2%)
576 am ausgewogensten 0 50 1/48/1 50.0% (36.6–63.4%)
578 am unausgewogensten +56 50 12/38/0 62.0% (48.2–74.1%)
593 am ausgewogensten +2 50 0/49/1 49.0% (35.7–62.4%)
604 am unausgewogensten +81 50 13/37/0 63.0% (49.1–75.0%)
620 am unausgewogensten +63 50 12/38/0 62.0% (48.2–74.1%)
637 zufällig +21 50 7/43/0 57.0% (43.3–69.7%)
654 zufällig +34 50 4/45/1 53.0% (39.5–66.1%)
665 zufällig +22 50 6/44/0 56.0% (42.3–68.8%)
745 zufällig +13 50 3/46/1 52.0% (38.5–65.2%)
748 zufällig +42 50 6/43/1 55.0% (41.3–67.9%)
760 am unausgewogensten +61 50 8/40/2 56.0% (42.3–68.8%)
784 am unausgewogensten +58 50 10/38/2 58.0% (44.2–70.6%)
786 am ausgewogensten +2 50 4/45/1 53.0% (39.5–66.1%)
794 am unausgewogensten +67 50 12/38/0 62.0% (48.2–74.1%)
801 zufällig +11 50 1/49/0 51.0% (37.6–64.3%)
814 zufällig +32 50 5/45/0 55.0% (41.3–67.9%)
823 am ausgewogensten -5 50 2/48/0 52.0% (38.5–65.2%)
868 am unausgewogensten +75 50 9/41/0 59.0% (45.2–71.5%)
870 zufällig +44 50 5/45/0 55.0% (41.3–67.9%)
879 am unausgewogensten +66 50 11/38/1 60.0% (46.2–72.4%)
880 am unausgewogensten +63 50 7/42/1 56.0% (42.3–68.8%)
885 zufällig +14 50 1/49/0 51.0% (37.6–64.3%)
886 am unausgewogensten +58 50 5/45/0 55.0% (41.3–67.9%)
902 am unausgewogensten +62 50 5/44/1 54.0% (40.4–67.0%)
935 am unausgewogensten +78 50 11/38/1 60.0% (46.2–72.4%)

Tiefenprüfung und Klassifikation v2

Version 2.0 legt eine zweite Schicht über den Index. Jede Stellung wurde entlang der Hauptvariante der Engine 30 Züge lang ausgespielt (35 für die Prioritätsmenge), die ausgeglichensten sowie alle Null- oder Minus-Stellungen wurden mit einem 3–10-mal größeren Knotenbudget neu berechnet, und die Null-/Minus-Stellungen erhielten zusätzlich eine MultiPV-Suche mit drei Varianten und eine zweite Self-Play-Serie.

Balance-Band (nach der Basisbewertung)

Absolute Schwellen in Centipawns statt Quartilen: E — ausgeglichen, |cp| ≤ 10; S — leicht, 11–25; M — spürbar, 26–40; L — groß, ≥ 41. Quartile garantierten 240 „ausgeglichene“ Stellungen bei beliebigen Daten; ein Band fasst nur so viele, wie es wirklich gibt. Der Basislauf (400 000 000 Knoten, gleiche Tiefe für alle 960) legt das Band fest; die tiefere Suche prüft es.

Band Stellungen
E — ausgeglichen 64
S — leichter Vorteil 386
M — spürbarer Vorteil 377
L — großer Vorteil 133

Dynamik (entlang des Ausspielens)

Dieselbe Engine spielt beide Seiten mit festem Budget von 5 000 000 Knoten pro Zug, die Bewertung wird vor jedem Halbzug festgehalten. volatil — die Bewertung schwankte um ≥ 60 cp oder wechselte mindestens 2-mal das Vorzeichen (nur Werte jenseits ±15 cp zählen); ausgleichend — der Vorteil am Ende ist mindestens 10 cp kleiner als am Start; zuspitzend — mindestens 15 cp größer; stabil — alles andere.

Bewertungen mit diesem Budget pro Zug überschätzen den Weiß-Vorteil zu Partiebeginn und laufen gegen null, sobald sich die Stellung vereinfacht — die rohe Trajektorie fast jeder Stellung „gleicht sich aus“. Vor der Kennzeichnung wird von jedem Ausspielen die Median-Trajektorie aller 960 Stellungen (pro Halbzug) abgezogen: Die gemeinsame Drift hebt sich auf, übrig bleibt, worin sich diese Stellung von einer typischen unterscheidet. Die rohen Stützpunkte bei 10, 20 und 30 Zügen werden unverändert veröffentlicht.

Dynamik Stellungen
stabil 542
ausgleichend 285
zuspitzend 25
volatil 108

Bänder × Dynamik

Band stabil ausgleichend zuspitzend volatil
E 28 33 1 2
S 234 120 6 26
M 240 81 14 42
L 40 51 4 38

Tiefere Neuberechnung

Stellungen mit |cp| ≤ 25 wurden mit 1 200 000 000 Knoten neu berechnet, Null- und Minus-Stellungen mit 4 000 000 000 Knoten — ein Thread, fester Hash, jede Zahl ist bitgenau reproduzierbar. Eine Stellung gilt als bestätigt, wenn der tiefe Wert innerhalb von 10 cp des Basislaufs bleibt (das Doppelte des Rauschens zwischen Iterationen der Basissuche): 123 von 147 bestätigt. Die tiefere Suche verschiebt diese Stellungen systematisch nach oben — Median +3 cp bei ×3 und +9 cp bei ×10 — und keine einzige wurde negativ; das Band nach dem tiefen Wert wird neben dem Basisband veröffentlicht, der Leser sieht beide.

Die umstrittenen dreizehn

Dreizehn Stellungen ergaben im Basislauf null oder leicht minus. Die tiefe Suche entscheidet das Vorzeichen; die MultiPV-Suche mit drei Varianten (800 000 000 Knoten) und eine zweite Self-Play-Serie (100 Partien pro Stellung bei 1 000 000 Knoten pro Zug) sind unabhängige Prüfungen, kein Veto.

Stellung Engine, cp Tief, cp Urteil Self-Play v2
102 0 +20 Weiß-Vorteil — das Minus war Rauschen 54.5% (44.8–63.9%)
131 0 +5 ausgeglichen — im Rauschen der Engine 50.5% (40.9–60.1%)
204 0 +9 ausgeglichen — im Rauschen der Engine 47.5% (38.0–57.2%)
269 0 +15 Weiß-Vorteil — das Minus war Rauschen 48.5% (38.9–58.2%)
300 0 +12 Weiß-Vorteil — das Minus war Rauschen 51.5% (41.8–61.1%)
401 -7 0 ausgeglichen — im Rauschen der Engine 49.0% (39.4–58.7%)
418 -2 +5 ausgeglichen — im Rauschen der Engine 50.5% (40.9–60.1%)
429 0 +10 ausgeglichen — im Rauschen der Engine 51.0% (41.3–60.6%)
433 -4 +3 ausgeglichen — im Rauschen der Engine 51.5% (41.8–61.1%)
471 0 +15 Weiß-Vorteil — das Minus war Rauschen 50.0% (40.4–59.6%)
497 0 +6 ausgeglichen — im Rauschen der Engine 49.0% (39.4–58.7%)
576 0 +13 Weiß-Vorteil — das Minus war Rauschen 50.0% (40.4–59.6%)
823 -5 0 ausgeglichen — im Rauschen der Engine 51.5% (41.8–61.1%)

Bänder nach Stellungsfamilie

Nomenklatur 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

Grenzen — bitte vor dem Zitieren der Zahlen lesen

Selbst nachrechnen

Alles, was zum Nachrechnen des Datensatzes nötig ist, ist öffentlich: der exakte Engine-Build, das Budget, die Skripte und die Rohausgabe. Eine Stellung neu zu rechnen dauert wenige Minuten auf einem Kern; der ganze Satz eine Nacht.

  1. Laden Sie Rohdaten und Skripte auf der Seite mit offenen Daten herunter. Offene Daten
  2. Prüfen Sie eine Stellung gegen den veröffentlichten Datensatz — der Befehl rechnet sie von Grund auf neu und vergleicht:
    python tools/balance/verify_reproduce.py --sp 518
  3. Oder rechnen Sie den gesamten Satz neu (fortsetzbar: nach einem Abbruch wird dieselbe Datei ergänzt):
    python tools/balance/eval_all.py --nodes 400000000 --workers 20

Weicht Ihr Wert ab, ist genau das der Befund: Engine-Build, Knotenbudget oder Optionen stimmen nicht überein. Alle drei stehen oben.

Zitierung und Lizenz

Methodik und Datensatz stehen unter CC BY 4.0: beliebig verwendbar, auch kommerziell, mit Namensnennung des Autors.

Morozov R. Chess960 Balance Index (MBI). ch960.com/balance, 2026. CC BY 4.0.

Balance aller 960 Stellungen · Datensatz und Roh-Engine-Ausgabe