Journal projet : commentaires didactiques d'une partie d'échecs

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
20
2
déc.
2013

Bonsoir,
la lecture du code de Pychess (je pense en particulier à ce fichier) et mes déboires de mauvais joueur d'échecs m'ont donné une idée.

Pourquoi ne pas essayer d'"enrober" l'information donnée par les moteurs d'analyse (Crafty, Gnuchess), information que Pychess sait lire, pour donner des commentaires didactiques au joueur ? Pour le moment, blunders.py dit juste quelque chose comme "oups, mauvais coup, il aurait fallu jouer ceci" et ce, quand la différence entre la position réellement jouée et le meilleur coup qu'il était possible de jouer devient très grande.

Je pense par exemple à des commentaires comme : (1) nommer les ouvertures (2) conseiller de garder le centre, la structure des pions (3) annoncer à l'avance des pièges possibles (ex : fourchette) (4) parler des coups qui paraissent évidents mais qui sont mauvais. La liste n'est pas exhaustive !

Tout cela n'est pas clair et j'aurais aimé savoir si certains ont eu la même idée que moi; concrètement, un simple patch à Pychess, voire un clone de ce projet pourrait suffire. J'imagine que l'idée générale serait de voir comment faire correspondre les commentaires "humains" à l'analyse des moteurs de jeu, le défi étant de coder cette correspondance.

