Existe-t-il un moteur d'échecs doté d'un mode d'analyse qui peut indiquer si une position est un tirage forcé de chaque côté?
Il est courant que les moteurs produisent des évaluations de 0,0 lorsqu'ils détectent un tirage. Mais une évaluation de 0,0 peut signifier beaucoup de choses. Par exemple, en supposant qu'il est blanc pour se déplacer, une évaluation de 0,0 peut signifier:
- Le jeu est certainement un match nul quelle que soit la façon dont l'un ou l'autre joueur joue (par exemple, un matériel insuffisant).
- Les deux joueurs peuvent forcer un match nul. Aucun joueur ne peut espérer gagner si son adversaire joue parfaitement.
- Peu importe le mouvement des blancs, l'ordinateur est sûr à 100% que le noir peut forcer un tirage s'il le souhaite. Les blancs ne peuvent pas espérer gagner si les noirs jouent parfaitement. Un match nul est le résultat le plus probable, mais une recherche plus approfondie pourrait montrer que le noir peut forcer une victoire.
- L'ordinateur est sûr à 100% que le blanc peut forcer un tirage s'il le souhaite. Les noirs ne peuvent pas espérer gagner si les blancs jouent parfaitement. Un match nul est le résultat le plus probable, mais une recherche plus approfondie pourrait montrer que les blancs peuvent forcer une victoire.
- L'ordinateur n'a pas trouvé de tirage forcé pour l'un ou l'autre côté, mais l'évaluation jusqu'à présent est exactement de niveau. Un match nul est le résultat le plus probable, mais une recherche plus approfondie peut plus tard montrer un avantage pour un côté.
Juste pour donner un exemple de quand cela pourrait être utile, si les blancs n'ont pas besoin de gagner et veulent juste être aussi sûrs que possible d'obtenir un match nul, ils pourraient préférer jouer un coup avec une évaluation +0.0 et un tirage forcé connu même si un autre mouvement avec une évaluation plus élevée est disponible.
Un autre exemple est que si vous avez besoin d' une victoire (c'est-à-dire qu'un match nul est aussi mauvais qu'une perte), vous voudrez peut-être jouer un coup avec une légère évaluation négative pour éviter de donner à votre adversaire la possibilité de forcer un match nul. Même si cela augmente vos chances de perdre, cela augmente également vos chances de gagner.
Évidemment, il y a des positions où il est difficile, voire impossible, de savoir si un tirage forcé est disponible ou non. Mais si le moteur annonce un tirage forcé, il doit être possible de forcer un tirage. Les faux négatifs sont acceptables mais il ne devrait pas y avoir de faux positifs.
Donc en résumé, j'aimerais savoir pour une position spécifique si un (ou les deux joueurs) ont un tirage forcé à leur disposition. Le calcul de l'évaluation numérique de la position n'est pas nécessaire, mais s'il fournit également cela en même temps, c'est un bonus.
Réponses:
La réponse courte à votre question est non , il n'y a pas de moteur d'échecs qui puisse montrer de manière fiable si un côté a un tirage forcé. Par exemple, cette position verrouillée est clairement un attrait pour l'œil humain:
Cependant, notez que l'évaluation est de 0,17 et non de 0,00 . Houdini donne également 0,05 - très légèrement bon pour le blanc. C'est très important. Cela suggère que l'évaluation de 0,00 est réservée par ces programmes pour une raison spécifique, et c'est effectivement le cas. Fondamentalement, même dans une position «égale», l'ordinateur ne dira jamais que le score est de 0,00 , mais il donnera un bord minute à l'un ou l'autre côté.
Alors avec ce fond, passons aux détails! Premièrement, si le jeu est juste un match nul en raison de la position (c.-à-d. Impasse, matériel insuffisant, etc.), la plupart des GUI afficheront un message qui dit "Game Drawn", ou quelque chose dans ce sens. Cela laisse les cas les plus compliqués que vous avez mentionnés dans votre question. Afin de couvrir la plupart d'entre eux, je vais introduire une autre position. Ceci est tiré de Morphy-NN 1-0, New Orleans Blindfold Simul:
Notez que Morphy a actuellement un compagnon en 6 commençant par
18.b4+!
. Cependant, si Morphy a raté d'une manière ou d'une autre que c'était un compagnon, il avait toujours un tirage forcé par répétition, ce que l'ordinateur voit rapidement. En augmentant le nombre de variations que l'ordinateur affiche, il est possible de voir qu'après que le blanc a joué un coup18.Qxc3+?
, le blanc peut toujours forcer un tirage, même s'il est en baisse d'une tour et d'un morceau. L'évaluation de 0,00 nous indique à nouveau qu'il s'agit d'une position particulière dans la mesure où l'ordinateur peut calculer un contrôle perpétuel. Si les mouvements18.Qxc3+? Kxd5
sont effectués sur le plateau, l'évaluation sera alors de 0,00 , indiquant que la meilleure continuation du blanc est de forcer un nul. Ne pas le faire entraînera la perte du jeu avec le meilleur jeu.Donc, pour résumer, aucun moteur existant ne peut dire avec une certitude exacte qu'une position est nulle. Cependant, l'évaluation de 0,00 est spéciale, et si cela apparaît soit comme le score principal, soit comme le score d'une variation, cela signifie qu'un tirage est probablement forcé sur cette ligne spécifique. La façon la plus simple de vérifier est appelée de manière ludique "analyse de la barre d'espace" - lorsque l'utilisateur frappe la barre d'espace encore et encore pour forcer l'ordinateur à jouer le coup recommandé. Finalement, vous arriverez à une position qui est évidente pour l'homme et la machine.
Et enfin, pour répondre à votre point sur le «mépris»
Ceci est tout simplement appelé mépris chez les programmeurs d'échecs. La plupart des moteurs vous permettront de définir le niveau de mépris dans les paramètres. Un réglage de mépris positif (100 est généralement un niveau raisonnable pour l'analyse) indiquera au moteur d'essayer assez fort (la valeur d'un pion) pour éviter un match nul. Un réglage négatif amènera le moteur à rechercher un tirage forcé (c'est-à-dire un matériau insuffisant, une impasse ou perpétuel).
la source
Tout comme les moteurs peuvent, à certains moments, voir un compagnon forcé s'écarter d'un certain nombre de mouvements, car il y a suffisamment de lignes pour que le moteur puisse tout voir parfaitement dans la profondeur restante jusqu'au compagnon, il y a aussi des jonctions dans les parties d'échecs qui permettraient moteur pour voir un tirage forcé pour la même raison d'être en mesure d'examiner complètement les possibilités limitées en jeu.
De plus, il serait facile de modifier la fonction d'évaluation d'un moteur afin de le faire rechercher et préférer les mouvements qui conduisent à de tels tirages forcés: tout comme la réalisation de la contrainte est généralement donnée une valeur énorme qui éclipse tous les autres facteurs numériques que l'algorithme d'évaluation du moteur considère que pour guider le jeu du moteur vers l'objectif ultime, on pourrait plutôt donner une valeur numérique si énorme à la réalisation d'un des types de tirages que j'ai en tête.
Par exemple, évaluez automatiquement toute position dans laquelle l'adversaire n'a pas suffisamment de matériel pour s'accoupler avec +1000000. Ensuite, si le moteur se retrouve avec l'option de forcer autant de matériel de l'adversaire, il vous le fera savoir. De plus, ajustez l'algorithme d'évaluation pour évaluer toute répétition triple comme +1000000 au lieu du 0 habituel. Ensuite, s'il y a une répétition forcée (comme dans un scénario de vérification perpétuelle), le moteur l'aimera et vous en informera . De même, donnez +1000000 si l'on peut atteindre de force un tirage de base de table.
Vous pouvez également vous assurer que le moteur ne donnera ces évaluations que lorsqu'il y aura une certitude totale que les tirages sont vraiment forcés (car l'arbre entre ici et là a pu être entièrement vérifié), tout comme avec un moteur qui n'annonce pas de partenaire à moins qu'il ne est sûr. Ainsi, vous n'obtiendrez aucun faux positif, bien qu'il y ait bien sûr beaucoup de faux négatifs, que vous autorisez sensiblement / nécessairement dans votre question.
la source