À propos du projet

OptiChess est un moteur d'échecs expérimental et un outil d'analyse conçu pour la recherche algorithmique. Il est centré autour de GrogrosZero, un système de recherche hybride qui combine la sélection de nœuds de type UCT avec l'élagage alpha-bêta, une recherche quiescence intégrée et une évaluation statistique Win/Draw/Loss (WDL). Caractéristiques techniques principales : - Gestion de la mémoire : Recherche bornée à zéro allocation utilisant des pools préalloués pour les objets Node et Board afin d'éliminer l'allocation de tas dans le chemin chaud. - Architecture du moteur : Inclut une table de transposition indexée par clé Zobrist, un évaluateur avec 31 termes pondérés, et une évaluation expérimentale optionnelle basée sur un réseau de neurones. - Interface graphique d'analyse : Construite avec raylib, offrant un plateau visuel avec des flèches indiquant les coups candidats, des graphiques d'évaluation et des variantes de l'arbre de jeu. - Liaison d'écran : Fonctionnalité spécifique à Windows permettant au moteur de lire les positions d'échecs directement depuis l'écran en analysant les couleurs des pixels, permettant une analyse en direct des jeux basés sur navigateur. - Suite de tests : Suite interactive couvrant la validation de la génération de coups Perft, la précision de l'évaluation par rapport à des positions de référence, et la résolution de puzzles tactiques. Le projet est développé pour Windows x64 en utilisant C++20 et CMake. Il n'est pas un moteur conforme à l'UCI et est destiné à la recherche plutôt qu'au jeu compétitif.