Explicación
Las reducciones de movimientos tardíos, conocidas como LMR por Late Move Reductions, aprovechan el orden de movimientos. Un usa heurísticas, es decir, reglas prácticas y estadísticas acumuladas, para analizar primero las opciones que parecen prometedoras.
Secuencia básica
- El motor analiza antes los movimientos mejor ordenados y establece una referencia provisional.
- Un movimiento tranquilo, normalmente una jugada que no captura ni da jaque, situado mucho más tarde en la lista se prueba inicialmente con una profundidad reducida.
- Si esa prueba devuelve un resultado sorprendentemente bueno y rebasa el límite de puntuación que la búsqueda está usando, la rama se vuelve a buscar con mayor profundidad.
Reducción no significa eliminación. La verificación más profunda es esencial porque una jugada fuerte puede haber sido ordenada mal. La cantidad reducida depende de factores como la profundidad restante, el lugar del movimiento en la lista, si da jaque, si captura, si pertenece a la variante principal, la secuencia que la búsqueda considera mejor, y el historial de movimientos parecidos.
Las implementaciones modernas ajustan muchas de estas condiciones. Una reducción demasiado agresiva ahorra tiempo, pero puede pasar por alto una jugada tranquila fuerte o agravar errores relacionados con el .
Uso y contexto
LMR es una técnica selectiva: distribuye el esfuerzo de búsqueda de manera desigual en vez de aplicar el mismo límite a todas las ramas.
Confusiones frecuentes
Reducción y poda
LMR busca la rama a menor profundidad y puede volver a buscarla; podar significa omitirla por completo bajo una condición.
Movimiento tardío y jugada tardía de la partida
Tardío se refiere a su lugar en el orden de análisis dentro de un nodo, no a que ocurra cerca del final de la partida.
Fuentes
- 1.Late Move Reductions, Chess Programming Wiki
- 2.search.cpp, Stockfish
