Las bases de datos especializadas en el ajedrez
Bases de datos especializadas
Las búsquedas en bases de datos tradicionales se basan en el concepto de búsqueda exacta: la base de datos está dividida en registros, y estos registros deben tener datos comparables. Una consulta en la base devuelve los registros con los datos solicitados en la búsqueda. (Gonzalez et al., n.d.) La búsqueda en una base de datos de ajedrez consiste en proporcionar una posición que la base de datos ya tiene registrada, y, al realizar una búsqueda, puede devolver otra posición (movimiento). Estas bases, que mencionaremos más adelante, se denominan exactas, es decir, tienen respuestas precisas para las posiciones para las que han sido diseñadas. Esto es el resultado de años de estudio del juego, por lo que estas posiciones en dichas bases son parte de lo que sería el ajedrez resuelto (las mejores jugadas al 100%). Existen diferentes bases de datos especializadas, pero aquí hablaremos de las más utilizadas y relevantes.
Libro de aperturas
La apertura es la primera fase del juego, y se refiere al proceso de desarrollar las piezas para que entren en acción más rápidamente. La apertura suele representar las primeras 10-15 jugadas. Dada la complejidad del ajedrez, en esta fase existen una gran cantidad de jugadas posibles. Para entender qué es un libro de aperturas, es importante estar familiarizado con dos conceptos: la base de datos y el árbol de aperturas. La primera es un almacén donde se clasifican partidas de ajedrez con diferentes atributos. El segundo es un esquema estructurado que permite visualizar variantes y subvariantes de aperturas.
El funcionamiento de un libro de aperturas dentro de un motor de ajedrez consiste simplemente en consultar la base de datos para realizar la jugada establecida en este libro. Por lo tanto, un motor con un libro de aperturas puede responder automáticamente a cualquier posición en la fase inicial sin necesidad de usar algoritmos de búsqueda de jugadas, consumiendo pocos recursos computacionales.
Base de datos de finales
De manera sencilla, las tablebases (como se las conoce en inglés) son bases de datos completas que ofrecen respuestas perfectas para posiciones con un número determinado de piezas. Por ejemplo, unas tablas de finales de cinco piezas incluyen todas las posiciones posibles en esa configuración, y los programas que las interpretan pueden determinar instantáneamente el resultado de cualquier posición con dos reyes y tres piezas adicionales. (A. Silver, 2013).
Algunos ejemplos de las bases de datos de finales más importantes son:
Modelo Nalimov: Durante más de una década, el formato de referencia de las tablebases fue creado por Eugene Nalimov. Las primeras tablas para cinco piezas se publicaron a finales de 1998 y las de seis piezas se completaron en 2005. Representaron un avance significativo, ya que las tablas de cinco piezas ocupaban solo 7.1 GB. (Bases de finales Syzygy: rápidas y compactas | ChessBase, n.d.) Estas tablas siguen siendo muy utilizadas actualmente y pueden integrarse en programas comerciales como ChessBase. Se pueden adquirir comprándolas, generándolas o descargándolas de internet, preferiblemente en formato comprimido para ahorrar espacio.
Tablas Syzygy: Representaron un gran avance tecnológico. Desarrolladas por Ronald de Man y publicadas por primera vez en 2013, las tablas Syzygy consisten en dos conjuntos de archivos: uno almacena los resultados obtenidos (victoria, derrota o tablas) y el otro permite acceder a la base de datos. Su gran ventaja es que el conjunto de archivos para los finales de cinco piezas ocupa menos de 1 GB, unas siete veces menos que las tablas de Nalimov.
Tablas Lomonósov: Las investigaciones para desarrollar bases de datos de siete piezas se estimaban finalizadas en 2015, pero se completaron en 2013 en Rusia gracias a un superordenador llamado Lomonósov. Estas tablas ocupan 140 terabytes, pero se pueden consultar en línea sin necesidad de descargarlas. (Rodríguez Parra, n.d.)
A continuación, se mencionarán diferentes lenguajes de programación que pueden emplearse para realizar la parte práctica de este trabajo.