Intégrer l’intelligence artificielle ds 1 jeu

Dali -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
slt tt le monde et je remercie tt les développeurs
Je fais un simple jeu en Java (jeu de TIC-TAC-TOE) et je veux intégrer l’intelligence artificielle
Dans ce jeu pour jouer contre l’ordinateur.
Alors comment faire pratiquement ??? Car j ai Just une petite connaissance théorique dans ce domaine (Méthodes informées/heuristiques ….Algorithmes de jeux….fonction d’évaluation)
A voir également:

2 réponses

mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 883
 
Voici qui devrait t'éclairer :
http://forum.games-creators.org/archive/index.php/t-1210.html

En général pour un jeu où chaque joueur joue alternativement chacun son tour (echec, dames, morpions...), on utilise un algorithme min max.
https://fr.wikipedia.org/wiki/Algorithme_MinMax
https://en.wikipedia.org/wiki/Minimax

Bonne chance
1
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Ouch, minmax pour les echecs c'est trop, ça coincera vite il ya trop de possibilités.
Alpha Beta éventuellement. Je m'y connais pas des masses là dedans mais je pense qu'en règle général pour ds jeux comme les echecs ou l'arbre des possible est très grand, on utilise un Alpha bêta avec une profondeur limitée combiné avec une analyse heuristique.

C'est à dire qu'au lieu de déployer une recherche jusqu'à un résultat final, tu t'arrêtes à un état du jeu plus intermédiaire, non fini, et tu évalues cet état avec une fonction heuristique.
Par exemple tu peux basiquement compter combien de pièces il te reste en appliquant un coefficient différent selon les pièces. Ou tu peux pousser plus loin en regardant la position de ces pièces.
0
mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 883 > kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention  
 
Oui pour les échecs tu as raison, bonne observation ! J'aurais du dire "morpion, puissance 4, ..." :-)
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention  
 
Salut,
Oui tu as raison.
Un Alpha bêta utilisé en algorithme. Pour la profondeur, il faut en utiliser une dynamique. Avec une profondeur de 3, ça commence déjà à réfléchir pas mal (4 temps inacceptable). Donc l'astuce consiste, à augmenter la profondeur uniquement pour des suites de coups intéressants, c'est-à-dire où l'évaluation de la position est très instable (comme en cas de prise de pièce).
Ensuite, comme tu l'as dit, des heuristiques. Par exemple, l'implémentation d'une ouverture, d'une finale. Trier la liste des coups possibles avant de l'utiliser dans l'alpha beta.
Une bonne heuristique est également de stocker l'évaluation de positions déjà calculées dans une table de hachage. Pour éviter de recalculer une branche de l'arbre pour rien. Attention aux collisions ^^·
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
En plus MinMax est parfait pour le tic tac toe.
Tu peux éventuellement pousser vers alpha béta si jamais tu vas plus loin que 9 cases, mais sinon minmax est suffisant.
0