Ce n'est pas réel, imaginez cela.
Computer A
est un superordinateur. Il peut calculer 30 plis de profondeur en 20 secondes.
Computer B
est un superordinateur. Il peut calculer 15 plis de profondeur en 20 secondes.
Ils jouent les uns contre les autres aux échecs.
Ces 15 profondeurs comptent-elles vraiment? Je suppose que dans ces 15 profondeurs, il peut y avoir des milliards de milliards de moyens pour échapper à un échec et mat ou pour capturer une pièce importante. Bien sûr, en Computer A
sait plus. Mais Computer B
est capable de prédire l'avenir assez loin aussi, à mon avis, assez loin pour se défendre vraiment bien.
engines
calculation
ply
RikTelner
la source
la source
Réponses:
Oui, ces 15 profondeurs comptent beaucoup.
Considérez cette position qui s'est produite dans Immortal Game de Kasparov contre Topalov.
J'ai testé cette position avec plusieurs moteurs. Certains moteurs, à la profondeur 15, n'ont pas détecté que 24 ... cxd4 est un coup perdu et pensaient qu'il gagnait. Ces mêmes moteurs, à plus grande profondeur, ont joué le bon coup 24 ... Kb6!
Par exemple, même un moteur aussi puissant que Stockfish 4 initialement à la profondeur 21 pense que le coup perdu 24 ... cxd4 est correct.
Le même moteur, lorsqu'il reste allumé pour un peu plus de profondeur, affiche 24 ... Kb6 au bon mouvement.
Fritz 11 SE, en profondeur 15, a également échoué. Mais il a trouvé le bon mouvement à la profondeur 16!
Considérez également ce problème incroyable comme la position que j'ai trouvée ici .
Stockfish n'a pas pu trouver la ligne gagnante 1. Be2 +! jusqu'à la profondeur 31 et jusque-là, il pensait que c'était une mauvaise décision. Je démontre la victoire ici. Le fait est que les Noirs sont en zugswang à cause des menaces de partenaire et doivent soit abandonner la reine, soit déplacer le pion, ce qui permettrait aux Blancs de créer un pion passé et de gagner.
( 4 ... Qxe4 5. Nf6 + )
5. Nf4 Qg7 6. Nd3! Qxd4 7. c6! a5
( 7 ... Qxe4 8. Nf2 + Kf3 9. Nxe4 Kxe4 10. Kg2 Kd4 11. g4 hxg4 12. h5 Ke5 13. h6 Kf6 14. Kg3 Kg6 15. Kxg4 Kxh6 16. Kf5 Kg7 17. Ke6 Kf8 18. Kd7 Kf7 19. Kxc7 )
8. b5! a4 9. b6 cxb6 10. c7 Qxe4
( 10 ... Qc3 11. Nf2 # )
11. Nf2 + Kf3 12. Nxe4 1-0
Voici le journal du moteur de Stockfish 4. Comme vous pouvez le voir, il détecte que 1. Be2 + gagne, uniquement à la profondeur 31!
la source
La relation entre les gains de performances et la profondeur de recherche est en fait un domaine de recherche actif depuis assez longtemps dans les communautés de programmation d'échecs informatiques. Il y avait une théorie selon laquelle l'augmentation de la profondeur de recherche entraînait une diminution des retours de force ... cela semblait être vérifié dans les résultats expérimentaux.
De mon point de vue, il existe une base intuitive pour cela. Imaginez votre correspondance hypothétique entre deux superordinateurs, à partir de positions de base de table de fin de partie. La plupart des victoires forcées dans les bases de table se produisent à un horizon inférieur à (par exemple) 50 plis. La majorité des positions restantes sont tirées, seule une petite fraction décide de gagner à une profondeur plus élevée. Un ordinateur recherchant à 100 plis aurait un avantage limité par rapport à un ordinateur à 50 plis, car (comme vous le mentionnez) le programme le plus faible est capable de naviguer à travers presque toutes les lignes perdues, se produisant toutes à une profondeur plus limitée. Un programme à 50 plis aurait en fait un avantage beaucoup plus important qu'un programme à 25 plis ... tout comme un programme à 4 plis aurait un avantage encore plus grand par rapport à un programme à 2 plis.
J'ai découvert ce concept pour la première fois il y a environ 15 ans, dans la série d'articles sur la pensée noire , en expérimentant des recherches approfondies. Ce sont une excellente lecture si vous êtes intéressé par les échecs informatiques.
Bien que je n'aie pas trouvé de référence en ligne, il y a un article de l'année dernière sur ce sujet ...
Diogo R. Ferreira (2013). L'impact de la profondeur de recherche sur la force de jeu des échecs. Journal de l'ICGA, vol. 36, n ° 2
la source
La question est: voulez-vous dire 15/30 plis de recherche exhaustive, ou une profondeur / itération nominale de 15/30 d'un moteur d'échecs moderne comme Stockfish?
Si vous vouliez dire ce dernier, 15 plis ne signifie pas nécessairement beaucoup. Les moteurs d'échecs modernes taillent fortement et réduisent les mouvements qui sont censés être mauvais, il se peut donc qu'un sacrifice qui semble être mauvais à première vue, à une profondeur nominale / itération de 15 ne soit en fait recherché qu'à une profondeur de 5-10, par exemple. À la profondeur / itération 30, le mouvement n'est probablement encore recherché qu'à une profondeur réduite, mais il pourrait alors s'agir d'une profondeur effective de 15 à 20, ce qui pourrait être suffisant pour constater que le sacrifice est réellement bon, et dès que le moteur découvre que le mouvement est prometteur, il diminuera la réduction, de sorte que le mouvement est recherché à une profondeur plus proche de 30 plis (ou même plus profondément en raison des extensions et de la recherche de repos). Alors oui, je pense que cela peut faire une différence, même si la combinaison est dans l'horizon nominal de 15 plis.
Si vous faisiez référence à une recherche exhaustive, je pense qu'un moteur d'une profondeur de 15 serait très puissant à condition qu'il ait une bonne fonction d'évaluation et une sorte de recherche de repos (après les nœuds de sortie à la profondeur 15). En raison de rendements décroissants, je pense que le gain en doublant la profondeur serait beaucoup moins que ce que vous obtiendriez pour un match entre deux moteurs modernes avec une profondeur de 15 contre une profondeur de 30. Mais ce n'est bien sûr que théorique, car une recherche exhaustive pour la profondeur 15 prendrait plusieurs ordres de grandeur plus longtemps que ce que les moteurs prennent habituellement pour atteindre la profondeur / itération 15, de sorte qu'une telle expérience ne serait réalisable qu'à des profondeurs inférieures.
la source
FWIW Lorsque l'ARM était nouveau, j'ai écrit un programme de recherche exhaustif ARM optimisé avec une évaluation de la position du matériau uniquement après le pli 1.
J'ai utilisé des astuces avec un code machine optimisé, un approfondissement itératif, un fenêtrage alpha-bêta sur les mouvements triés (presque toutes les positions avaient une valeur 0, donc j'ai obtenu un élagage alpha-bêta presque optimal) - et des tables de hachage qui ont réduit le facteur de branche à beaucoup moins que le racine carrée théorique pour l'alpha-bêta, généralement autour de 4 dans la pire partie du jeu.
Lors d'un concours contre les programmes standard à l'époque, mon programme E6P a pris des positions terribles, mais avec une recherche supplémentaire ou deux plis par rapport aux logiciels professionnels à l'époque (c'est-à-dire généralement une recherche exhaustive à 6 plis + une recherche de repos au pire stade, avec jusqu'à 12 plis au fur et à mesure que le jeu se simplifiait), il n'arrêtait pas de perdre, malgré la confiance de ses adversaires. Presque tous les matchs ont été jugés après plusieurs heures car les programmes adverses n'ont pas pu gagner.
Plus tard, je l'ai optimisé pour StrongARM, où il est passé à 10 plis. Cette version pourrait facilement battre tous les joueurs qui ne sont pas des échecs, même si de toute évidence elle n'avait aucune connaissance de la stratégie, donc le fameux commentaire s'appliquait: oui, ce sont des mouvements d'échecs - mais ce ne sont pas des échecs!
C'était il y a quelques années, mais je suis tenté d'essayer à nouveau de manière exhaustive avec une évaluation de position plus stratégique au pli 1 - et avec un Intel XEON théoriquement 10 000 à 100 000 x plus rapide (et avec 30 000 fois plus de mémoire de table de hachage) qu'un 4 MIPS ARM2 Acorn Archimedes.
Certes, pas grand public, mais amusant à jouer.
la source
+1 pli est estimé + 55..70 gain ELO (beaucoup de recherches sur ce sujet)
Le fait est que tous ces «trillions» ont été calculés par A @ D = 30, et si A choisit de se déplacer avec une égalité gagnante, cela signifie qu'il a calculé tous ces «trillions» et peu importe lequel des «trillions» se déplace. gagne toujours
la source