Si vous êtes partants, si vous avez des idées… je suis intéressé.

  • # ordinateur vs humain

    Posté par  . Évalué à 10.

    nommer les ouvertures

    Facile à partir de l'ECO. Certaines transpositions ne seront pas résolues, mais de toutes façons on n'y peut rien.

    conseiller de garder le centre

    Mmmmmmh. Déjà, dans l'ouverture, il faut choisir entre l'occuper ou le contrôler à distance, voire passer de l'un à l'autre, et c'est très compliqué. Le choix entre garder ou liquider la tension centrale est souvent très difficile, et parfois plus une affaire de goût qu'autre chose. Ensuite, il arrive qu'on relâche volontairement le contrôle du centre, ne serait-ce que temporairement, pour redéployer une pièce. Prends par exemple la variante Breyer de l'espagnole : 1. e4 e5 2. Cf3 Cc6 3. Fb5 a6 4. Fa4 Cf6 5. o-o Fe7 6. Te1 b5 7. Fb3 d6 8. c3 o-o 9. h3 Cb8 (le cavalier perd le contrôle des cases centrales e5 et d4) et par exemple, 10.d4 Cbd7 (le cavalier se redéploie). Note que le coup 9 … Cb8, non content de lâcher le centre, remet une pièce sur sa case de départ (un coup de dé-développement, en quelque sorte), ce qui contrevient d'un coup à deux conseils donnés aux débutants.

    la structure de pions

    Vaste sujet. Il est important de connaitre les principaux éléments de structure de pions et les conseils généralement applicables, mais ce qui est encore plus important, c'est de savoir accepter une structure de pions abîmée en échange d'un autre déséquilibre. Et les pions doublés ou pendants, par exemple, sont parfois bien plus forts qu'on ne pourrait le penser. D'autre part, la structure de pions à un moment donné peut être trompeuse : on peut permettre à l'adversaire de « réparer » sa structure de pions si on sait qu'on est en mesure de la casser à nouveau plus tard. Le sujet du pion dame isolé mérite un livre à lui seul, et d'ailleurs il l'a (Winning pawn structures, de Baburin).

    annoncer à l'avance des pièges possibles

    Le problème que je vois ici est que se laisser avoir par une simple fourchette est difficile à distinguer d'une autre grosse bourde, du genre déplacer sa dame vers une case où elle est en prise (sans compensation).

    parler des coups qui paraissent évidents mais qui sont mauvais

    Qu'est-ce qu'un coup qui parait évident ? La réponse dépend totalement de celui à qui on pose la question, et pas seulement de son niveau, ça dépend aussi de sa façon de voir le jeu. Les agressifs voudront qu'on réfute leurs sacrifices bidons, les placides ne verront pas l'attaque qui les supplie d'être jouée, etc. Je ne vois vraiment pas comment formaliser le critère « coup paraissant évident ».

    À mon avis, le problème est que tu cherches à faire évaluer par un ordinateur des critères que l'on donne aux humains pour les guider dans leur réflexion. Mais ces critères ne sont que cela, des guides. En réalité, ce qui compte vraiment, c'est de calculer des variantes, vite et bien. La centralisation, la structure de pions, l'espace, l'initiative, le contrôle d'un complexe de cases, la recherche d'une bonne case pour une pièce mineure, etc., peuvent — et doivent — guider dans le calcul des variantes, mais le cœur du jeu, c'est la tactique.

    • [^] # Re: ordinateur vs humain

      Posté par  (site web personnel) . Évalué à 3.

      En fait, cela revient à faire expliquer un arbre de recherche d'une IA d'échec. En gros, l'IA cherche dans le future à évaluer encore plus moins avec des heuristiques. On peut imaginer que, pour chaque coup que l'humain veut jouer, la machine lui montre les coups futures ayant un fort un impact sur le score (dans chaque sens donc). L'IA calcul les plateaux dans le futur, et essaye de noter un plateau à un moment donné avec quelques règles, c'est ces règles qu'il faudrait expliciter.

      Le sens "coup fort" dépend donc de comment sont codé ces heuristiques et si le programme est fort ou non.

      "La première sécurité est la liberté"

      • [^] # Re: ordinateur vs humain

        Posté par  . Évalué à 3.

        Non, c'est nettement plus difficile que ça. Expliquer pourquoi un coup est fort est relativement simple. Ce qui est évoqué ici, c'est expliquer pourquoi un coup qu'un débutant envisagerait est faible, en lien avec son processus de prise de décision (celui de l'humain). C'est beaucoup plus complexe, parce qu'en général, pour l'ordinateur, un coup est faible parce qu'il permet une variante qui conduit l'adversaire à une bonne position, rarement parce qu'il néglige un critère humainement compréhensible en particulier. Ce genre d'explication (écrire un coup suivi d'un point d'interrogation et commenter « néglige le centre », « perd l'initiative », ou quelque chose dans le genre) est typiquement du travail d'humain, et généralement simplifié pour que le lecteur ait l'impression de suivre le commentaire. D'ailleurs, les meilleurs commentateurs pour le grand public sont les bons pédagogues, pas forcément les plus forts joueurs.

        Commenter un coup faible nécessite donc de comprendre, dans une certaine mesure, comment l'humain réfléchit. Or il y en a difficilement deux qui réfléchissent de la même façon. Il y a ceux qui envisagent tout le temps des coups qui tendent des pièges grossiers sans faire progresser leur position, ceux qui ne pensent qu'à capturer tout le matériel adverse, ceux qui jettent toutes leurs pièces dans des attaques imaginaires… Il me parait nécessaire, pour expliquer pourquoi un coup est mauvais, de demander au joueur pourquoi il l'a choisi. C'est d'ailleurs l'approche de Jeremy Silman dans The amateur's mind. Et dès lors qu'on parle de comprendre, on est dans l'IA, et bien loin du minimax.

        • [^] # Re: ordinateur vs humain

          Posté par  (site web personnel) . Évalué à 3.

          Tu as l'air très fort en échec, mais je n'ai pas compris, si tu comprends comment fonctionne une IA d'échec (minmax). Ton commentaire est très confus à cause de ça.

          Pour une IA, un coup est faible, parce que, dans le futur de ce coup, l'adversaire a au moins "un" avantage par rapport à un autre coup du moment présent. Dans le cas de conseil, il faut que l'avantage soit conséquent pour que cela est un intérêt : perte d'une pièce sans contre parti, mat rapide, … mais cela peut aller plus loin, si l'IA dispose de règle de stratégie à respecter, comme tenir le centre.

          "La première sécurité est la liberté"

          • [^] # Re: ordinateur vs humain

            Posté par  . Évalué à 1.

            J'ai suivi la dose normale de cours d'IA à la fac, et j'ai eu droit au minimax et à alpha-bêta comme tout le monde. C'est sur cette base que je dis que le fonctionnement d'un logiciel d'échecs n'est pas adapté pour donner le type d'explication demandé.

            • [^] # Re: ordinateur vs humain

              Posté par  (site web personnel) . Évalué à 2.

              Le score du minmax et les cas qui définissent ce score est exactement le genre de conseil que tu veux remonter à l'utilisateur.

              "La première sécurité est la liberté"

              • [^] # Re: ordinateur vs humain

                Posté par  . Évalué à 1.

                C'est le genre d'informations qui intéressent les joueurs de haut niveau et qui sont parfaitement inexploitables pour un joueur de faible niveau, et tout cela a déjà été dit ici un nombre de fois largement supérieur à ce qui est raisonnable.

    • [^] # Re: ordinateur vs humain

      Posté par  . Évalué à 2.

      Tu as raison il est sans doute difficile d'expliquer le raisonnement d'une IA, mais peut être que ça n'empêche pas de faire un matching de l'évaluation d'une position par une IA avec une base de règles (heuristiques finalement) qu'un humain peut comprendre, et de ne rien dire sur les évaluations que la base de règle n'explique pas. Ça peut au moins guider le débutant.

      • [^] # Re: ordinateur vs humain

        Posté par  . Évalué à 1.

        Je vois difficilement comment ça pourrait donner quelque chose de pertinent. À titre d'exemple, considère le début de partie suivant (Spielmann - Walter, 1928) : 1.e4 c6 2.Cc3 d5 3.Cf3 Cf6 4.e5 Ce4 5.De2 Cxc3 6.dxc3 b6 7.Cd4 c5?

        À ce stade, un programme qui cherche à expliquer l'erreur des noirs avec les critères habituels des débutants va probablement critiquer le fait d'avoir joué un coup de pion alors que les pièces ne sont pas développées ; en revanche, il ne dira rien sur le centre puisque 7…c5 prend le contrôle de la case centrale d4, ni sur l'initiative puisque le pion menace un cavalier. Le même débutant sera donc bien surpris d'apprendre que le bon coup était 7…d6, encore un coup de pion, et qui plus est, qui ne menace rien – on lui avait pourtant dit de prendre l'initiative, non ? L'explication est tout simplement qu'il fallait absolument empêcher les blancs de jouer 8.e5!, un coup qui ne développe aucune pièce et qui laisse le cavalier en prise… C'est pourtant un exemple typique de partie que l'on montre aux débutants, un programme qui se respecte devrait donc le traiter correctement.

        • [^] # Re: ordinateur vs humain

          Posté par  . Évalué à 2.

          Bah une IA peut analyser un coup, éventuellement profondément comme elle le ferait pour jouer elle même, et en conséquence donner une évaluation bonne ou mauvaise. Si elle donne une bonne évaluation et que ça colle avec les heuristiques qu'on a en base et qu'on peut expliquer avec des mots, on donne ces explications. Si l'évaluation et mauvaise et que pareil, ça viole effectivement ces heuristiques, on l'explique. Si elle donne une bonne évaluation mais que ça viole beaucoup de règle, on sait pas expliquer, et inversement, alors on dit rien, c'est tout.

    • [^] # Re: ordinateur vs humain

      Posté par  . Évalué à 4.

      Tu oublies qu'il ne s'agit pas d'aider des bons joueurs, mais des "mauvais".

      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Re: ordinateur vs humain

        Posté par  . Évalué à 2.

        Je ne vois pas du tout en quoi j'oublie ça. J'essaie d'expliquer que le fonctionnement d'un logiciel d'échecs est très différent du raisonnement d'un débutant, ce qui rend la tâche demandée très difficile.

        • [^] # Re: ordinateur vs humain

          Posté par  . Évalué à 2.

          Je veux dire qu'un "mauvais" joueur a besoin de conseils simples. Pas de comprendre tout ce que fait l'IA.
          D'Autre part ne pas confondre "mauvais" et débutant.

          "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

          • [^] # Re: ordinateur vs humain

            Posté par  . Évalué à 1.

            Et j'ai expliqué en long, en large et en travers les raisons pour lesquelles une IA n'est pas du tout adaptée pour donner ce genre de conseils.

      • [^] # Re: ordinateur vs humain

        Posté par  . Évalué à 1.

        Ce n'est pas en mettant en avant les calculs de variantes (ce que font très bien les ordinateurs) que l'on fait un bon joueur. Le calcul est une chose mais comprendre la position que l'on a sur l'échiquier en est une autre.
        La phase de calcul pour le joueur d'échecs est le dernier maillon d'une chaîne dans le choix de son coup; il y a bien d'autres éléments échiquéen (et extra-échiquéen) à prendre en compte que les ordinateurs ne maîtrisent pas donc de là à aider un débutant à s’améliorer cela me parait difficilement envisageable.

        • [^] # Re: ordinateur vs humain

          Posté par  . Évalué à 1.

          Je ne suis pas du tout d'accord, et je suis loin d'être le seul (c'est notamment le propos de Yermolinsky dans The Road to Chess Improvement), mais ce n'est pas le sujet.

          • [^] # Re: ordinateur vs humain

            Posté par  . Évalué à 1.

            Donc si je comprends bien c'est: "apprend à calculer tes variantes et après on verra". Est-ce bien cela ?

            Ma manière de faire pour une position donné c'est:
            1. mon ressentit immédiat sur la position et éventuellement les premiers coups instinctifs (on va dire du "micro-calcul"),
            2. mon plan de base qui est fortement lié: à mon choix d'ouverture et à l'endroit ou je veux mener la position,
            3. après les grandes thématiques (La centralisation, la structure de pions, l'espace, l'initiative, …)
            4. ensuite je mouline tout cela et sélectionne quelques lignes à approfondir (2 ou 3 en moyenne),
            5. et la fin j'essaie de calculer réellement les conséquences de mes coups
            Toutefois cette phase de calcul à mon sens n'a pas lieu pour moi d'être la plus prépondérante de ma réflexion.
            Après ce que je constate assez c'est que ceux qui ont la fâcheuse tendance à vouloir calculer un peu trop à mon gout, c'est un retard à la pendule assez conséquent.

        • [^] # Re: ordinateur vs humain

          Posté par  (site web personnel) . Évalué à 2.

          C'est un peu bizarre comme raisonnement, sachant que les PC battent facilement un humain de nos jours.

          "La première sécurité est la liberté"

          • [^] # Re: ordinateur vs humain

            Posté par  . Évalué à 1.

            On ne se bat simplement pas avec les mêmes armes.
            Sur une position standard sans déséquilibre apparent avec de nombreuses pièces, on ne peut pas être exhaustif sur nos possibilité, les ordinateurs eux le peuvent.

            • [^] # Re: ordinateur vs humain

              Posté par  (site web personnel) . Évalué à 2.

              A moins d'être en fin de partie, les ordinateurs sont très loin de pouvoir être exhaustif.

              "La première sécurité est la liberté"

              • [^] # Re: ordinateur vs humain

                Posté par  . Évalué à 1.

                Je clarifie mon commentaire, les ordinateur sont exhaustifs sur une certaine profondeur de demi-coup donnée.

                Pour une réelle exhaustivité, je pense que tu fait se référence alors aux tables de Namilov et assimilé.

  • # IA != humain

    Posté par  . Évalué à 5.

    Une IA ne réfléchit pas de la même manière qu'un humain. L'IA contient certainement des heuristiques pour naviguer dans l'arbre des mouvements possibles (qui contient un nombre exponentiel de noeuds, un ordinateur n'a pas le temps de faire une recherche exhaustive, donc le brute force n'est pas possible pour un jeu d'échec).

    En gros, l'IA peut te dire : « j'ai choisi de faire ce mouvement, car après avoir analysé un million de mouvements possibles (avec une profondeur plus ou moins grande), celui-ci me paraissait le meilleur selon mon heuristique. »

    Donc, pour que l'ordinateur donne un feedback à l'utilisateur, il te faudra sans doute écrire d'autres algorithmes pour avoir une pensée plus proche de l'humain.

    • [^] # Re: IA != humain

      Posté par  . Évalué à -1. Dernière modification le 03 décembre 2013 à 10:07.

      Une chose qu'une IA ne fait pas et qu'un humain peut faire, c'est sacrifier des pions pour tenter de faire bouger l'adversaire comme on le souhaite.

      Différents humains auront différentes stratégies qu'ils adapteront au jeu.
      Certains feront des essais.

      Entre autre il ne faut pas espérer gagner avec une simple évaluation de nos mouvements contre une machine. De toutes façon cela m'étonnerait que la plupart jouent comme ça.

  • # coups évidents et mauvais

    Posté par  (site web personnel) . Évalué à 3.

    Un coup se révèle bon ou mauvais uniquement parce qu'en fin de variante, une pointe fait finalement basculer l'évaluation dans un sens ou un autre.

    Et il y a aussi "les coups invisibles aux échecs", comme en parle le livre de Afek et Neiman, discuté ici
    http://www.france-echecs.com/article.php?art=20091103114646200

    Les échecs, c'est de la stratégie (le bon plan dans cette position est de jouer …), en gardant toujours à l'esprit qu'une pointe tactique peut apparaitre sans prévenir.

    ウィズコロナ

    • [^] # Re: coups évidents et mauvais

      Posté par  (site web personnel) . Évalué à 3.

      Un coup se révèle bon ou mauvais uniquement parce qu'en fin de variante, une pointe fait finalement basculer l'évaluation dans un sens ou un autre.

      Une illustration, une variante secondaire de l'Alekhine (1 e4 Cf6 2 e5 Cd5)

      1 e4 Cf6
      2 e5 Cd5
      3 c4 Cb6
      4 c5 Cd5
      5 Fc4 e6
      6 Cc3 Cf4
      7 Dg4

      Faisons le bilan, les blancs ont 3 pièces développées, les noirs ont juste promené leur cavalier (5 coups sur 6, c'est très mal) et joué un pion. Mais le dernier coup des blancs est une erreur, après 7… Dh4 !, protégeant le cavalier, les noirs sont mieux. Suites possibles
      1) 8 DxDxh4 Cxg2+ 9 Rf1 Cxh4, les noirs ont un pion de plus
      2) 8 Df3 Cxg2+ 9 Dxg2 DxFc4

      Dans tous les cas, les noirs ont un pion de plus et les dames sont échangées.

      ウィズコロナ

  • # À propos d'échecs

    Posté par  (site web personnel) . Évalué à 2.

    À défaut d'avoir une IA humaine, que devient l'homme bionique, l'humain capable de réfléchir comme une IA ?

    Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.