mercredi 23 avril 2008

in extremis

Un petit post de justesse pour faire un post/semaine, juste pour dire que le top5 BD que vous attendez tous avec impatience se fera quand je retournerai au boulot (demain quoi) parce que les images que je voulais mettre dessus sont là bas.
Étalons un peu de notre science de geek sur un fait presque d'actualité, ca risque d'être long et pas particulièrement drôle

Une IA a battu recemment un joueur professionnel (5ème Dan) de go. C'est peut être un détail pour vous, mais pour moi ça veut dire beaucoup.

En effet le go, comme les échecs, passe pour un jeu où il faut être "intelligent" pour remporter la partie. Je vous laisse définir intelligent en exercice, mais disons que jouer au hasard les coups n'apporte pas grand chose, que plus t'en fais plus t'es fort, que ça demande de l'abstraction , de l'imagination et surtout la capacité de mesurer la conséquence de ses actes (très important et on y pense pas toujours). C'est donc un défi pour l'IA ce jeu.

Du point de vue de l'IA, ça fait un certain temps qu'on est capables de faire des programmes qui déboitent n'importe quel humain aux echecs,ou aux dames. Le principe est simple, on envisage tous les coups jouables, on regarde ceux qui sont les plus mieux pour nous et les plus trop pires pour l'adversaire et hop, kasparov ooned.

Seulement le go, c'est un peu plus délicat à cause du nombre énorme de possibilités de coups. On appelle ça la combinatoire nous autres informaticiens. Et dans le go, la combinatoire est telle que représenter les coups possibles n'est pas réaliste sur un ordinateur personnel (ni même sur 2 ou 3).

Les concepteurs se sont dit, "qu'à cela ne tienne gaston, on va utiliser plein de pc dédiés au calcul parallèle, et un supergros PC de la mort en plus" ils ont fait tourner ça , ça a pas marché , l'IA a perdu.

Ils ont réessayé ca a marché, l'IA a gagné, une deuxième fois, l'IA a perdu. Bilan mitigé donc , mais ça voudrait dire que ce ne serait qu'une question de puissance de feu pour faire tomber les sensei de la discipline, ce qui est pas forcément logique vu les règles du jeu.

Bilan mitigé disais-je, car les parties se sont jouées sur un 1/4 de goban ( le plateau de jeu), ce qui réduit significativement la combinatoire , mais elle reste bien immense vous en faites pas.

Alors pourquoi ça m'excite autant puisque c'est mitigé ?

Ben déjà pour la performance purement calculatoire, c'est beau d'avoir pu faire calculer autant de trucs à plusieurs processeurs en réseau sans que ça fasse *pfft* en branchant sur la CB.
Ensuite parce que pour le peu que je connais de ce jeu, ça se joue à deux niveaux : de la baston pierre à pierre (locale à qq cases) et de la conquête de territoire (globale à tout le goban), et ça rend les choses bcp plus compliquées pour les pauvres petits concepteurs d'IA.

Allez rentrons un peu plus dans les détails pour voir pourquoi l'IA est un domaine passionnant.

On aime bcp les jeux de société dans l'IA parce que ça a plusieurs propriétés facilitantes: les règles et les éléments (cartes, pions, cases) sont fixes, ce qui fait un nombre fini de coups et de possibilités. Imaginez la galère sinon, on ne serait virtuellement jamais sûrs de rien, faudrait faire des proba tout le temps , ça serait la loose.

Ensuite c'est souvent au tour-par-tour, donc on peut schématiser un coup par la succession perception-décision-action, et tout l'enjeu de l'IA est -en général- de définir la fonction de décision.
Si c'était pas chacun son tour, ben ça rend les choses bcp plus difficiles, il faut s'assurer qu'on puisse calculer un choix dans un temps raisonnable si la rapidité compte, pouvoir agir et réfléchir en même temps, ce qui coule pas de source. Imaginez la galère de faire une -vraie- IA de foot, pour faire un vrai jeu collectif, une vraie stratégie etc... et pas simplement passer au joueur démarqué puis aller vers l'avant ^_^ roh je suis mauvaise langue.

