J'utilise Arena GUI avec stockfish dans les jeux de moteurs. Je veux télécharger une base de table de 6 pièces, mais c'est juste beaucoup de travail (et peut-être inutile). Si je télécharge la base de table (syzygy), est-ce que stockfish fonctionne avec elle ou attend simplement que la planche ait 6 pièces, puis la base de table fait ses mouvements?
Voici ce que je veux dire plus en détail
Stockfish travaillant avec la base de table
Je suppose que j'ai le poste suivant:
(Remarque: actuellement, je ne parle pas des meilleurs mouvements, juste un exemple)
Stockfish consulte la base de table sur ce qui se passe après Qxd4 Rxd4 (sans continuer à évaluer le reste de la ligne). Si cette ligne gagne, elle y va.
Stockfish travaillant seul
Stockfish continue de jouer jusqu'à ce qu'il reste six pièces sur le plateau, puis la base de la table effectue les mouvements.
Lequel de ces événements a réellement lieu?
la source
Réponses:
Stockfish ne fait pas ça, ce n'est pas à ça que sert la base de table. En bref, la base de la table stimule la recherche du moteur bien avant que la position des six hommes n'atteigne le tableau.
Faisons un exercice, ajoutons 5 pièces au tableau. Maintenant, vous avez 10 pièces sur le plateau, et ce n'est pas quelque chose que vous pouvez trouver dans n'importe quelle base de table. Cependant, lors de la recherche du moteur chaque fois que Stockfish s'échange jusqu'à 6 pièces , il peut instantanément utiliser les informations de la base de table. Les informations sur la table donnent à Stockfish si la position est une victoire / une perte / un tirage sans jamais descendre à quelque chose comme 5 pièces. Par conséquent, la recherche est plus rapide et plus efficace.
ÉDITER:
Le code pertinent est https://github.com/official-stockfish/Stockfish/blob/master/src/search.cpp :
TB::Cardinality
est par défaut 6. Stockfish vérifie le nombre de pièces, s'il ne dépasse pas 6, il consulte les informations de la base de table. Sinon, recherche régulière.la source