Ouvrir dans l’app

Positions asymétriques : méthodologie

Auteur de la méthodologie : Roman Morozov. À propos de l'auteur

CC BY 4.0 Méthodologie et données : CC BY 4.0 — libre d'usage avec attribution à l'auteur.

Espace des paires

Une paire (w, b) signifie que les Blancs partent de la position w de Scharnagl et les Noirs de la position b, 0–959 chacune. L'image miroir d'une paire (mirror(w), mirror(b)) est la même position, donc seule la paire canonique est évaluée ; la jumelle est indiquée à côté. Les paires symétriques (w = b) sont les départs Chess960 ordinaires, couverts par l'indice d'équilibre de Morozov. Ici, elles servent de contrôle : elles passent par les mêmes étapes, mais ne sont pas classées comme paires asymétriques.

Étapes et seuils

L'étape 0 crible chaque paire avec un petit budget. Une paire passe à l'étape k+1 seulement si |cp| à l'étape k reste dans la limite de l'étape — les fenêtres se resserrent avec la profondeur, car les évaluations superficielles sont bruitées (±30 cp) et les profondes ne le sont pas. La dernière étape régulière est de 128M nœuds ; au-delà, les meilleures paires vérifiées sont approfondies à partir de 400M nœuds (le budget de l'indice de Morozov) en doublant indéfiniment, avec jusqu'à un quart du calcul tant que le criblage se poursuit. L'ordre de parcours de l'étape 0 est une permutation fixe à graine (20260918). Les fenêtres sont calibrées sur un contrôle intégré : les paires symétriques (w = b) sont aussi évaluées par l'indice de Morozov à 400M nœuds, et la fenêtre d'une étape doit conserver au moins 95 % des positions égales à cette profondeur. Les recherches superficielles surestiment l'avantage des Blancs, d'où une fenêtre d'étape 0 plus large que le seul bruit ne le suggérerait. Les vagues sont servies en profondeur d'abord : l'étape la plus profonde avec des candidates en attente passe en premier, et au sein d'une étape les candidates les plus égales d'abord, de sorte que des paires vérifiées apparaissent pendant que le criblage se poursuit.

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

Reproduire

Même compilation de Stockfish (sha256 dans le passeport), Threads=1, hash fixe par étape, limite de nœuds, ucinewgame par position, dernière itération terminée. Commandes :

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

Limites

  1. Une évaluation moteur est une affirmation sur le meilleur jeu, non sur la pratique humaine ; les paires asymétriques n'ont pas encore de validation par self-play.
  2. Les étapes superficielles sont bruitées : une paire écartée à 100k nœuds avec |cp| juste au-dessus de la fenêtre peut être équilibrée en réalité. Les fenêtres sont volontairement larges au début.
  3. La recherche continue : effectifs, rangs et étapes sur ces pages changent à mesure qu'elle s'approfondit ; l'horodatage de génération est affiché sur le hub.
Morozov R. Asymmetric Chess960 balance rating. ch960.com/asym, 2026. CC BY 4.0.

Toutes les positions asymétriques