Comment puis-je apprendre la programmation des échecs?


13

Fondamentalement, j'ai vu que les gens écrivent beaucoup d'algorithmes d'échecs et posent des questions dans ce forum auxquelles je tente de répondre de manière appropriée. Je vois le code mais je n'arrive pas à déterminer s'il est correct ou non?

Je suis moi-même un professionnel du logiciel mais je ne suis pas familier avec les algorithmes d'échecs ou les choses liées au codage. Pourriez-vous m'aider à suggérer où je peux apprendre ces choses ou j'obtiendrai les explications?


3
chessprogramming.wikispaces.com est un bon point de départ. Ou si vous préférez lire le code source, Stockfish est open source.
user1583209

Réponses:


9

Comment aborderiez-vous le problème:

  • Consultez chessprogramming.wikispaces.com . Ce sera votre site de référence.
  • Créez un compte sur talkchess.com . Tous les meilleurs développeurs de moteurs sont là. S'il y a une question sur le moteur à laquelle vous ne trouvez pas de réponse, vous ne la trouverez nulle part ailleurs.
  • Consultez le code source du moteur TSCP. TSCP est un moteur d'échecs d'implémentation plus simple mais fonctionnel. Plus facile à lire que Stockfish.
  • Faire quelque chose. Essayez d'écrire un générateur d'échiquier. Consultez les sites de référence ci-dessus. Étudiez comment le TSCP le fait.
  • Comparez vos résultats PERF avec https://chessprogramming.wikispaces.com/Perft
  • Écrivez une évaluation de position simple avec du matériel uniquement. Copiez la table PST à partir de TSCP ou du site de programmation d'échecs.
  • Écrivez une simple recherche nega-max et alpha-beta.
  • En savoir plus sur le protocole UCI
  • Ajouter une table de transposition
  • Ajouter un élagage à déplacement nul simple

Le TSCP est là où j'ai commencé, j'ajouterais également qu'il existe un bon site pour écrire un programme en 99 étapes ici: aghaznawi.comuf.com/computer%20chess/winglet
nak3c

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.