Posições assimétricas: metodologia
Autor da metodologia: Roman Morozov. Sobre o autor
CC BY 4.0 Metodologia e dados: CC BY 4.0 — uso livre com atribuição ao autor.
Espaço de pares
Um par (w, b) significa que as brancas começam da posição w de Scharnagl e as pretas da posição b, 0–959 cada. A imagem no espelho esquerda–direita de um par, (mirror(w), mirror(b)), NÃO é a mesma posição: o roque de Chess960 termina sempre nas colunas c/d ou g/f, que não são imagens no espelho uma da outra, pelo que uma posição e o seu reflexo têm opções de roque diferentes (BBQNRKRN pode rocar de imediato; o seu espelho NRKRNQBB, não). A busca tratou as duas como uma só classe e avaliou apenas o par lexicograficamente menor, pelo que cobre 460 800 representantes, um de cada par espelhado, ou seja, metade dos 921 600 pares ordenados. Os pares publicados são os realmente avaliados; o par espelhado é indicado apenas como referência e o seu valor não é inferido. Os pares simétricos (w = b) são os inícios habituais de Chess960 cobertos pelo Índice de Equilíbrio de Morozov. Aqui servem de controlo: passam pelas mesmas etapas, mas não são classificados como pares assimétricos.
Pares espelhados
Quanto diferem uma posição e a sua imagem no espelho? Os 960 inícios simétricos de Chess960 foram avaliados um a um a 400M nós para o Índice de Equilíbrio de Morozov, o que dá 480 pares de gémeos espelhados medidos pelo mesmo motor com o mesmo orçamento. Os gémeos diferem em 9,8 cp em média; 61 % diferem em mais de 5 cp e 37 % em mais de 10 cp; a correlação entre gémeos é apenas r = 0,50. O início clássico 518 lê-se +11 cp, enquanto o seu espelho 534 lê-se +49 cp. Para comparação, subir o orçamento de 400M para 1,2G nós desloca a avaliação da mesma posição 5,3 cp em média: os gémeos diferem cerca do dobro do que triplicar o orçamento. Por isso as classes espelhadas da busca são tratadas como cobertura de metade do espaço, não como equivalência, e os espelhos dos pares publicados são avaliados separadamente.
Etapas e limiares
A etapa 0 tria cada par com um orçamento pequeno. Um par avança para a etapa k+1 apenas se |cp| na etapa k estiver dentro do limite da etapa. As janelas não são palpites: uma passagem de controlo de 147 posições simétricas de Chess960 por todas as etapas fora das janelas mostrou que a busca rasa lê uma posição em média a +18 cp para as brancas com dispersão de ±12 cp a 100k nós, caindo para +7 ± 7 cp a 128M; dentro da faixa quase igual as leituras rasas quase não se correlacionam com as profundas, por isso as etapas iniciais só conseguem rejeitar uma vantagem clara, e quem está mais igual decide apenas a profundidade. A janela de uma etapa é portanto o percentil 95 de |cp| entre as posições de controlo iguais em profundidade (|cp| ≤ 10 pelo Índice de Equilíbrio de Morozov a 400M nós), de modo que pelo menos 95 % dos pares realmente iguais sobrevivem a cada etapa. A última etapa regular é 128M nós; além dela os pares verificados são aprofundados a partir de 400M nós (o orçamento do Índice de Morozov) por duplicação. Desde 26 de setembro de 2026 a maior parte do cômputo vai para o aprofundamento e não para a triagem de novos pares; a proporção real fica registada no passaporte da execução. A ordem de percurso da etapa 0 é uma permutação fixa com semente (20260918). As ondas são servidas em profundidade primeiro: a etapa mais profunda com candidatos pendentes vai primeiro e, dentro de uma etapa, os candidatos mais iguais.
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
Reproduzir
A mesma compilação do Stockfish (sha256 no passaporte), Threads=1, hash fixo por etapa, limite de nós, ucinewgame por posição, última iteração concluída. Comandos:
python tools/asym/asym_search.py --status
python tools/asym/asym_search.py --run --workers 10
python tools/asym/asym_dataset.py
Limitações
- Uma avaliação de motor é uma afirmação sobre o melhor jogo, não sobre a prática humana; o self-play publicado para os pares da enciclopédia testa o jogo prático com um orçamento modesto e não substitui a avaliação.
- Etapas rasas são ruidosas: um par descartado a 100k nós com |cp| logo acima da janela pode estar equilibrado na verdade. As janelas são deliberadamente amplas no início.
- A busca continua: contagens, postos e etapas nestas páginas mudam conforme ela se aprofunda; o carimbo de tempo da geração está no hub.
- «Exatamente zero» é uma propriedade do orçamento tanto quanto da posição: a cada duplicação do orçamento, cerca de um par em dez abandona o 0,00, enquanto a dispersão do conjunto inteiro encolhe (3,6 → 2,1 → 1,7 cp de 4 para 16 mil milhões de nós). A afirmação defensável é um equilíbrio dentro de poucos centipeões com o resíduo espalhado por ambos os lados do zero. Por isso a regra de admissão da enciclopédia é um corredor (|cp| ≤ 5 em quatro orçamentos, sem deriva unilateral) confirmado por mais dois motores, Berserk e Lc0, cada um abaixo da sua própria mediana em posições simétricas.
Trabalhos anteriores
O esquema 960 × 960 em si não é novo: é conhecido como Double Fischer Random Chess (DFRC, também FRD) e os motores jogam-no na TCEC desde 2022. O repositório de livros do Stockfish contém uma triagem exaustiva dos 921 600 inícios DFRC pelo Stockfish 17.1 à profundidade 22, filtrada pela taxa de empate do modelo para testes de motores (R. Nürnberg, 2025). Existem também estudos com motores dos 960 inícios simétricos (Sesse, 2018; Barthelemy, 2025). O que este projeto acrescenta é a busca de equilíbrio de avaliação sobre classes de espelho, a escada de orçamentos por etapas com janelas calibradas, a verificação até 16 mil milhões de nós, a regra entre motores e um conjunto de pares aberto e reproduzível.
Morozov R. Asymmetric Chess960 balance rating. ch960.com/asym, 2026. CC BY 4.0.