Revenons en au go : lors de l'étape de perception qu'est ce qu'on fait si l'état du jeu est contradictoire ? Si l'état du jeu est bon pour la baston de pierres, on décide de faire du local , si au contraire les territoires s'annoncent plutôt en notre faveur, on fait du global , ou alors un peu des deux , mais dans quelles proportions etc ???
Plus vicieux : comment se décider si un coup bénéfique globalement met en péril la stratégie locale ? Et l'inverse ? Et puis comment savoir si l'état du jeu est vraiment bénéfique , puisque que tout peut changer en qq coups, comment planifier une stratégie ?

Vaste question donc, rien que pour la perception du jeu

Je parle même pas de la fonction de décision parce que c'est une vague technique assez connue ( Monte Carlo pour les curieux) qui consiste à envisager plein de coups et d'affiner les probabilités de succès de chacun des coups selon qu'ils aient mené à la victoire ou pas, en remontant la chaine des coups à l'envers, du dernier au premier, un truc de ce genre là.

Bon l'action , enfin c'est facile, il suffit qu'un blaireau fini lise le résultat et joue la pierre à l'endroit indiqué par la fonction de décision.

Ce qui est assez curieux c'est que la technique employée est assez classique et connue, donc l'enjeu véritable de cette équipe (mogo le nom du projet je crois), outre la faisabilité, devait se situer ailleurs (heuristiques pour limiter la combinatoire et problèmes avec les deux échelles de perception à mon humble avis)

D'ailleurs de vous à moi , pour une IA de Go, il y avait beaucoup mieux comme nom que mogo, il y avait Chantal. -je n'explique pas ce jeu de mots, ça serait trop facile-

Allez pour me faire pardonner de ce post prise de tête, voila qqch de plus terre à terre , où la fonction de perception joue un rôle crucial :D


Oui c'est très beauf , mais ça fait une moyenne et une récompense pour ceux qui ont tenu jusqu'ici

5 commentaires:

Anonyme a dit…

Pour compléter ce post avec quelques précisions, il faut savoir que la partie s'est déroulée sur un goban de 9*9 (9 lignes * 9 colonnes, généralement réservé au débutant) un goban normal se compose de 19 lignes et 19 colonnes. Avec cette dernière configuration le nombre total de possibilité de jeu (appellé combinatoire dans le post) est de 10 à la puissance 600 !!!!! soit plus que le nombre de particule dans l'Univers.

Bon post en tout cas :)

Mumu a dit…

Problèmes classiques en IA :
- La dualité entre le gain à court terme et le gain à long terme.
- Et le gain individuel et le gain global (c'est d'ailleurs là dessus qu'on peut définir la notion d'ia collective, enfin à mons sens :))

Perso, je trouve que la performance n'a rien d'impressionante. Biensûr l'infrastructure mise en place est notable, mais ça ne révolutionne en rien le monde de l'ia.

Peut être qu'on s'attaque pas au problème du go de la bonne façon. Je veux bien croire que le cerveau humain poutre tout, mais les sensei ne calculent pas toutes les possibilités.
Deplus en terme d'apprentissage, le nombre de partie que peut jouer une machine est bien supérieur aux nombres de parties que pourra jouer un humain, pour revenir sur monte carlo. Alors que les sensei jouent au "feeling".
Ils seraient peut être bon de comprendre l'essence même du jeu :) Sur ce, j'arrête ma philosophie de comptoir et je retourne travailler.

Mumu a dit…

Ah hé ... jolies fesses au passage

chap a dit…

je trouve que faire calculer à un ordi un truc comme un bourrin est plutot bien adapté a qqch dont le but ultime est de calculer comme un bourrin :-)

On ne veut pas un cerveau bis, mais un moyen ~ prouvé de résoudre des problèmes, la manière importe peu si on montre la faisabilité.
Quand on y pense deep blue n'avait rien d'impressionant , mais fallait le faire tout de même...

Mumu a dit…

Je n'ai jamais dis le contraire. Personnellement je trouve que foutre plus de cpu et plus de mémoire c'est pas vraiment exceptionnel. En tout cas rien de révolutionnant.

Je parle pas d'obtenir un cerveau, je parle de comprendre peut être comme il fonctionne pour justement pondre une nouvelle méthode plus intelligente que juste rajouter de la puissance de feu.

Si hitler avait trouvé la combustion spontanée il aurait pas eu besoin de faire plein de camp de concentration. Oh YEAH Point Godwin !