Открыть в приложении

Асимметричные расстановки: методология

Автор методологии: Роман Морозов. Об авторе

CC BY 4.0 Методология и данные: CC BY 4.0 — свободное использование со ссылкой на автора.

Пространство пар

Пара (w, b) означает: белые начинают с расстановки w по Шернаглю, чёрные — с расстановки b, 0–959 каждая. Зеркальное отражение пары (mirror(w), mirror(b)) — та же позиция, поэтому оценивается только каноническая пара, а близнец указывается рядом. Симметричные пары (w = b) — обычные старты Chess960, покрытые Индексом Морозова. Здесь они служат контролем: проходят те же стадии, но в рейтинг асимметричных пар не входят.

Стадии и пороги

Стадия 0 просеивает каждую пару малым бюджетом. Пара переходит на стадию k+1, только если |cp| на стадии k не превышает предел стадии — окна сужаются с глубиной, потому что мелкие оценки шумят (±30 cp), а глубокие — нет. Последняя регулярная стадия — 128M узлов; дальше лучшие проверенные пары углубляются с 400M узлов (бюджет Индекса Морозова) удвоением без конца — на это уходит не больше четверти счёта, пока просеивание идёт. Порядок обхода стадии 0 — фиксированная перестановка с сидом (20260918). Окна калибруются по встроенному контролю: симметричные пары (w = b) оценены и Индексом Морозова при 400M узлов, и окно стадии должно сохранять не менее 95 % позиций, ровных на той глубине. Мелкий поиск завышает перевес белых, поэтому окно стадии 0 шире, чем подсказал бы один лишь шум. Волны идут «глубина прежде ширины»: первой обслуживается самая глубокая стадия с ожидающими кандидатами, внутри стадии — самые ровные, поэтому проверенные пары появляются, пока просеивание ещё идёт.

S0: 100 000 / ≤ 50; S1: 500 000 / ≤ 40; S2: 2 000 000 / ≤ 41; S3: 8 000 000 / ≤ 32; S4: 32 000 000 / ≤ 30; S5: 128 000 000 / ≤ 35

Воспроизведение

Та же сборка Stockfish (sha256 в паспорте), Threads=1, фиксированный хэш по стадии, лимит узлами, ucinewgame на позицию, последняя завершённая итерация. Команды:

python tools/asym/asym_search.py --status
python tools/asym/asym_search.py --run --workers 10
python tools/asym/asym_dataset.py

Ограничения

  1. Оценка движка — утверждение о лучшей игре, а не о человеческой практике; валидации self-play для асимметричных пар пока нет.
  2. Мелкие стадии шумят: пара, отсеянная при 100k узлов с |cp| чуть выше окна, на самом деле может быть ровной. Окна на ранних стадиях намеренно широкие.
  3. Поиск продолжается: числа, места и стадии на этих страницах меняются по мере углубления; время генерации данных указано на хабе.
Morozov R. Asymmetric Chess960 balance rating. ch960.com/asym, 2026. CC BY 4.0.

Все асимметричные расстановки