06 décembre 2006

Flash : Deep Fritz gagne la dernière partie et le match

On ne pourra pas dire que Vladimir Kramnik s'est dégonflé hier, lors de la sixième et dernière partie de son match contre le logiciel Deep Fritz. En osant jouer une sicilienne (variante Najdorf) contre le e4 de la machine, le Russe lançait un message clair : il allait essayer, avec les pièces noires, d'obtenir sa première (et seule) victoire de la confrontation, il voulait faire match nul. Après avoir rapidement égalisé en obtenant un centre de pions assez sympathique, Kramnik a malheureusement gâché ses chances par quelques imprécisions. A l'arrivée, Deep Fritz parvint à conjuguer des menaces sur le roque noir et le gain d'un pion de l'autre côté. Avec 3 pions contre 1 à l'aile-dame, le programme n'a plus eu qu'à faire avancer son rouleau compresseur sans que le champion du monde ait quelque chance de contre-jeu. Grâce à la victoire de son logiciel par 4 points à 2, la société ChessBase se paye une magnifique publicité. Je regrette que la réponse à ma question initiale (l'humain arrivera-t-il à gagner une seule partie ?) soit "non". Une fois de plus, le match n'a pas eu un intérêt échiquéen majeur mais, sur le plan conceptuel, il a confirmé un point important : face aux machines, la recherche doit être extrêmement poussée dans les ouvertures et la préparation psychologique (et physique) intensifiée. Ceci pour éviter des bourdes du genre mat en un et pour que la fatigue n'empêche pas l'homme de rater des subtilités stratégiques qui, seules, peuvent faire la différence. Malgré une journée très chargée, je pense pouvoir mettre en ligne une analyse de la partie d'ici la fin de l'après-midi.

14 commentaires:

Anonyme a dit…

Le débat est clos, face à "la petite pointure" Fritz car Rybka et Hydra aurraient fait un massacre.

Anonyme a dit…

Nous avons tout de même vus dans ce match, une certaine solidité de la part de Kramnik qui plus d'une fois a pointé clairement les faiblesses de la machine. Pour moi, rien n'est joué...

Anonyme a dit…

Décés du grand champion qu'était David Bronstein
Chapeau à ce grand monsieur
Bruno Mallet

Anonyme a dit…

La force relative des programmes par rapport aux humains est inversement proportionnelle au temps de réflexion. C'est plus une hypothèse qu'un théorème. On ne sait pas comment les programmes jouent par correspondance à 5 jours maximum de réflexion moyenne par coup.
Rodrigo.

Anonyme a dit…

Au delà de la lutte homme-machine,se profile selon moi une angoisse qui dépasse celle de voir le champion du monde se faire battre : les ordinateurs,à force de progresser en matière de calcul, ne finiront-ils pas par "tuer" le jeu d'echecs en trouvant une suite de coups plus ou moins forcés qui mènent nécessairement au gain pour les blancs ? Brrr, cela fait froid dans le dos !!

davidytruc a dit…

Les echecs sont une science mathématique parfaite. Et un jour proche viendra où toutes les combinaisons possibles seront calculées sur le temps de partie par le silicium. Il sera alors temps d'augmenter la taille de l'échiquier ou d'inverser des pièces ou encore d'en créer de nouvelles.

mila92 a dit…

Tant qu'un ordinateur ne sera pas capable d'affirmer avec certitude quel est le meilleur premier coup, les échecs ne seront pas morts! et ça à mon avis ce n'est pas pour demain! et ce que je trouve même d'affligeant sur ce point, c'est que les ordinateurs jouent leur ouverture en se basant sur des bases de données (donc sur ce qui a déjà été joué) et ne cherchent pas de nouvelles lignes. Le jour où on aura un gambit Fritz ou une défense hydra parmi les bibliothèqyes d'ouvertures, alors les ordinateurs auront fait un grand pas!

Et puis finalement, quelle importance, cela ne m'empèchera JAMAIS d'apprécier une petite partie contre un de mes congénères...les voitures vont plus vite que les coureurs à pied, pourtant il y a toujours des compétitions de courses à pied.

Anonyme a dit…

A mila 92 !
erreur ! les ordinateurs ont certes les bases de données, mais peuvent dévier des qu'ils le veulent. Je prends par exemple mes parties contre Fritz 10, ils jouent quelques coups de sa bibliotheque puis commence à réflechir alors que la ligne continue et souvent joue des coups en dehors....

Anonyme a dit…

de même dans des analyses de parties ou des nouveautés, les joueurs reconnaissent qu'ils ont eu l'info par l'ordi !!! par contre demander à un ordi de créer une ouverture, c'est un peu tard ! l'homme en 100 ans a déja tout décortiqué....il reste maintenant à améliorer ou détruire une variante

Fred a dit…

Pour repondre a davidytruc:

1/ Le fait d'etre une science mathematique parfaite n'a rien a voir. C'est parceque les echecs sont un "jeu deterministe a information totale", qu'il ya une "solution" pour le premier coup.

2/ Le calcul de l'ensemble des possibilites par du scilicium est hautement improbable. Il y a entre 10^43 et 10^50 nombre de parties d'echecs differentes (on est dans le milliard de milliard de milliard de milliards de milliards). Un ordinateur capable de gerer cette quantite d'information est tres peu probable (par exemple: la terre a a peu pres 10^48 atomes, alors l'espace de stockage va etre taquin a construire...)

