Cheese title

Versions précédentes

  • Version 3.2.1 - 2 Février 2024
    • corrige un problème d'initialisation du paramètre UCI LimitStrengthMode
    • corrige les limites des paramètres UCI pour les tablebases
    • améliore le code pour limiter les noeuds et la vitesse
    • change la formule pour UCI_Elo
    • simplifications dans la génération des coups et l'évaluation
  • Version 3.2 - 9 Décembre 2023
    • utilise la librairie Fathom pour les tables de fin de partie (support 7 pièces)
    • réecrit le tuner, utilise l'algorithme de descente de gradient
    • corrige l'initialisation du splitpoint pour les noeuds non PV dans le YBWC
    • corrige un probleme de tri des coups avec la fenetre d'aspiration
    • corrige des plantages possibles avec de mauvais paramètres en ligne de commande ou dans le fichier de configuration
    • réduit l'utilisation de la pile et utilise std::thread
    • ajoute une option de personnalité pour charger tous les paramètres d'évaluation à partir d'un fichier
    • change les conditions du LMR et LMP
    • nouveaux paramètres d'évaluation après tuning
    • ajout de l'évaluation des avant postes des fous
    • ajout d'un bonus par colonne pour les pions passés
    • ajout de l'évaluation du pawn storm
    • réecrit l'évaluation du bouclier de pions
    • change le paramètre tempo
  • Version 3.1.1 - 17 Décembre 2022
    • corrige un problème de détection de nulle par matériel depuis la version 3.1.0
  • Version 3.1.0 - 10 Décembre 2022
    • évaluation paramétrée avec la méthode Texel's tuning
    • modifie la fonction d'évaluation pour pouvoir paramétrer plus facilement
    • corrige une data race dans YBWC
    • change le tri des coups à la racine
    • ajoute une option UCI pour choisir la méthode de réduction ELO
    • ajoute des variables pour le matériel en fin de partie dans les personnalité
    • continue à simplifier et moderniser le code
    • ajout de nouveaux tests unitaires
    • utilisation de l'intégration continue sur Gitlab
  • Version 3.0.1 - 15 Janvier 2022
    • corrige l'initialization du mode SMP pour plus de 64 threads
    • corrige l'initialisation du roque FRC dans la lecture de la position FEN
    • corrige le choix de la thread pour le Lazy SMP
    • corrige des variables non initialisées dans le benchmark
  • Version 3.0 - 18 Décembre 2021
    • ajoute "Lazy SMP"
    • ajoute le support des Syzygy Tablebases (maximum 6 mens)
    • utilise le format de livre d'ouverture Polyglot
    • supporte l'instruction PEXT pour les magic bitboards
    • ajoute les informations UCI hashfull et tbhits
    • utilise la thread principale du programme pour les entrées
    • change les tables PST
    • change les valeurs du pawn shield
    • réécrit l'évaluation des pions passés
    • ne coupe plus de branches en cas de pions avancés
    • change les paramètres du LMR
    • corrige un problème pour le YBWC
    • corrige un problème avec les fin de partie KPK
    • corrige un problème avec l'évaluation des cavaliers piégés
    • corrige un problème dans le SEE
    • corrige un problème avec la valeur maximum des phases de jeu
    • modernise le code du C++03 vers le C++17
    • réorganisation et simplification du code
    • ajout de tests unitaires (avec GTest)
    • met à disposition le code source (depuis la version 3.0)
  • Version 2.2 - 5 Septembre 2020
    • corrige des coups invalides avec le pondering
    • corrige un problème dans makemoke pour le FRC introduit dans la version 2.1
    • corrige un problème avec UCI strength et le protocol UCI
    • le paramètre randomness n'est plus utilisé que dans les personnalités
    • ne compte plus les noeuds supprimés par le pruning
    • change la table PST pour le roi
    • change les paramètres du LMP
    • supprime la pénalité pour aucun pions en fin de partie
    • ajoute les counter moves
    • utilise futility pruning et razoring en fin de partie
    • réduit la table history pour les coups qui n'améliorent pas la position
    • utilise un tableau pour le MVVLVA
    • optimisations
  • Version 2.1 - 8 Juillet 2019
    • corrige l'initialisation de UCI Strength dans le fichier .ini
    • corrige un problème de roque en FRC avec les FEN
    • corrige quelques problèmes avec les threads
    • réécrit la prise en charge des protocoles UCI et XBoard
    • quelques optimisations et simplifications
    • corrige un problème avec le LMP
    • augmente la réduction du LMR pour les noeuds non PV
  • Version 2.0 - 15 Décembre 2018
    • ajout du support multi processeurs (YBWC)
    • nouveau format de livre d'ouverture
    • ajout du contempt factor
    • ajout d'une option benchmark
    • ajout d'une options pour les personnalités
    • ajout d'un paramètre pour réduire la vitesse du moteur
    • ajout du late move pruning
    • supprime le bonus pour la reine sur la 7éme rangée
    • modification des paramètres pour la mobilité
    • modification des bonus pour les pions et les tours
  • Version 1.9.2 - 17 Fevrier 2018
    • corrige un problème où le moteur ne repond pas en mode pondering, present depuis la version 1.9
    • corrige un problème de coups illegaux en pondering quand la recherche se termine avant que l'interface envoie un message
    • corrige une erreur avec Arena/UCI quand le pondering est actif, renvois toujours un coup au parametre ponder (si possible)
    • corrige un problème au lancement de la prochaine partie d'un tournois avec Fritz GUI
    • 3 Mars 2018 : ajout d'une version arm pour Raspberry Pi
  • Version 1.9.1 - 16 Septembre 2017
    • corrige un problème de coups illégaux assez rare quand on utilise une position FEN au départ, à cause d'une mauvaise initialisation des droits de roque
    • corrige un plantage dans l'option testsuite quand 'am' ou 'bm' est rencontré 2 fois
    • affiche un message d'erreur quand un coup illégal est envoyé par l'interface
    • ajoute des options pour désactiver le Null moves pruning et LMR
    • quelques optimisations du code
    • 1er Octobre 2017 : mise à jour de la version Android
  • Version 1.9 - 6 Mai 2017
    • corrige un plantage possible : variable non initialisée pour le roque
    • corrige un plantage rare dans de très longues parties
    • reduit la taille de la hashtable des pions
    • change la structure de la hashtable
    • supprime la pénalité pour le déplacement de la reine en début de partie
    • supprime la pénalité pour la perte du roque
    • ajoute plus de réduction pour le LMR en fonction du nombre de coups et de la profondeur
    • ajoute plus de réduction pour le null moves pruning en fonction de la profondeur
    • utilise config.ini pour les valeurs par défaut en mode UCI
    • ajoute une option pour activer le fichier log
    • réécrit la génération des coups et la gestion de l'ordre des coups
    • réorganise le code pour la recherche
    • sortie de la version armv8
  • Version 1.8 - 19 Mars 2016
    • corrige un problème dans la mise a jour de la phase de jeu
    • corrige un plantage avec une hash table de 1Mo
    • corrige l'affichage du nombre de noeuds
    • corrige l'affichage de multipv
    • ajout du support FRC
    • utilise le LMR dans les noeuds PV
    • ajout de la methode "reverse futility pruning"
    • ajout des coups mettant en échec dans le premier coup de quiescence
    • supprime les promotions mineures dans quiescence
    • supprime la condition de mate dans le null move pruning
    • réécrit la prise en charge du format FEN
    • réorganisation du code pour eval, movegen,endgame, protocols
    • optimisation du tri des coups
  • Version 1.7 - 4 Avril 2015
    • Corrige un problème avec l'évasion d'échecs dans quiescence search
    • Corrige des problèmes avec le multipv
    • Corrige un problème avec l'iterative deepening
    • Change les marges pour le futility pruning
    • Ajout du razoring
    • Utilise 4 entrées par position dans la hashtable principale
    • Utilise une table de fin de partie KPK
    • Modification de l'ordre des coups à la racine
    • Supprime l'extension mate threat
    • Ajout d'une hashtable pour les pions (2 Mo)
    • maintenant les PSQT sont non incrémentées
    • Ajout de l'option UCI_Strength
    • Augmente la marge Lazy evaluation
    • Optimisations
    • Sortie de la version Android (armv7)
  • Version 1.6.1 - 31 Mai 2014
    • Corrige un problème de pondering sous Linux / Mac OS X, maintenant utilise stdin sans buffer
    • Corrige un problème quand le pondering était annulé
    • Corrige la commande "level" pour Xboard, maintenant utilise des floats pour l'incrément
    • Corrige : la commande UCI "info depth" était envoyée en mode Xboard
  • Version 1.6 - 10 Mai 2014
    • Nouvelle fonction d'évaluation
    • Amélioration de l'évaluation des pions
    • Amélioration de l'évaluation de la protection du roi
    • Utilisation de tables de mobilité
    • Ajout de la détection de fins de parties
    • Amélioration de la gestion du temps
    • Changement de la méthode aspiration window
    • Corrige un problème dans l'installtion du PV
    • Corrige un problème avec la règle des 50 coups
    • Corrige un problème de promotion dans l'affichage PV UCI/Winboard
    • Ajout de l'option UCI multi pv
    • UCI : Envoi info depth avant la recherche
    • Optimisations
  • Version 1.5 - 6 Juillet 2013
    • ajout de la génération de coups par étape
    • corrige un problème dans la validation des coups
    • corrige un problème dans l'évaluation des draw
    • corrige un problème dans le mate distance pruning
    • corrige un plantage possible dans les parties longues
    • corrige un problème avec les null moves
    • change la façon de compter les noeuds (+1 avant de faire un coup légal)
    • change la méthode pour le tableau history heuristic (piece/to)
    • désactive l'extension recapture
    • utilise l'évasion d'échec dans le premier ply de quiescence
    • ajout d'un bonus de temps dans l'évaluation
    • ajuste la valeur des scores des mates dans la hashtable
    • quelques optimisations
    • windows : remplace QueryPerformanceCounter() par GetTickCount()
    • utilise les paramètres UCI : seldepth, upperbound, lowerbound
    • perft renvois seulement le nombre de noeuds, l'ancien perft s'appelle "perftd" maintenant
  • Version 1.4 - 17 Mars 2012
    • Correction d'un problème avec les killer moves
    • Correction d'un problème avec l'history heuristic
    • Augmente la taille du buffer pour les échanges avec UCI/Winboard
    • Optimisation de la génération des coups
    • Optimisation des fonctions makemove/unmakemove
    • Optimisation du futility pruning
    • Optimisation de l'appel du SEE
    • Supprime les killer moves ply - 2
    • Supprime les mate killer moves
    • Améliore la fonction d'évaluation
    • Interpolation de l'évaluation pour les tables de position des pièces
    • Améliore la protection du roi
    • Réduit le nombre d'appels à la fonction de vérification du temps
    • Affichage du temps et vitesse dans perft et divide
    • Ajout de l'option UCI pour effacer la hash table
    • Augmente la taille maximum de la hash table a 4096 Mo
  • Version 1.3b - 14 Janvier 2012
    • modifications pour pouvoir compiler la version 64 bits
    • recompilation sous windows avec Visual Studio 2010 Express
  • Version 1.3 - 1er Novembre 2008
    • corrige un problème avec winboard : cheese continuait à jouer apres avoir perdu
    • corrige un problème dans le SEE
    • corrige un problème avec les répétitions
    • changement du test pour l'extension recapture
    • ajout du pondering en UCI et Winboard
    • ajout du mode analyse avec Winboard
    • utilise les options UCI pour configurer le moteur
    • ajout du mate distance pruning
    • optimisations dans la generation des coups et evaluation
    • utilise les tables de position incrementales
    • change le tri des coups dans root
    • changement de l'ordre de tri des coups
    • changement du nombre de coups avant l'utilisation du LMR
    • augmente la marge utilisé pour lazy evaluation
  • Version 1.2 - 24 Mai 2008
    • correction d'un problème de calcul du temps, les coups de l'ouverture n'étaient pas toujours compté avec winboard
    • utilise les magic bitboards pour les fous, tours, et reines
    • optimisation de la génération des coups et du SEE
    • Version Linux disponible
  • Version 1.1b - 22 Janvier 2008
    • correction de problèmes de coups illégaux en cas de promotions
    • correction de problèmes qui povoquaient des coups illégaux avec Winboard
    • correction de l'affichage du score dans Winboard
    • correction de problèmes de gestion du temps
  • Version 1.1 - 2 Janvier 2008
    • correction d'un problème dans la génération des coups
    • correction de problèmes avec les protocols UCI et Winboard
    • correction de problèmes avec les extensions
    • corrections et optimisations du SEE
    • correction de problèmes avec des table de hash d'une taille non puissance de 2
    • changement de la methode de communication avec l'interface
    • change la façon de compter les noeuds
    • amélioration de la gestion du temps
    • ajout de recapture extension
    • ajout d'un bonus pour les pions en fin de partie
    • ajout des avant postes pour les cavaliers
    • ajout d'un bonus pour les pions passés connectés
  • Version 1.0c - 12 Novembre 2007
    • correction de problèmes dans la gestion du temps
    • correction de problèmes pour les protocoles UCI et Winboard en mode tournois
    • (les versions precedents ne fonctionnaient pas correctement en tournois)
    • ne reflechis pas s'il n'y a qu'un seul coup légal
    • possibilité d'utiliser un livre d'ouverture
    • correction de problèmes dans l'envoi d'informations a l'interface pendant la recherche
  • Version 1.0b - 4 Novembre 2007
    • corrections concernant le protocol Winboard
    • changement de la fonction pour la gestion du temps
  • Version 1.0 - 19 Octobre 2007 (première sortie)
    • nettoyage du code
    • correction avec la notation FEN
    • correction de la valeur du mat
    • ajout d'autres modes de recherche (UCI)
    • ajout safe mobility
    • ajout futility, extended futility + razoring
    • augmente la taille du buffer de commande UCI
    • correction dans les pièces square table
    • correction d'un problème avec safe mobility
    • ajuste la valeur des mats dans la hash table
    • correction avec les null moves en fin de partie
    • correction avec Internal Iterative Deepening
    • ajoute fractional ply
    • ajoute mate threat extension
    • ajoute pawn on 7th extension
    • optimisation des fonctions de génération des coups
  • Version 0.9 - 4 Mai 2007
    • nettoyage du code
    • ajout prise en compte des répétitions
    • ajout règle des 50 coups
    • correction dans move ordering
    • donne une plus grande valeur aux pions passés
    • ajout évaluation pour materiel insuffisant
    • optimisation de la génération des coups
    • correction dans l'évaluation du materiel incremental
    • ajout bonus pour une paire de fou
    • correction dans null moves
    • correction dans late move reduction
    • ajout mate killer, killers at depth-2
    • ajout incremental gamephase
    • correction dans quiescence search
    • optimisation du tri des coups
    • reduit le nombre d'appel à la fonction inCheck
    • ajout adaptive Null Move pruning
    • correction avec la notation FEN
  • Version 0.8 - 2 Avril 2007
    • correction dans null moves
    • ajout Principal Variation Search
    • ajout incremental material evaluation
    • ajout gamephase dans la fonction d'évaluation
    • ajout penalité pour un déplacement de la reine dans l'ouverture
    • ajout bonus et pénalités pour les pions
    • ajout bonus pour les tours sur des colonnes ouvertes/semi-ouvertes
    • ajout Static Exchange Evaluation
    • ajout check extension
    • ajout bonus pour tours sur la 7eme rangée
    • ajout king safety and tropism
    • correction pour le protocol UCI
    • ajout Late Move Reduction
    • ajout Internal Iterative Deepening
  • Version 0.7 - 21 Janvier 2007
    • ajout moteur UCI / Winboard
    • correction pour iterative deepening
    • ajout aspiration window
    • ajout quiescent search
    • correction dans alpha-beta
    • ajout null moves pruning
    • correction pour history heuristic
    • optimise la fonction d'évaluation
    • correction dans les fonctions de génération des coups
    • ajout aspiration window
  • Version 0.6 - 19 Décembre 2006
    • optimization de la recherche alpha-beta
    • ajout iterative deepening
    • optimisation des fonctions de génération des coups
    • ajout du tri des coups, MVV/LVA et killer moves
    • ajout de fonctions pour lancer des tests au format epd
    • ajout history heuristic
  • Version 0.5 - 22 Mars 2006
    • ajout Zobrist hash key + Transposition Table
    • ajout gestion de la notation FEN
    • correction et optimisation dans les fonctions de génération des coups
    • ajout de la fonction Perft
    • ajout de la fonction divide
    • optimisation du calcul des hash key
    • correction dans la recherche alpha-beta
  • Version 0.2 - 26 Février 2006
    • Rotated Bitboards
    • Génération des coups
    • fonction d'évasion d'échec
    • Simple recherche alpha-beta
  • Début - 6 Février 2006
    • Simple interface avec SDL + OpenGL, aucunes règles