bonjour a tous,
j'aimerai realise un jeux d'echec en utilisant l'algo minmax mais je ne sais pas qoi prendre comme fonctions d'estimation et comment je vais construire l'arbre et aplique l'algo de minmax merci d'avoir m'aidee![]()
bonjour a tous,
j'aimerai realise un jeux d'echec en utilisant l'algo minmax mais je ne sais pas qoi prendre comme fonctions d'estimation et comment je vais construire l'arbre et aplique l'algo de minmax merci d'avoir m'aidee![]()
Et donc en fait quelle est précisément ta question ?
peut etre dans le forum algorithme.... réponse toi trouver :-)
Avant de chercher un algo pour l'IA, je te conseille de faire le jeu et de faire les fonctions de contrôle des mouvements pour vérifier que le joueur ne fait pas n'importe quoi.
J'y avais réfléchis avec un pote, et on en avait conclu que ce n'était pas si évident que cela de le faire.
un moteur d'echecs c'est pas du tout ce qu'il y a de plus simple, mais pour y avoir méditer tres longtemps, je te donne les idées que j'ai eues mais je pense qu'elles sont loin d'etre tres tres efficaces...
pour résumer, tu calcule tous les coups possibles et imaginables tout en restant légaux et tu crée une hierarchie en fonction des pièces par exemple sous forme de tableaux, arbres, matrices mais ce dernier est tres compliqué etc...(il faut mettre un controle de redondance des déplacements...), tu calcule ensuite le coup qui a le plus grand nombre de victoires en statistiques et tu choisis ce coup...J'ai commencé et je ne l'ai jamais terminé, donc je te souhaite du courage, c'est pas un petit projet...
salut
cela dit, question Algo... on en trouve plein sur le net....
Effectivement, l'algo le plus souvent cité est celui de l'arbre decisionnel...
En gros, tu évalues tous les coups du Joueur A, puis à partir de tous ces coups possibles, tu évalues les coups du Joueur B...; etc...; evidemment, tu te retrouves vite avec beaucoup de possibilités... Suivant le "niveau" de l'IA souhaité, tu fais 3/4/5....12 itérations de ta boucle de coups possibles...
Après, tu analyses chaque branche en pondérant selon des règles que tu auras définis et qui te diront : Tel situation vaut "plus" cher qu'une autre, etc...
Bien sur, lors de la création de ton arbre, tu peux "élaguer" les branches dès que celle ci ne semble pas pertinente (cela diminuera le nombre de branche)
Une fois que tu as trouvé la branche la plus "forte"... tu considères que c'est celle ci qui représente le coup à jouer... et tu le joues...
L'adversaire joue... et re évaluation de tous les coups etc...
A ta place, je suivrais le conseil de Ced600 concernant déja l'environnement
de jeu...
Après, je ne trouve pas que la gestion du déplacement des pièces soient quelque chose de compliqué... Chaque pièce ayant ses règles de déplacement, il faut "juste" vérifier que le déplacement est légal... et qu'aucune situation d'échec pour le joueur jouant n'est occasionné par le déplacement de sa pièce...
Bon courage en tout cas...
The Monz, Toulouse
Partager