GnOm 20/01/2012 12:06
Ce projet utilise un algorithme génétique pour determiner le meilleur coup à jouer au jeu de go. Il constitue un essai d'Intelligence artificielle contre laquelle jouer au go.

exemple de partie sur GnOm



Le jeu de go et l'informatique
Le jeu de Go serait le plus vieux de stratégie connu, comme on s'y attend de la part d'un jeu conçu à une époque primitive, ses règles sont simplissimes.
Deux joueurs tentent de controler le terrain en placant a tour de role des pierres (noires et blanches) et formant des territoires. Celui qui possede le plus grand territoire gagne.

Un jeu d'enfant ! Grâce à la puissance de l'informatique moderne, calculons les coups possibles (le nombre d'arrangements de pierres noires et blanches sur le plateau 19x19) : 10600.
Ouch! en effet, mêmes les monstres de calcul modernes (plus de 1000 coeurs en paralèlle) ne peuvent esperer rejoindre cette combinatoire, et de très très loin !
Il semble que ce jeu du fond des âge ne soit à la portée que du cerveau humain pour l'instant, il constitue en tout cas un vrai défi au développement d'IA :)


L'I.A. GnOm et son algo génétique
La meilleure approche dans la recherche du meilleur coup semble être celle de Monte carlo.
Puisqu'on ne peut calculer toutes les combinaisons, on en évalue le plus grand nombre possible définies aléatoirement.
Dans le projet GnOm, un algorithme génétique selectionne ensuite le meilleur coup aprés quelques générations.

Les individus évalués sont des séquences de coups. Leur code génétique est un tableau dont les éléments (les gènes) représentent un coup joué sur le goban.
La longueur du code génétique représente donc le nombre de coups d'avance évalués : un code de longueur 5 permettra d'évaluer une population de sequences de 5 coups.
Le score en jeu aprés avoir joué une sequence donne la valeur de la séquence évaluée lors de la selection.



Code source








GnOm v.2 Utilise cette fois un algorithme génétique pour faire jouer blanc.
Classes supplémentaires : gnom, sequence, coup
L'essayer ou le télécharger
GnOm v.1 Première version du projet, il s'agissait essentiellement de concevoir la classe manipulant un goban
notamment le créer, le remplir, évaluer le score, determiner si une pierre est atari ou si un groupe est vivant ou mort.
Afin de mettre en oeuvre ces fonctionnalités, une I.A. basique évalue chaque emplacement libre et indique les cases interessantes pour blanc.
Il faut donc soi même jouer le coup de blanc en fonction des indications pour attaquer, défendre ou améliorer son territoire.
Classe : goban
L'essayer ou le télécharger
 


  Commentaires :
  Kaël 11/08/2011 10:08
  Hello :)
J'ai testé vite fait ton GnOm v.2 : ya eu du progrès, effectivement ! Bluffant :)
Par contre, j'ai trouvé un bug quand Blanc joue : il n'y a apparemment pas de contrôle lui interdisant de se mettre en position de "suicide"
 


  Ajoutez un commentaire :
votre pseudo :
votre commentaire :