Comment puis-je trouver de bons problèmes tactiques?
14
Supposons que vous ayez une base de données de nombreux jeux.
Comment feriez-vous pour trouver de bons problèmes tactiques? Je suppose que vous feriez une recherche jusqu'à ce qu'il y ait un endroit où le score a changé et qu'il n'y avait qu'un seul bon coup sur le coup précédent. Mais ce n'est pas toute l'histoire, parfois vous devez revenir en arrière de quelques mouvements pour trouver où la tactique a vraiment commencé.
Pour l'instant, les idées sur la façon de le faire manuellement sont bonnes (à l'aide d'un moteur d'analyse), mais l'automatisation de ce processus est l'idée.
Une approche pourrait être de passer par tous les mouvements d'un jeu de haut niveau, et si l'évaluation du moteur change considérablement, alors enregistrez la position pour une révision humaine.
Dans ce cas, "significativement" représente probablement un demi-pion ou plus, bien que vous puissiez également exiger qu'il s'agisse d'un pion complet pour des tactiques plus faciles.
Le raisonnement derrière seulement regarder des jeux de haut niveau est que le score ne changera vraiment de manière significative qu'avec une erreur. Les jeux de haut niveau n'auront pas de bévues évidentes (c'est-à-dire accrocher un morceau), donc les bévues seront probablement une tactique pas si évidente.
Ce ne sera pas parfait, mais cela pourrait obtenir des positions qui méritent d'être examinées "à la main".
Juste une note de plus - si vous permettez au moteur d'échecs de chercher à une profondeur suffisante (14-16 dans la plupart des positions devraient être bonnes) - alors vous n'aurez pas à vous soucier de manquer le début de la tactique. Les moteurs pourront voir la plupart des tactiques, même si elles sont compliquées.
Si vous voulez trouver des jeux extrêmement tactiques, commencez par regarder les joueurs extrêmement tactiques (Alekhine, Tal et Fischer et tout autre gars d'échecs fou que vous aimez).
Le deuxième meilleur serait les matchs entre tous les grands-maîtres, quel que soit le siècle auquel le jeu a été joué. Les tactiques d'échecs apparaissent presque toujours, même dans les parties les plus positionnelles.
Si vous voulez trouver des tactiques qui gagnent tôt, recherchez des miniatures (les jeux qui se terminent par une victoire, disons, en moins de 30 coups).
Il existe des sites qui permettent aux utilisateurs d'enregistrer des collections d'échecs ( chessgames.com en est un exemple, il y a quelques bons résultats si vous recherchez des tactiques ou des joueurs célèbres). Mais vous avez dit que vous avez une base de données dans laquelle vous souhaitez effectuer une recherche, donc cela pourrait ne pas vous intéresser.
N'impliquant pas non plus votre base de données d'échecs, vous pouvez trouver une grande variété de tactiques dans des livres écrits par des entraîneurs d'échecs ou dans des listes de lecture vidéo créées par des entraîneurs d'échecs (mon exemple préféré ici serait MatoJelic , mais il y en a beaucoup plus).
Si vous voulez trouver des jeux qui impliquent beaucoup de captures, recherchez le nombre d' xoccurrences (si vous avez une base de données avec des jeux dans PGN et que vous connaissez des expressions régulières, vous pouvez rechercher des occurrences de xmouvements consécutifs mais cela ne vous obtiendra pas assez de valeur pour l'effort, donc je ne recommanderais pas).
Ce que vous ne pouvez pas trouver, ce sont des tactiques qui sont évitées. Au moins, vous ne pouvez pas les trouver en regardant les mouvements du jeu seuls. Vous aurez besoin d'un humain pour dire si ...? , puis faites le pas, puis vérifiez avec un ordinateur.
Je suppose que j'aurais pu formuler ma question plus clairement, mais je voulais dire que je voulais retirer des positions spécifiques qui impliquent des tactiques de ma base de données, afin de les présenter comme des problèmes intéressants (il me semble que le chesstempo doit utiliser quelque chose comme ça pour trouver ses problèmes tactiques).
Eve Freeman
1
Je suppose que j'aurais pu formuler ma question plus clairement, mais je voulais dire que je voulais retirer des positions spécifiques qui impliquent des tactiques de ma base de données, afin de les présenter comme des problèmes intéressants (il me semble que ChessTempo doit utiliser quelque chose comme ça pour trouver ses problèmes tactiques).
Je fais juste du brainstorming ici, mais en tant que programmeur, je peux voir un moyen de le faire. Obtenez Stockfish et écrivez une application qui lui soumet la position. Sauvegardez les évals, et quand l'eval change de manière significative (quoi que cela signifie lol), enregistrez cette position en tant que FEN avec la "solution". J'ai la plupart du code pour faire le travail de grognement, je ne pense pas qu'il serait difficile d'écrire ceci. Je n’ai tout simplement pas l’intérêt de faire ça comme passe-temps.
Comment obtenez-vous les postes à soumettre à Stockfish? Pour cela, vous parcourez un fichier contenant de nombreux jeux au format PGN et générez le FEN pour chaque position de carte virtuelle. J'ai déjà écrit du code similaire en C # et Java.
J'ai fait un peu de travail sur ce sujet depuis que j'ai posé cette question: gist.neo4j.org/?6506717 :)
Eve Freeman
Agréable! Votre approche enregistre-t-elle chaque position FEN dans un jeu et l'utilise-t-elle comme base de données? Je ne pense pas que chessTempo va aussi loin, mais c'est une idée ambitieuse si c'est ce que vous faites. Je pense que ça va être extrêmement important avec de nombreux jeux. Mais si tout ce que vous voulez c'est extraire des problèmes tactiques pour présenter a`la ChessTempo, je ne pense pas que vous ayez besoin des requêtes.
ezaspi
Ce que je veux, en tant que joueur d'échecs, c'est quelque chose que votre travail pourrait résoudre. Nous voulons tous améliorer notre jeu. Si je peux alimenter tous mes jeux dans votre programme et le faire classer mes erreurs, je pourrais mieux comprendre où je dois m'améliorer. Chess.com suit votre historique des tactiques et fait quelque chose de similaire. Mais beaucoup de ses tactiques ne sont pas réalistes pour moi. Votre programme serait beaucoup plus personnel!
ezaspi
Encore une chose, si vous regardez CTART (google it, IMO la meilleure base de données de problèmes tactiques), vous constaterez que le développeur a pris les positions de vrais jeux. Il fait même référence aux jeux! Cependant, pour éviter le problème du droit d'auteur, il supprime un seul pion qui est sans conséquence pour le poste. Étant donné l'énorme quantité de jeux que CTArt possède, on peut comprendre que l'effort a été énorme. Obtenez une copie sur Amazon. :)
ezaspi
Cool. J'ai enregistré le domaine chessgraph.org, bien qu'il n'y ait encore rien. J'espère obtenir quelque chose où vous pouvez soumettre des PGN et faire analyser le jeu par stockfish, et connecter les jeux par leurs positions FEN. Nous verrons à quelle vitesse ça explose. :)
Je fais juste du brainstorming ici, mais en tant que programmeur, je peux voir un moyen de le faire. Obtenez Stockfish et écrivez une application qui lui soumet la position. Sauvegardez les évals, et quand l'eval change de manière significative (quoi que cela signifie lol), enregistrez cette position en tant que FEN avec la "solution". J'ai la plupart du code pour faire le travail de grognement, je ne pense pas qu'il serait difficile d'écrire ceci. Je n’ai tout simplement pas l’intérêt de faire ça comme passe-temps.
Comment obtenez-vous les postes à soumettre à Stockfish? Pour cela, vous parcourez un fichier contenant de nombreux jeux au format PGN et générez le FEN pour chaque position de carte virtuelle. J'ai déjà écrit du code similaire en C # et Java.
la source