Jeu d'echecs : Table de fermeture - Divers - Programmation
Marsh Posté le 10-03-2005 à 11:19:21
Euh on appelle ça des tables de finales
Sinon j'en sais rien
Marsh Posté le 10-03-2005 à 14:25:12
Ces tables de transposition sont en quelques sorte des bases de données de position type en fin de partie (nombre de pièces limitées), avec leur "solution", donc toutes les suites pour traiter la position§. Si donc on entre dans une position incluse dans une de ces tables, le soft va jouer de manière parfaite, puisque ce n'est pas le moteur qui interviendra mais une base de données dans laquelle les meilleurs coups auront été entrés.
Marsh Posté le 10-03-2005 à 14:25:58
Ce sont les tables de Nalimov utilisées par Crafty par exemple (mais bien d'autres egalement).
Se sont des tables précalculées qui dans les configurations ou ils ne restent plus que quelques pieces sur l'echiquier, dictent la conduite a tenir.
C'est tres utile d'autant qu'une IA normale ne regarde pas a enormement de coups à l'avance et qu'avec de telles tables on peut dans certains cas dectecter des mats à plus de 50 coups
Mais j'ai beau etudier le code de crafty, je n'y comprends rien. Quelqu'un saurrait il m'expliquer comment je dois m'y prendre ?
Marsh Posté le 10-03-2005 à 15:02:59
50 coups !
et moi qui croyait que les parties duraient 20-30 coups à partir d'un certain niveau...
Marsh Posté le 10-03-2005 à 18:45:13
bin en fin de partie qd il n'y a plus bcp de pieces, si les joueurs font n'importe quoi, ils peuvent tres bien tourner l'un autour de l'autre sans qu'il y ai mat ni pat. (voir regle des 50 coups au bout de laquelle on decrete la partie comme nulle)
Marsh Posté le 10-03-2005 à 19:11:40
Mrd, c'est vrai qu'on trouve rien directement en matière de description de ce format
Tu trouves tout ce que tu veux pour utiliser tes tables avec n'importe quel moteur, mais au-delà... Bon, j'ai pas cherché plus de 5 min. non plus.
Essaye de faire tes recherches en utilisant les termes en anglais, t.q. "endgame tablebase"
Un lien qui pourrait t'aider (rien de garanti)
http://www.aarontay.per.sg/Winboard/Winboard3.html
Par curiosité: tu travailles avec cb de pièces ? Tu fais ça pq (il y a tellement de moteurs qui le font déjà) ? Pq les finales plutôt que les ouvertures ?
Sinon, on peut se faire une petite partie entre deux posts
Marsh Posté le 10-03-2005 à 19:19:15
Heu je programme l'IA d'un jeu d'echec pour m'initier à l'IA. Je ne parle pas des tables d'ouverture car ca j'ai deja mis en place et ça semble fonctionner.
Je pense qu'une fois que j'aurais compri comment utiliser les tables de fin de jeu précalculées, je pourrai utiliser les tables à 4 3 ou 2 pieces. Je ne compte pas utiliser les tables à 5 pieces qui je crois font a peu pres 7.5Go alors pour distribuer ca sur un petit cd... je vais avoir du mal.
J'ai fais comme toi des recherches (bcp plus de 5 minutes qd meme) et que ce soit en anglais ou en francais on tombe tout le temps sur des site qui proposent les tables pour tel ou tel moteur.
qd tu veux la partie d'echec
Marsh Posté le 11-03-2005 à 14:33:58
Je suis moi aussi en train de développer mon petit jeu d'échecs.
Pour quel environnement est développé ton jeu ?
Moi c'est pour Linux avec GTK pour l'interface graphique.
Marsh Posté le 11-03-2005 à 14:40:05
Je developpe sous Windows (ça ne m'empeche pas de programmer souvent sous linux). Comme ce n'est pas du tout le coté esthetique qui nous interesse, mais l'ia du jeu, on a fait l'interface en MFC (helas c tres crade je trouve mais bon).
Et on passe le plus gros du temps sur l'IA.
On aurait pu se lancer dans l'ecriture d'un bot pour Winboard mais on a preferer faire notre p'tit truc a nous.
Toujours pas d'idee sur la focon d'implementer ces tables de fin de jeu ?
Marsh Posté le 11-03-2005 à 22:25:03
Dommage, une interface Winboard ou UCI, ça a l'avantage de pouvoir faire jouer automatiquement ton bot contre les autres existants. Pour ça, le meilleur soft gratuit est de loin Arena.
Marsh Posté le 12-03-2005 à 01:13:55
el muchacho a écrit : Dommage, une interface Winboard ou UCI, ça a l'avantage de pouvoir faire jouer automatiquement ton bot contre les autres existants. Pour ça, le meilleur soft gratuit est de loin Arena. |
D'ailleurs à ce propos, j'ai fait quelques recherches sur les interfaces Winboard ou UCI mais je n'avais pas trouvé beaucoup d'informations à ce sujet. Vous n'auriez pas des liens où je pourrais trouver une doc très précise sur le sujet ? (Promis, après j'arrête de polluer le topic )
Marsh Posté le 11-08-2005 à 16:16:49
darkoli a écrit : D'ailleurs à ce propos, j'ai fait quelques recherches sur les interfaces Winboard ou UCI mais je n'avais pas trouvé beaucoup d'informations à ce sujet. Vous n'auriez pas des liens où je pourrais trouver une doc très précise sur le sujet ? (Promis, après j'arrête de polluer le topic ) |
Le site du fou numérique a pas mal de liens sur lesquels tu peux trouver des bonnes informations.
Sinon le site en lui-même je le trouve inintéressant : l'auteur fait jouer les modules entre eux, en faisant des tournois
http://perso.wanadoo.fr/lefouduroi/
Marsh Posté le 10-03-2005 à 00:40:56
Bonsoir à tous,
Je cherche à implementer dans le jeu d'echec que je developpe les tables de fin de jeu.
Mais j'ai pas trouvé grand chose sur l'implementations de ces tables, à part les tables elles meme qui sont facilement trouvable sur le net (table de Nalimov compressées).
Auriez vous dans vos cartons des liens interessants vers les algos permettants de lire les fichiers, ou les algos eux meme ?
Merci d'avance
Fluminis