IA jeu d'échec

Leinhardt Messages postés 2 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 13 mai 2008 - 10 févr. 2008 à 14:03
Leinhardt Messages postés 2 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 13 mai 2008 - 13 mai 2008 à 16:00
Bonjour à tous.

Je suis actuellement en dernière année de licence informatique et ce semestre, nous avons un projet à faire. Mes collègues et moi avons choisi de faire un jeu d'échec.

Aussi, le problème le plus épineux de ce projet nous semble être l'IA puisqu'elle devra être cohérente (et si possible performante). Seulement nous ne savons pas trop comment aborder la problématique qui se pose.

Aussi, j'aurais aimé savoir s'il existe des types d'algorithme particuliers pour aborder la chose ou avoir votre point de vue sur la question (savoir comment vous aborderiez le problème).

Je vous remercie d'avance pour votre aide et j'essaierai au possible de poster mes avancées sur la question.

6 réponses

acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
10 févr. 2008 à 15:09
je crois qu'un simple alpha béta avec sauvegarde des hash des différents plateaux parcourus dans une archive pour ne pas parcourir plusieurs fois le même plateau suffit à faire quelque chose de pas mal

Renaud
0
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
10 févr. 2008 à 15:24
La clé des des echecs c'est de prevoir les coups a lavance :
 on essay toutes les pieces dans tous les mouvement quelles peuvent faire , on compte  pour chaque mouvement le nmb de pieces prises / gagner . Ca ne me semble pas trop compliquer a mettre en place comme ca et ca pourrait permettre de parametrer l'IA : dificulté depend du nombre de coups , style de jeu : agressif jouera les coups qui ont le meilleur rapport piece prise / piece perdu , le joueur defensif lui se basera plus sur le rapport piece perdue / nombre de coups.
Ce n'est qu'un point de vue mais moi j'aborderais le probleme comme ca.

Si l'informatique été de l'alcool il y aurait des genies partout
0
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
10 févr. 2008 à 15:25
Dificulté de l'IA depend du nombre de coups anticipé , petit oublié de mot

Si l'informatique été de l'alcool il y aurait des genies partout
0
acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
10 févr. 2008 à 17:51
oui ce dont tu parles c'est l'apha beta
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
14 févr. 2008 à 10:44
Oui, je rejoins les remarques précédentes: il te faut faire un aphabeta  (regarde ici : http://fr.wikipedia.org/wiki/Algorithme_MinMax  et là, le alphabeta qui est une amélioration du minmax  (beaucoup plus rapide)  http://fr.wikipedia.org/wiki/%C3%89lagage_alpha-beta

Après, suivant la fonction d'évaluation du plateau que tu utiliseras tu auras le type de jeu de ton IA comme le disait CCJ.
Le niveau de difficulté de l'IA pour le joueur se fera après simplement en fonction du nombre de coups qu'il lit à l'avance.

Ps: cet algorithme marche aussi bien pour les échecs que le morpion, puissance4, othello, les dames, etc.... les seules choses qui changent c'est les fonctions DetermineCoupsPossibles, JoueUnCoup, EvaluePosition et ReprendUnCoup. L'algorithme après reste le même.

 Pourapprendretoujoursplus!
0
Leinhardt Messages postés 2 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 13 mai 2008
13 mai 2008 à 16:00
Rebonjour. Me revoila...

Je n'ai pas eu l'occasion de revenir souvent comme promis, les études étant ce qu'elles sont, ça prend beaucoup de temps (et les beuveries aussi ^^) mais il n'est jamais trop tard...

Je viens vous tenir au courant de l'avancée de mon projet d'IA. Elle rentre dans la phase finale. J'ai opté également pour un algorithme Alpha-Beta; la machine génère bien tous les coups possibles de l'adversaire à partir d'une position donnée jusqu'à 3 niveaux de profondeur et elle évalue bien les cases (jusque là rien que de très normal) mais j'ai toujours un dernier petit soucis au niveau de la récursivité... Une fois l'évaluation arrivée au dernier niveau, elle ne fait pas remonter le score jusqu'au premier. L'IA est donc incapable de sélectionner le premier meilleur mouvement à effectuer : elle ne joue pas

Il me reste donc une semaine à passer h24 pour débeuguer tout ça et faire en sorte qu'elle pette le feu ^^
0
Rejoignez-nous