♚Abrir en la app

Índice de Morozov (MBI): metodología

El Índice de Morozov (MBI) responde a una sola pregunta para cada una de las 960 posiciones iniciales de Chess960: ¿cuál es la magnitud de la ventaja de las blancas en la salida? Esta página contiene el método completo: cualquier cifra del sitio puede recalcularse a partir de él.

Autor de la metodología: Roman Morozov. Sobre el autor · Versión 2.0 · 2026-09-18

CC BY 4.0 Metodología y datos: CC BY 4.0 — uso libre citando al autor.

Qué mide el índice

En ajedrez las blancas mueven primero. Ese primer movimiento vale algo, y en Chess960 vale una cantidad distinta en cada una de las 960 disposiciones. El índice mide la MAGNITUD de esa ventaja inicial, no quién está mejor. En 956 de las 960 posiciones la evaluación del motor de la posición inicial es de igualdad o superior a favor de las blancas; las otras cuatro quedan entre 2 y 7 centipeones del lado de las negras, menos de lo que la propia búsqueda se mueve entre iteraciones: ruido alrededor de cero, no una ventaja de las negras. La medida es la distancia a cero en cualquier sentido, así que la formulación honesta es «cuál es la ventaja inicial aquí», y una posición equilibrada es aquella en la que esa ventaja es la menor posible.

El MBI es una escala de 0 a 100. 100 significa la menor ventaja medida de las blancas entre las 960 posiciones: la salida más equilibrada. 0 significa la mayor. El índice es una transformación basada en el RANGO de una única magnitud medida, así que indica cómo se compara una posición con las otras 959, no cuántos peones lleva nadie de ventaja.

Cómo se evalúa cada posición

Cada posición inicial se analiza una vez con Stockfish desde la disposición de salida, con un presupuesto fijo de NODOS de búsqueda en lugar de un tiempo fijo. Es la decisión clave de todo el método: un presupuesto de nodos no depende de la máquina. Un presupuesto de tiempo daría a un ordenador rápido una búsqueda más profunda y, por tanto, otro número, y nadie podría comprobar el resultado.

La búsqueda de un solo hilo con hash fijo y número fijo de nodos es determinista: el mismo binario en cualquier máquina devuelve el mismo valor en centipeones, bit a bit. Eso es lo que hace posible una verificación independiente, y no meramente plausible.

De los centipeones al índice

Los centipeones no son una medida lineal de nada humano, y la diferencia entre +18 y +22 no significa nada por sí sola. Por eso el índice usa el RANGO de la posición entre las 960, no la cifra bruta:

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) )
Clase Ventaja blanca Posiciones
A — las más equilibradas ≤ +19 cp 240
B — equilibradas +20…+26 cp 240
C — ventaja apreciable +27…+35 cp 240
D — mayor ventaja > +35 cp 240

En las 960 posiciones el valor del motor va de -7 a +83 centipeones, mediana +26.0.

Cómo se distribuyen los 960 valores

Cada barra es un intervalo de cinco centipeones; el número de la derecha indica cuántas de las 960 posiciones caen en él.

-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

Validación

Una evaluación del motor es una afirmación sobre una posición. Para comprobar que esa afirmación predice resultados reales, una parte de las posiciones se juega hasta el final: motor contra motor, muchas partidas por posición, con las semillas fijadas y publicadas. Si las posiciones que el índice llama equilibradas puntúan realmente más cerca del 50% para las blancas, el índice mide lo que dice medir.

Semilla base: 20260825. Cada partida puede reproducirse exactamente.

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

Verificación profunda y clasificación v2

La versión 2.0 añade una segunda capa al índice. Cada posición se jugó a lo largo de la línea principal del motor durante 30 jugadas (35 para el conjunto prioritario), las posiciones más equilibradas y todas las nulas o negativas se recalcularon con un presupuesto de nodos 3–10 veces mayor, y las nulas/negativas recibieron además una búsqueda MultiPV de tres líneas y una segunda serie de self-play.

Banda de equilibrio (según la evaluación base)

Umbrales absolutos en centipeones en lugar de cuartiles: E — igualada, |cp| ≤ 10; S — ligera, 11–25; M — moderada, 26–40; L — grande, ≥ 41. Los cuartiles garantizaban 240 posiciones «equilibradas» fueran cuales fueran los datos; una banda contiene solo las que realmente hay. La ejecución base (400 000 000 nodos, la misma profundidad para las 960) fija la banda; la búsqueda más profunda la verifica.

Banda Posiciones
E — igualada 64
S — ligera ventaja 386
M — ventaja moderada 377
L — gran ventaja 133

Dinámica (a lo largo de la partida jugada)

