50 votes

Comment est-il difficile à mettre en œuvre un moteur d'échecs?

Je me demande comment dur il serait de mettre en place un moteur d'échecs. Existe-il déjà des implémentations open source?

Il semble que vous auriez besoin d'une fonction de notation pour un conseil d'administration de constellation, et de façon très rapide de l'exploration de plusieurs probable futur conseil des constellations. Explorer tous les possibles actions futures est bien sûr impossible, donc, on pourrait suivre avidement les plus prometteurs se déplace, ou de l'utilisation approximative des techniques comme le recuit simulé, à suivre probablement se déplace de manière probabiliste.

Pensez-vous que dans le cadre d'un apprentissage de la machine , un étudiant diplômé de projet, et si il y avait un open-source de mise en œuvre que les élèves pourraient utiliser, qui ne les choses de base comme le retour le lendemain déplacement possible pour une figure donnée? Probablement trop dur?

Il serait un projet intéressant d'avoir différentes équipes de travailler sur des moteurs d'échecs et puis laissez-les jouer les uns contre les autres ...

56voto

Adam Berent Points 1353

J'ai passé la dernière année de la création de mon propre moteur d'échecs en C#. Il n'était pas difficile. Au cours de mon travail j'ai fait des erreurs, j'ai constaté que l'information sur internet n'est tout simplement pas présenté clairement, et c'était tout simplement copié à partir d'autres sites.

Afin de rendre la vie plus facile pour quelqu'un d'autre est en cours par le biais de ce processus, j'ai été de documenter le développement de mon moteur d'échecs et posté grande partie du code source sur mon blog:

http://www.chessbin.com

J'ai même créé un Jeu d'Échecs Kit de Développement qui vous permettra de commencer à développer votre propre moteur d'échecs, qui contient:

  1. Tout le code nécessaire pour représenter un échiquier et des pièces d'échecs
  2. Code valide, pièce d'échecs mouvement
  3. Interface Utilisateur graphique qui affiche le jeu d'échecs position et vous permet de déplacer des pièces autour de la planche

Mon site est essentiellement dédié pour les gens comme vous, les gens qui veulent obtenir commencé sur la construction de leur propre moteur d'échecs.

36voto

RoadWarrior Points 11588

Oui, c'est certainement dans le cadre d'un projet étudiant. Voici quelques liens de mes archives pour vous aider à démarrer:

9voto

CaptainProton Points 94

Crafty est l'un des principaux moteurs d'échecs et complètement open source. Cependant, je voudrais vous décourager de l'utiliser pour un projet étudiant, il est écrit en C, très complexe et très difficile à comprendre, car il est hautement optimisé.

À des fins éducatives je vous recommande de prendre un coup d'oeil à Adam Berents site où il décrit le processus qu'il a vécu quand il a mis en place un moteur d'échecs en C#. Le code source est disponible, ainsi bien sûr. C'est un excellent point de départ pour partir, à mon avis.

7voto

Stefano Borini Points 36904

Je ne peux pas répondre à votre question, mais je peux répondre à votre dernier commentaire

"Ce serait un plaisir de projet les différentes équipes de travail sur les moteurs d'échecs et puis laissez-les jouer les uns contre les les autres ... "

C'est déjà fait sur les FICS serveur d'échecs. Je vous suggère de vous identifier, vous (les besoins telnet) et vérifier la documentation ainsi, vous serez probablement en mesure d'entrer en contact avec des personnes en mesure de vous donner des conseils sur leur chessbots

6voto

Nosredna Points 33670

Raisonnable moteur d'échecs sur les Pc modernes est certainement faisable, surtout si vous êtes assez vieux pour se souvenir qu'il y avait de nombreux programmes d'Échecs que utilisé juste quelques K de mémoire 1 et 2 MHz 8 bits des machines qui pourraient jouer assez bien. Vous pouvez sortir d'un moteur d'échecs dans un langage interprété de nos jours et de battre le pantalon large d'un haut 6502 ou Z80 programmeur de codage ses plus serrés, plus rapide genre de choses.

J'ai eu à travailler avec Dan Spracklen, qui a fait l'original Sargon en 1978 avec sa femme Kathleen. Kathleen frère n'a le port de l'Apple II, et j'ai travaillé avec lui et avec son fils. (À l'époque, j'ai travaillé avec ces gars-là, le jeu d'échecs-de-consommation-commerce lucratif qui a été fait. Je me souviens d'un gars qui a sorti Atari ST et Amiga, jeux d'Échecs, et il était vraiment pas bien marché pour eux en ce moment.)

"Ordinateur Ruses" est une formidable introduction à la programmation du jeu d'échecs comme les amateurs réalisée en 1983. C'est toujours un plaisir à lire. Couvre bien le truc: alpha-bêta, minimax, etc.

C'est un assez bon livre que vous pouvez commencer par là et puis apprenez-en davantage sur les progrès réalisés depuis.

alt text

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X