Intégrer l’intelligence artificielle ds 1 jeu

Fermé
Dali - 1 févr. 2009 à 16:48
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 févr. 2009 à 01:24
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 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
2 févr. 2009 à 00:13
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 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
2 févr. 2009 à 00:22
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 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
2 févr. 2009 à 00:30
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
2 févr. 2009 à 01:24
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 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
2 févr. 2009 à 00:17
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