El mismo motor juega ambos bandos con un presupuesto fijo de 5 000 000 nodos por jugada y la evaluación se registra antes de cada media jugada. volátil — la evaluación osciló ≥ 60 cp o cambió de signo al menos 2 veces (solo cuentan valores más allá de ±15 cp); igualadora — la ventaja final es al menos 10 cp menor que al inicio; agudizadora — al menos 15 cp mayor; estable — todo lo demás.

Las evaluaciones con este presupuesto por jugada sobrestiman la ventaja blanca al inicio y convergen hacia cero a medida que la posición se simplifica, así que la trayectoria bruta de casi cualquier posición «se iguala». Antes de etiquetar, a cada partida jugada se le resta la trayectoria mediana de las 960 posiciones (por media jugada): la deriva común se cancela y queda lo que distingue a esta posición de una típica. Los puntos brutos a 10, 20 y 30 jugadas se publican tal cual.

Dinámica Posiciones
estable 542
igualadora 285
agudizadora 25
volátil 108

Bandas × dinámica

Banda estable igualadora agudizadora volátil
E 28 33 1 2
S 234 120 6 26
M 240 81 14 42
L 40 51 4 38

Recálculo más profundo

Las posiciones con |cp| ≤ 25 se recalcularon con 1 200 000 000 nodos, las nulas y negativas con 4 000 000 000 nodos — un hilo, hash fijo, cada número es reproducible bit a bit. Una posición se considera verificada cuando el valor profundo se mantiene a 10 cp de la ejecución base (el doble del ruido entre iteraciones de la búsqueda base): 123 de 147 verificadas. La búsqueda más profunda desplaza estas posiciones sistemáticamente hacia arriba — mediana +3 cp a ×3 y +9 cp a ×10 — y ninguna resultó negativa; la banda según el valor profundo se publica junto a la banda base para que el lector vea ambas.

Las trece en disputa

Trece posiciones resultaron nulas o ligeramente negativas en la ejecución base. La búsqueda profunda decide el signo; la búsqueda MultiPV de tres líneas (800 000 000 nodos) y una segunda serie de self-play (100 partidas por posición a 1 000 000 nodos por jugada) son comprobaciones independientes, no un veto.

Posición Motor, cp Profundo, cp Veredicto Self-play v2
102 0 +20 ventaja blanca — el signo negativo era ruido 54.5% (44.8–63.9%)
131 0 +5 igualada — dentro del ruido del motor 50.5% (40.9–60.1%)
204 0 +9 igualada — dentro del ruido del motor 47.5% (38.0–57.2%)
269 0 +15 ventaja blanca — el signo negativo era ruido 48.5% (38.9–58.2%)
300 0 +12 ventaja blanca — el signo negativo era ruido 51.5% (41.8–61.1%)
401 -7 0 igualada — dentro del ruido del motor 49.0% (39.4–58.7%)
418 -2 +5 igualada — dentro del ruido del motor 50.5% (40.9–60.1%)
429 0 +10 igualada — dentro del ruido del motor 51.0% (41.3–60.6%)
433 -4 +3 igualada — dentro del ruido del motor 51.5% (41.8–61.1%)
471 0 +15 ventaja blanca — el signo negativo era ruido 50.0% (40.4–59.6%)
497 0 +6 igualada — dentro del ruido del motor 49.0% (39.4–58.7%)
576 0 +13 ventaja blanca — el signo negativo era ruido 50.0% (40.4–59.6%)
823 -5 0 igualada — dentro del ruido del motor 51.5% (41.8–61.1%)

Bandas por familia de posiciones

Nomenclatura 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

Limitaciones: léalas antes de citar las cifras

Cómo comprobarlo usted mismo

Todo lo necesario para recalcular el conjunto de datos es público: la compilación exacta del motor, el presupuesto, los scripts y la salida bruta. Recalcular una posición lleva unos minutos en un solo núcleo; el conjunto completo, una noche.

  1. Descargue los datos brutos y los scripts desde la página de datos abiertos. Datos abiertos
  2. Compruebe una posición contra el conjunto publicado: el comando la recalcula desde cero y la compara:
    python tools/balance/verify_reproduce.py --sp 518
  3. O recalcule el conjunto entero (es reanudable: tras una interrupción continúa en el mismo archivo):
    python tools/balance/eval_all.py --nodes 400000000 --workers 20

Si su valor difiere, esa diferencia es el hallazgo: no coincidirá la compilación del motor, el presupuesto de nodos o las opciones. Las tres están impresas arriba.

Cita y licencia

La metodología y el conjunto de datos se publican bajo CC BY 4.0: úselos para lo que quiera, incluso comercialmente, citando al autor.

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

Equilibrio de las 960 posiciones · Conjunto de datos y salida bruta del motor