Je me souviens d'un grand maitre, a la fin des annees 70, qui promettai des ordinateurs battant les meilleurs joueurs pour 1986. Il a fallu pres de 20 ans de plus.

Par contre il est clair que jouer contre un ordinateur puisant est devenu un exercice futile: la becane gagnera a tout les coups contre n'importe qui, mais sans aucune elegance ni comprehension du jeu.

Le jeu d'echecs est une guerre d'idees. Quel que soit le niveau de profondeur de l'arbre alpha-beta de l'ordinateur, il n'a *aucune* idee de ce qu'il fait.

Anonyme a dit…

Pour ma part, je retiens surtout la 3eme partie, que Fritz voulait poursuivre pour le gain, alors que la position était nulle. Ce n'est d'ailleurs pas Fritz qui a accepté la nulle, mais l'opérateur !

Je ne sais pas comment d'autres logiciels analysent cette position, mais sur l'ensemble du match, c'est là que j'ai le plus vu la supériorité humaine sur la machine.

S. Tarot

Eric C. a dit…

Il y a encore un peu de chemin avant que le jeu d'échecs soit résolu, mais ce n'est peut-etre pas à écarter. C'est déjà le cas de certaines ouvertures aux dames, si je ne m'abuse.
Une fois que le jeu sera résolu, il ne restera plus qu'à se mettre au go :)

(PS en réponse à Fred : pourquoi vouloir construire un espace de stockage de la taille du nombre de combinaisons envisagées ? Ce qui compte c'est le nombre de flops/mips, plutot, non ?)

Fred a dit…

Eric, si tu n'as pas un espace de stockage similaire au nombre de positions (en ordre de grandeur), alors tu ne sais pas si tu as deja evalue une position.

Un exemple simple du probleme est (sans bibliotheques d'ouvertures) que l'ordinateur doit voir que les parties:

e4-e5 d4-d5 ...
et
d4-d5 e4-e5 ...

donnent la meme position. S'il ne le voit pas il va faire *tout* le travail en double.

Des lors, le nombre a prendre en compte pour le temps de calcul n'est plus le nombre de position valides, mais le nombre de parties possible, qui lui est presque infiniment superieur (il croit de maniere exponentielle, voir par exemple: http://www.cs.berkeley.edu/~flab/echecs/echecs.html)

Je ne sais pas si c'est clair pour toi, mais c'est similaire au probleme des tablebases: il y a (relativement) peu de positions avec 6 pieces sur l'echiquier, donc on peux les garder en memoire pour calculer les fins possibles. Sans cette memoire de stockage, l'ordinateur est incapable d'aller loin dans une fin de partie, car il passe son temps a recalculer ce qu'il a deja calcule.

Le meme phenomeme est utilise durant la partie, avec la taille de la table de hachage. C'est ce qui permet a la becane de ne pas refaire deux fois l'analyse complete de la meme position.

En gros, on peux economiser un *facteur* de temps de calcul par une augmentation *constante* de la place memoire. Comme souvent en algorithmique...

Fred a dit…

A propos de "Pour ma part, je retiens surtout la 3eme partie, que Fritz voulait poursuivre pour le gain, alors que la position était nulle. Ce n'est d'ailleurs pas Fritz qui a accepté la nulle, mais l'opérateur !"

La raison en est simple: l'ordinateur pouvait encore gagner, il suffisait que Krammnik fasse une grosse erreur (ce qui, on l'admettra est toujours possible :-)). Donc la position n'etait pas nulle, car, du point de vue d'un soft d'echec, elle n'est nulle que si aucun des joueurs ne peux gagner...