CyberChess / CPI
v0.1 · DRAFT · 2026-05-12

AEVION CPI Chess Performance Index

Новая система рейтинга для CyberChess. Принципиально отличается от FIDE Elo, Lichess Glicko-2 и chess.com Glicko: даёт баллы за каждую партию независимо от результата, на основе композитной оценки качества игры.

Зачем нужна новая система

Все три топа (FIDE/Lichess/chess.com) считают рейтинг только по результату партии. Это:
  • грубо — один блестящий ход в проигранной партии = 0 баллов
  • демотивирует тренировку — упорная игра без победы = минус
  • скрывает реальный прогресс — можно расти качественно, но падать в рейтинге

Сравнение с конкурентами

СистемаЧто измеряетСкилл-чувствительность
FIDE EloТолько результат + Elo соперника
Lichess Glicko-2Результат + RD (rating deviation)
chess.com GlickoРезультат + волатильность
AEVION CPI11 факторов качества + R-бонус✓ — наш

Формула ΔCPI

ΔCPI =   w_E   · E_score     ← 30 (eval-loss)
       + w_T   · T_score     ← 5  (time-mgmt)
       + w_O   · O_score     ← 10 (opening book)
       + w_B   · B1_score    ← 20 (best line)
       + w_B2  · B2_score    ← 5  (2nd line)
       + w_B3  · B3_score    ← 2  (3rd line)
       + w_M1  · M1_score    ← 8  (mate-in-1)
       + w_M2  · M2_score    ← 15 (mate-in-2)
       + w_M3  · M3_score    ← 20 (mate-in-3)
       − w_H   · H_count     ← −25 (hangs)
       + w_Br  · Br_count    ← +30 (brilliancies)
       + R_bonus             ← +10/+5/0 (W/D/L)

CPI_new = clamp(CPI_old + ΔCPI, 0, 4000)

Веса предварительные. Финальные будут подобраны после симуляции на 100+ исторических партиях разного уровня.

11 факторов

🎯Eval-lossE
+30
Средний centipawn-loss за партию (точность)
max(0, 1 − CPL/200)Stockfish 18
Time-mgmtT
+5
Равномерность затрат времени на ход
1 − stddev/avgClock state
📖Opening bookO
+10
% ходов в TOP-10 базы до 10-го хода
hits / first_10openingExplorer.ts
Best lineB1
+20
% ходов = #1 engine choice
best / totalStockfish multiPV=3
Second lineB2
+5
% ходов = #2 (частичный кредит)
second / totalStockfish multiPV=3
Third lineB3
+2
% ходов = #3 (слабый кредит)
third / totalStockfish multiPV=3
💀Mate-in-1M1
+8
% найденных матов в 1 ход
found / availableStockfish
💀💀Mate-in-2M2
+15
% найденных матов в 2 хода
found / availableStockfish
💀💀💀Mate-in-3M3
+20
% найденных матов в 3 хода
found / availableStockfish
💥HangsH
-25
Зевки фигур (−300+ cp swing)
−counteval diff
💎BrillianciesBr
+30
Жертвы и неочевидные сильные ходы
+countbrilliancy.ts

Примеры — CPI vs Elo

🥈Проиграл, но качество отличное
ΔCPI
+88
result: LCPL: 25B1pct: 0.45M1: 2/2M2: 1/1hangs: 0brilliancies: 1
В Elo было бы −15. У нас даже за проигрыш — большой плюс.
🪙Выиграл, но с зевком
ΔCPI
+10
result: WCPL: 80B1pct: 0.34M1: 0/0M2: 0/0hangs: 1brilliancies: 0
В Elo было бы +15. У нас победа есть, но качество посредственное — маленький плюс.
🤝Идеальная ничья
ΔCPI
+50
result: DCPL: 8B1pct: 0.75M1: M2: hangs: 0brilliancies: 0
В Elo было бы ≈ 0. У нас — большой плюс за технику.

Roadmap

  1. F1 — spec doc + preview page (этот экран — текущая фаза ✓)
  2. F2 — Stockfish multiPV integration в game loop
  3. F3cpi.ts функция computeGameCPI() + unit tests
  4. F4/cyberchess/cpi/dashboard с SVG-графиками
  5. F5 — Coach by CPI — автоподборка упражнений по слабому фактору

Открытые вопросы

  • Weighting — симуляция на 100+ партий разного уровня
  • CPI ↔ FIDE mapping — показывать ли «эквивалент по FIDE»?
  • Anti-cheat — сильный игрок может симулировать ошибки. Считать только в режимах против AI?
  • Decay — должен ли CPI «затухать» если не играешь?
  • Glass ceiling — потолок 4000 — может ли быть мало для топов?
← CyberChess·📄 Full spec on GitHub
Версия 0.1 · 2026-05-12 · subject to revision