Desde hace años Stockfish reina como el mejor motor de ajedrez por computadora, con unas capacidades que lo sitúan, por lo general, un paso más allá que a los campeones humanos. Pero la nueva versión 12 del software está enseñando al mundo que la inteligencia artificial tiene mucho que decir sobre cómo mejorar este tipo de software estratégico y táctico.
Stockfish lo han desarrollado como código libre una comunidad de programadores y ajedrecistas desde hace más de una década; de hecho, la primera versión data de 2008. Es un motor de ajedrez tradicionalmente imbatible por su capacidad de cálculo mediante “fuerza bruta” al funcionar por medio de paralelismo (varias CPUs a la vez) y tablas de transposición (finales pre-calculados de varias piezas) de hasta 32 terabytes, una cantidad gigantesca. Además de eso, es característico su fino análisis de las posiciones, que le proporcionan una buena valoración en las partidas difíciles.
Todo esto, combinado con la «profundidad» con la que es capaz de ver lo que sucederá 20, 30, 40 o más jugadas en el futuro –incluso en ordenadores más o menos modestos– y las habituales bibliotecas de aperturas hacen que sea una tarea prácticamente imposible derrotarlo. Han sido famosos sus análisis de las partidas de grandes maestros en las que ha encontrado soluciones alternativas ganadoras, como un increíble «mate en 36» en un match entre Carlsen y Caruana. Aun así, Stockfish padece de alguno de los problemas de evaluación en sus algoritmos, cuestiones que resultan casi triviales para los humanos.
Pero con el recién publicado Stockfish 12 la cosa puede cambiar notablemente. Esta nueva versión incorpora una red neuronal actualizable eficientemente (NNUE, Efficiently Updatable Neural Network) que le confiere nuevas capacidades. Esta función propia del campo de la inteligencia artificial puede activarse o desactivarse para apoyar al análisis tradicional. Los resultados han sido tan espectaculares que ya va «activada por omisión», de modo que todos los programas de ajedrez que utilicen el motor de Stockfish pueden beneficiarse de ella. Es como cambiarle el peinado y que tenga «otra forma mejor de pensar».
En las pruebas de evaluación, Stockfish 12 gana unas diez veces más partidas a su predecesor Stockfish 11 de las que pierde. También resuelve problemas complejos entre 5 y 10 veces más rápido sobre la misma CPU. La mejora del nivel de juego se ha calculado en unos 130 puntos Elo, que es la forma en que se mide la habilidad relativa de los jugadores del ajedrez (similar al ránking ATP del tenis). Para hacernos una idea, entre el primer y segundo campeón del ránking mundial humano apenas hay 50 puntos de diferencia.
Curiosamente, al tener que evaluar las situaciones de forma más compleja, la «velocidad neta» de este Stockfish es menor: unos 50 millones de posiciones por segundo frente a los 100 millones de su predecesor (nota: dependiendo de la potencia del hardware, claro). Sin embargo, la evaluación de esas posiciones es mucho mejor, lo cual compensa de sobra la limitación, porque evita seguir caminos del juego que no llevan a ninguna parte.
Aunque los algoritmos de este tipo, con el entrenamiento de una red neuronal son complejos, los resultados son espectaculares, igual que suceden en otras áreas de la computación como son la visión artificial, el reconocimiento del lenguaje natural, etcétera. Además, los expertos coinciden en que en el caso de Stockfish no sólo el resultado es «más poderoso», sino que además le proporciona un «estilo de juego» fresco y original, diferente al del ajedrez por ordenador tradicional.