Uso Arena GUI junto con stockfish en juegos de motor. Quiero descargar una base de tabla de 6 piezas, pero eso es solo mucho trabajo (y quizás innecesario). Si descargo la base de tabla (syzygy), ¿funciona stockfish con ella o simplemente espera a que el tablero tenga 6 piezas y luego la base de tabla realiza sus movimientos?
Esto es lo que quiero decir con más detalle.
Stockfish trabajando con la base de la mesa
Asumo que tengo la siguiente posición:
(Nota: actualmente no estoy hablando de los mejores movimientos, solo un ejemplo)
Stockfish consulta la tabla base sobre lo que sucede después de Qxd4 Rxd4 (sin continuar evaluando el resto de la línea). Si esta línea está ganando, va por ella.
Stockfish trabajando solo
Stockfish continúa jugando hasta que quedan seis piezas en el tablero, luego la base de la mesa hace los movimientos.
¿Cuál de estos realmente tiene lugar?
fuente
Respuestas:
Stockfish no hace eso, esa no es la base de la tabla. Brevemente, la base de tabla aumenta la búsqueda del motor mucho antes de que la posición de seis hombres llegue al tablero.
Hagamos un ejercicio, agreguemos al tablero 5 piezas. Ahora tiene 10 piezas en el tablero, y no es algo que pueda encontrar en cualquier base de tabla. Sin embargo, durante la búsqueda del motor cada vez que Stockfish cotiza a 6 piezas , puede usar instantáneamente la información de la tabla de base. La información de la base de tabla le da a Stockfish si la posición es una victoria / pérdida / empate sin tener que bajar a 5 piezas. Por lo tanto, la búsqueda es más rápida y más eficiente.
EDITAR:
El código relevante es https://github.com/official-stockfish/Stockfish/blob/master/src/search.cpp :
TB::Cardinality
es por defecto 6. Stockfish comprueba cuántas piezas, si no es más de 6, consulta la información de la base de la tabla. De lo contrario, búsqueda regular.fuente