La profondeur (nombre de plis) est-elle toujours importante une fois qu'elle est suffisamment élevée?


10

Ce n'est pas réel, imaginez cela.

Computer Aest un superordinateur. Il peut calculer 30 plis de profondeur en 20 secondes.

Computer Best 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 Asait plus. Mais Computer Best capable de prédire l'avenir assez loin aussi, à mon avis, assez loin pour se défendre vraiment bien.


Dans ce cas, par "profondeur", vous voulez dire le nombre de plis? À votre santé.
Rauan Sagit

Oui, je veux dire plis.
RikTelner

Réponses:


13

Oui, ces 15 profondeurs comptent beaucoup.

Considérez cette position qui s'est produite dans Immortal Game de Kasparov contre Topalov.

Kasparov - 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.

Stockfish DD 64 SSE4.2: 24...cxd4 25. Re7+ Kb6 26. Qxd4+ Kxa5 27. Qc3+ Kb6 
28. Qd4+ Qc5 29. Qxf6+ Bc6 30.Qxc6+ Qxc6 31. dxc6 Rd1+ 32. Ka2 f5 33. c7 Rc8 
34. Rxh7 Rxc7 35. Rh6 Rc6 36. g4 f4 37. g5 Rd2 38. c3 Rxc3 39. Rxg6+ Kc5 
40. Bg4 Rcc2 41. Rxa6 Rxb2+ 42. Ka1 Rbc2 43. Kb1 
(-1.45/21)

Le même moteur, lorsqu'il reste allumé pour un peu plus de profondeur, affiche 24 ... Kb6 au bon mouvement.

Stockfish DD 64 SSE4.2: 24...Kb6 25. b4 Qxf4 26. Rxf4 Nxd5 27. Rxf7 cxb4 
28. axb4 Rhe8 29. Rxe8 Rxe8 30. Nb3 Re1+ 31. Kb2 Re2 32. Rxh7 Nxb4 
33. Kc3 Nd5+ 34. Kd3 Rxh2 35. Rh4 Ne7 36. Nd4 Nc6 37. Nxc6 Bxc6 38. f4 Kc5 
39. Be6 Rxh4 40. gxh4 Bd5 41. f5 gxf5 42. Bxf5 a5
(-0.78/26)

Fritz 11 SE, en profondeur 15, a également échoué. Mais il a trouvé le bon mouvement à la profondeur 16!

Fritz 11 SE: 24... cxd4 25. Qxd4+ Qb6 26. Re7+ Nd7 27. Qe5 f6 28. Qc3 Qg1+ 
29. Ka2 Bxd5+ 30. Nb3 f5 31. Qc7+ Ka8 32. Rxd7 Rxd7 33. Qxd7 Bxf3 34. Qd6 Qa7  
(-1.44/15) 

Fritz 11 SE: 24... Kb6 25. b4 Qxf4 26. Rxf4 Nxd5 27. Rxf7 cxb4 28. axb4 Nxb4 
29. Nb3 Bd5 30. Rf6+ Nc6 31. Nd4 Rdf8 32. Rd6 Kc5 33. Rxc6+ Bxc6 34. Ne6+ Kd6 
35. Nxf8 
(-0.59/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.

NN - NN, 1-0
1. Be2 +! Kf5 2. Nd5! Qxe6 3. Bd3 + Kg4 4. Be4 !! Qh6
( 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!

Stockfish DD 64 SSE4.2: 1. Be2+ Kf5 2.Bc4 c6 3. Ne2 Qf6 4. Kg2 Kg4 5. Nf4 Qxd4 
6. Bd3 Qe3 7. Be2+ Kf5 8. Bf3 Qd2+ 9. Kh3 Qxb4 10. e7 Qe1 11. Ne2 Qf1+ 12. Kh2 Qf2+
13. Kh3 Qe3 (-1.05/22) 

Stockfish DD 64 SSE4.2: 1. Be2+ Kf5 2. Bc4 Qf6 3. Ne2 c6 4. Bxa6 Qxe6 5. Bd3+ Kf6 
6. Nf4 Qe1 7. d5 Qxb4 8. dxc6 Qxc5 9. Be4 Ke7 10. c7 Kd7 11. Nd5 Kd6 12. Kh3 Qc4 
13. Bg2 Qg4+ 14. Kh2 Qc8 15. Be4 (-1.15/26) 

Stockfish DD 64 SSE4.2: 1. Be2+ Kf5 2. Bc4 Qf6 3. Ne2 c6 4. d5 cxd5 5. Bxd5 Qb2 
6. Bc4 Kf6 (-1.01/28) 

Stockfish DD 64 SSE4.2:  1. Be2+ Kf5 2. Nd5 Qxe6 3. Bd3+ Kg4 4. Be4 Qh6 5. Nf4 Qf6 
6. Nd3 Qxd4 7. c6 Qxe4 8. Nf2+ Kf3 9. Nxe4 Kxe4 10. Kg2 Ke5 11. Kf3 Kf5 12. g4+ Kf6
13. gxh5 Kg7 14. Kf4 Kf6 15. h6 Kg6 16. h5+ Kh7 17. Kg5 Kg8 18. h7+ Kxh7 19. Kf5 Kg7
20. Ke6 Kh6 21. Kd7 Kxh5 22. Kxc7 Kg5 23. Kd7 (6.06/31) 

Mais je veux dire 15 coups à chaque coup. Pas seulement au début.
RikTelner

4
Oui, à chaque mouvement. Si, au premier coup, il calcule à la profondeur 15 et fait une erreur, alors le calcul de 15 profondeurs à chaque coup suivant ne le sauvera pas.
Wes

5

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


2

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.


0

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.


-2

+1 pli est estimé + 55..70 gain ELO (beaucoup de recherches sur ce sujet)

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.

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


Bienvenue dans la discussion. Avez-vous quelque chose pour prouver votre déclaration? Je ne pense pas qu'il y ait de relation concrète.
SmallChess
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.