Jeu de go en informatique
Le jeu de go en informatique est une branche de l'intelligence artificielle qui s'attache à créer des logiciels informatiques capables de jouer au jeu de go, un très ancien jeu de plateau.
Le jeu de go est considéré comme un problème complexe d'intelligence artificielle, qui ne peut pas être résolu aussi facilement que le jeu d'échecs.
Le premier programme a été écrit en 1968 par Albert Zobrist comme un élément de sa thèse sur la reconnaissance des formes.
Difficulté du go
Comme pour tous les jeux, il faut jouer un coup qui améliore sa situation et détériore celle de son adversaire. Pour estimer une situation aux échecs, une bonne estimation est de compter le nombre de pièces sur l'échiquier, en les pondérant (1 point par pion, 5 par tour...), et en ajustant la valeur trouvée par les libertés, les protections des pièces... Cela n'est pas possible au go : on ne dispose pas d'estimation ne reposant pas, justement, sur les capacités humaines de reconnaissance de formes, et sur l'expérience de parties déjà jouées. La technique d'exploration des différentes possibilités (pour chaque coup, déterminer la meilleure réponse possible, puis la meilleure réponse à celle-ci, et ainsi de suite ; c'est plus techniquement la méthode du minimax) échoue au go à cause de l'énorme quantité de coups plausibles, et de la durée des parties.
Performances
|
Cet article ou cette section est à actualiser. Des passages de cet article sont obsolètes ou annoncent des événements désormais passés. Améliorez-le ou discutez des points à vérifier.
|
Contrairement aux programmes de jeu d'échecs qui ont rivalisé avec les meilleurs professionnels dès les années 1990, les programmes de jeu de go n'ont commencé à atteindre le niveau des joueurs de go professionnels qu'en 2013[1]. Sur les petits plateaux de taille 9×9, les meilleurs programmes ont atteint récemment le niveau des joueurs en dan, mais les techniques qui ont permis cette progression n'ont donné que des résultats mitigés sur la taille normale de plateau 19×19. Sur 19×19, le niveau en dan est resté hors d'atteinte jusqu'à l'apparition récente des programmes Monte-Carlo ; avant 2002, un joueur moyen était capable de battre les meilleurs programmes et certains joueurs forts entraînés spécifiquement les avaient battu avec des handicaps allant jusqu'à 30 pierres, ce qui serait impossible contre un joueur humain, même très peu expérimenté. Ainsi en 1997, Janice Kim, shodan professionnelle, battait le programme HandTalk malgré un handicap de 25 pierres puis en 1998, Martin Müller, sixième dan amateur, battait Many Faces of Go malgré un handicap de 29 pierres.
L'augmentation de la puissance des ordinateurs n'a que très peu d'influence sur le niveau des programmes de go, et le problème du jeu de go est souvent considéré comme l'un des prochains défis de l'intelligence artificielle.
Méthode de Monte-Carlo
Une des alternatives majeures à l'utilisation de connaissances et de recherches est l'utilisation des méthodes de Monte-Carlo. Pour cela il suffit de lister les coups possibles et pour chaque coup de jouer des milliers de parties au hasard[2]. Le coup qui conduit au meilleur résultat pour le joueur courant est supposé le meilleur coup. L'avantage de cette méthode est qu'elle requiert peu de connaissances spécifiques mais l'inconvénient est qu'elle est coûteuse en termes de mémoire et de temps processeur. De plus, parce que les coups utilisés pour l'évaluation sont choisis au hasard, il est possible qu'un coup qui serait excellent sauf pour une réponse spécifique soit de façon erronée choisie comme un bon coup. Le résultat est un programme qui est fort d'un point de vue stratégique mais faible tactiquement. Ce problème peut être compensé en ajoutant de la connaissance à la génération de coup et une plus grande profondeur de recherche avant l'évaluation de Monte-Carlo. Parmi les programmes qui utilisent les techniques de Monte-Carlo se trouvent MoGo, CrazyStone, Olga and Gobble.
En 2006, une nouvelle technique, upper confidence bounds applied to trees (UCT), a été développée et utilisée par de nombreux programmes sur 9×9 avec d'excellents résultats. UCT utilise les résultats des play outs joués jusque là pour guider l'exploration tout en autorisant des séquences alternatives à être explorées. UCT et de nombreuses autres optimisations ont conduit MoGo à être l'un des plus forts programmes produits par un chercheur. Parmi les premières applications avec succès de la méthode UCT sur 19×19 on peut trouver MoGo, CrazyStone, et Mango. MoGo a gagné l'édition 2007 des Computer Olympiad et gagné un blitz sur trois contre Guo Juan, 5e dan professionnel, sur le goban 9×9. The Many Faces of Go a gagné l'édition 2008 des Computer Olympiad après avoir ajouté UCT à ses méthodes classiques de recherche.
En 2008, grâce à une parallélisation efficace, MoGo a gagné une partie[3] (sur trois) contre Catalin Taranu, 5e dan professionnel, sur 9×9 avec des temps classiques (30 minutes pour chaque joueur). Mogo tournait sur un cluster fournit par Bull (32 nœuds avec 8 cœurs par nœud, chacun séquencé à 3 GHz). La machine n'était pas disponible durant l'un des matchs perdus. MoGo a également joué une partie sur 19×19 contre Catalin Taranu et a perdu en dépit d'un avantage de 9 pierres de handicap. Cependant Mogo était en bonne position durant cette partie et a perdu à cause d'un mauvais choix lors d'un ko. La machine utilisée pour cet évènement (l'IAGO challenge, organisé par la société "Recitsproque") était une bonne machine mais loin des meilleurs standards de l'industrie.
Le 7 août 2008 Mogo a gagné une partie sur 19×19 face à Kim MyungWan 8e dan professionnel, avec MoGo ayant un avantage de 9 pierres de handicap. MoGo a gagné (de 0,5 pt, mais cette victoire n'est pas si serrée qu'il y parait, le programme jouant la sécurité et perdant des points dès qu'il est certain de gagner). Kim MyungWan a utilisé environ 13 minutes de temps alors que MoGo en a utilisé environ 55, cependant il ne pense pas qu'utiliser plus de temps lui aurait permis de gagner. MoGo fonctionnait depuis les Pays-Bas sur un super ordinateur de 800 nœuds, chacun contenant 4 cœurs tournant à 4,7 GHz pour produire 15 Téraflops[4]. MyungWan et MoGo ont joué un total de 4 parties à handicap et limite de temps variable, chacun en gagnant deux. Les enregistrements des parties sont accessibles sur le serveur de go KGS où Mogo a joué en tant que MogoTitan.
En 2009, d'autres victoires contre des professionnels à des handicaps plus faibles (par des programmes tels que Crazystone) ont eu lieu ; de plus, Zen (programme médaille d'or aux olympiades de 2009) s'est classé de manière consistante entre 1 et 2 dan sur KGS.
Zen, en particulier, a connu ensuite une progression plus lente, mais régulière, l'amenant au début 2012 à un niveau de 4ème dan sur KGS, et même de 6ème dan en parties rapides ; lors d'un match-exhibition contre Takemiya Masaki, il a gagné successivement une partie à 5 pierres de handicap, puis une partie à 4 pierres[5].
Notes et références
- ↑ Victoire du programme Crazy Stone (en) sur le 9° dan professionnel Ishida Yoshio le 20 mars 2013 (cf. le site de Crazy Stone et l'article de Go Game Guru « Crazy Stone computer Go program defeats Ishida Yoshio 9 dan with 4 stones »).
- ↑ Le jeu de go et la révolution de Monte Carlo sur le site Interstices.
- ↑ http://www.lri.fr/~teytaud/crmogo.en.html
- ↑ Sensei's Library: MoGo
- ↑ (en) Détails du match sur le site Gogameguru
Voir aussi
Articles connexes
- Logiciel de jeu de go
- GNU Go
- Go Text Protocol
Liens externes
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Go software » (voir la liste des auteurs).
- (en) Diverses ressources sur le jeu de go et l'informatique
- Un article sur les progrès de l'intelligence artificielle en 2009
- (en) Un article détaillant l'algorithme de Mogo
- Portail de l'informatique théorique
- Portail du jeu de go