Journal : Intelligence artificielle : l'homme dépassé par la machine au jeu de go
Posté par fleny68 () le 17 avril 2008
L'information vient de Bertrand Lemaire (qui est aussi à l'origine des info sur le RGI):
http://www.cio-online.com/actualites/lire-intelligence-artif(...)
En bref un programme de Bull et de l'INRIA ont mis la paté à un 5éme dan sur un goban 9x9. Le jeu de Go est combinatoirement plus explosif que les échecs, mais les règles sont plus simples. http://fr.wikipedia.org/wiki/Jeu_de_go
Bon sur le goban standard 19x19 c'est pas encore ça, mais ça va bien finir par arriver.
Je me demande ce que valent les ordinateurs sur un échiquier de Machiavel (http://fr.wikipedia.org/wiki/Djambi )
http://www.cio-online.com/actualites/lire-intelligence-artif(...)
En bref un programme de Bull et de l'INRIA ont mis la paté à un 5éme dan sur un goban 9x9. Le jeu de Go est combinatoirement plus explosif que les échecs, mais les règles sont plus simples. http://fr.wikipedia.org/wiki/Jeu_de_go
Bon sur le goban standard 19x19 c'est pas encore ça, mais ça va bien finir par arriver.
Je me demande ce que valent les ordinateurs sur un échiquier de Machiavel (http://fr.wikipedia.org/wiki/Djambi )
> Lire le journal (23 commentaires, moyenne: 4,3).
Vous avez demandé le commentaire #923825.



EUh ?
Dépassé, loin de là...
L'espace d'état d'un 9x9 (genre 3^81) est ridicule par rapport à un 19x19 (genre 3^361).
Je ne pense pas que c'est prêt d'arriver dans un avenir proche voir même de mon vivant. Mais je serais bien heureux si cela arrivait et surtout autrement que par un brut-force...
[ Répondre ]
[^]Re: EUh ?
J'aurais apprécié de savoir qui a débuté la partie.
Il me semble qu'à partir d'un certain niveau, celui qui commence gagne sur un goban de 9x9.
Mais sinon oui, avant que la machine batte l'homme, on en est loin, et pourtant, un milliardaire avait offet une énorme somme y'a quelques années pour celui qui lui proposerait un programme capable de surpasser l'homme (mais l'offre est dépassée et j'ai oublié les détails).
[ Répondre ]
[^]Re: EUh ?
Celui qui débute la partie est nettement avantagé, d'autant plus que le plateau est de taille réduite. Mais, en général l'autre joueur bénéficie d'un certain nombre de points de compensation (le "komi")
Le milliardaire en question est M. Ing (Taiwan ?) mais le prix - qui devait être décerné à un programme capable de battre un 1er Dan professionnel de son choix - n'a pas été attribué. Et ne le serait pas aujourd'hui non plus.
[ Répondre ]
[^]Re: EUh ?
> Je ne pense pas que c'est prêt d'arriver dans un avenir proche voir même de
> mon vivant.
Moi je pense que ce n'est qu'une question d'années.
Biensur je penses que les techniques de "bruteforce" qui essayent de parcourir l'espace d'état sont veines.
Mais un ordinateur qui applique une stratégie similaire à l'humain, en utilisant les propriétés géométriques est tout à fait concevable.
!!!NOUVEAU!!!
[ Répondre ]
[^]Re: EUh ?
Même si je pense aussi que ce n'est qu'une question d'années (enfin pas mal quand même mais j'espère le voir de mon vivant,et j'éspère qu'il me reste encore pas mal d'année devant moi) il est très peu probable que cela ce fasse en copiant l'humain.
Il y a encore deux ans, les meilleurs programmes (gnugo était dans le tas) était bourrés de connaissance humaines, le problème était que ce genre de programme deviens vite impossible à faire évoluer. Ils demandent l'ajustement de millier de paramètres et la modification de l'un peu devenir catastrophique ailleurs dans le programme, un truc ingérable. De plus toutes les connaissances des meilleurs pro ne sont pas formalisables et au final on obtenait des programmes du niveau d'un joueur pas terrible de club en france. A ce niveau la un chinois prétend qu'il ne sait pas jouer...
Mogobot à changer la donne en réintroduisant le brute-force. Ils ont utiliser un nouvel algo de type bandit-manchot pour l'exploration de l'arbre : UCT, qui permet dans le cas d'arbre aussi grand que pour le Go d'explorer celui-ci de manière beaucoup plus intelligente.
Combiner a des techniques de Monte-Carlo (qui existait déjà avant mais très peu utilisées car pas éfficace sans UCT) pour l'évaluation des positions on obtient de bon résultats.
Et ces première version on vite ratrapés et dépasser les meilleurs programmes.
Aujourd'hui un programme de Go c'est surtout beaucoup de probas et max de puissance de calcul. Ce qui me fait dire que les programme batterons les humains dans un avenir pas si lointain c'est l'étude récente qu'y à été menée entre participant de la liste computer-go. On peut voir que l'evolution du niveau des programmes basé sur ces technique enfonction de la puissance de calcul utilisée, même sielle n'est pas linéaire, laisse de grand éspoir de progression avec l'augementation de la puissance disponible et l'utilisation de plusen plus fréquente de mini clusters.
Actuellement on ne sait pas trop quel est le niveau réél des meilleurs programmes face au pros asiatiques, mais je pense pouvoir dire que sur 19x19, en prenant les meilleurs programmes basé sur des techniques type UCT/RAVE+MC (mogobot et crazystone, deux programmes français en font partis...) et en les faisant tourner sur une grosse grappe de calcul, on doit pas être loin niveau 1er dan asiatique. C'est prometteur mais il reste encore énormément de chemin à faire, donc pour moi encore quelques dizaine d'années avant que l'on puisse dire que l'ordinateur dépasse l'homme.
[ Répondre ]
[^]Re: EUh ?
Si ton programme se parallélise pas trop mal, le premier gagnant sera le premier programme avec un fonctionnement proche de seti@home ou folding.
Tu peux ainsi avoir un cluster de quelque milliers de machines, voir beaucoup plus.
[ Répondre ]
[^]Re: EUh ?
Prochain projet de Google ?
The Google Summer of Go.
"Because we can."
[ Répondre ]
[^]Re: EUh ?
Les algos se parrallelisent plutôt bien, c'est la cas de mon programme perso. Le problème c'est qu'il faut une communcation relativement rapide entre les noeuds.
Déleguer les simulation a des noeuds différents n'est pas vraiment éfficace, la gestion de la communication prend plus de temps que la simulation.
L'approche la plus commune est de faire travailler chaque noeud sur l'arbre complet et de fucionner les résultats regulièrement avant de renvoyer les infos aux noeud et de recommencer une nouvelle itération.
L'approche que je test en ce moment est de donner à chaque noeud des sous-arbre à explorer et de fusionner un peu moins souvent.
Mais dans tous les cas il faut agréger les resultats avan de jouer chaque coups, donc une approce seti@home ne serait envisageable que pour résoudre le jeu de go et non pas pour y jouer.
Le 5x5 est déjà résolut, il y a des travaux pour les tailles supperieures, mais a ma connaissance rien vers ce type de calcul. Si il y a des courageux..
PS: non, pour l'instant mon programme n'est pas open source, mais c'est en cours. Je suis en train de netoyer le code pour faire une première release du code de gestion du goban et des simulations de monte-carlo rapidement, l'algo d'arbre UCT+RAVE arrivera peu-après. Le patern matcher et la parrallelisation prendrons un peu plus de temps car le code est un gros hack pas beau que j'ai commencer à réécrire entièrement, donc la disponibilitée dépendra de mon temps libre.
[ Répondre ]
[^]Re: EUh ?
Si tu fais un truc type seti@home, j'imagine qu'il ne faut pas compter à plus d'un échange par seconde entre la racine et chaque noeud. Si tu as le droits à quelques dizaines de seconde par coups, cela doit pouvoir être faisable en distribuant des sous-arbres à fusionner ensuite.
Chaque noeud peut partir dans son "délire" tout seul dans son coin et "resynchroniser" toutes les secondes. Même si tu doubles le boulot à faire, si tu as 1 000 machines, tu t'en fous.
[ Répondre ]
[^]Re: EUh ?
Seti@home et compagnie c'est plus une synchro tous les quelques jours voir plus, avec des nœuds qui ne tournent pas en permanence et qui ne sont pas connectés en continu.
C'est pas vraiment utilisable pour des tâche en temps-réel. Le principe c'est de laisser son ordinateur disponible pour des calculs quand il ne sert pas à autre chose, donc dès que l'utilisateur souhaite utiliser son ordinateur, le programme doit s'interrompre.
Bref même si il y a peut-être moyen de le faire,ça me paraît extrêmement compliqué à gérer pour un jeu de go temps-réel, en tout cas trop pour moi et le temps libre dont je dispose.
[ Répondre ]