¡Por fin! Después de más de 13 años, me he decidido a cambiar mi viejo ordenador, que adquirí en el verano de 2009 (tal como en aquel momento expliqué en el artículo «¡PC nuevo! (2009)»). Y no hablo de un portátil o laptop (para el trabajo ya tengo uno…), sino de mi PC de sobremesa, porque, aunque cada vez quedamos menos, yo sigo siendo “de los de PC”. Muchos pensarán que ya está bien, 13 años con el mismo equipo. Bueno, no es del todo cierto. Hace mucho tiempo le cambié la tarjeta gráfica, y después, prácticamente cuando empezaron a bajar un poco de precio, le instalé una unidad SSD, lo que prácticamente fue como darle una nueva vida (si alguien todavía tiene en su ordenador un disco duro en vez de una SSD, le recomiendo que la instale ya mismo…). Si no fuera porque mi “viejo” PC tan sólo tiene 6 GB de RAM y es difícil (y caro) encontrarla de segunda mano, podía aguantar unos años más de haberla ampliado. Téngase en cuenta que hablamos de un Intel Core i7-920 2,66 GHz con 4 núcleos, y que todavía actualmente hay muchos portátiles de gama media o baja que no llegan a ese nivel, aunque sí es verdad que los micros actuales tienen una arquitectura, obviamente, mucho más moderna y avanzada.
AMD Ryzen 9 5900X
Cuando hablamos de un PC, normalmente lo solemos identificar por su elemento principal y prácticamente responsable directo de que las cosas vayan más o menos rápidas, aunque desde hace años las unidades SSD tienen que decir mucho en este sentido. Es por ello que si alguien me pregunta, le contestaría que me compré un “AMD Ryzen 9 5900X”, claro que, si no sabe de microprocesadores, lo normal es que me mire con cara de escepticismo y me pregunte qué es eso… Así que tendría que darle algún detalle más, tal como que es un micro bastante potente de 12 núcleos, que instalé 32 GB de RAM, etc.
Habrá gente que se pregunte que para qué quiero un PC pudiendo tener un portátil. Todo tiene sus pros y sus contras, y la principal ventaja del portátil es la movilidad y lo poco que ocupa. Claro que no se puede trabajar en un portátil muchas horas si no dispones de un monitor, teclado y ratón conectados a él, que es la forma en la que yo (y mucha gente) “teletrabaja” desde casa. Por otra parte, un portátil no puede tener la potencia de un PC, pues, como ya comenté en mi último artículo sobre “Ajedrez y ordenadores”, la capacidad de un microprocesador está íntimamente ligada con la disipación de calor, por lo que los micros más potentes para PC necesitan enormes disipadores de calor y ventiladores (o bien sistemas de refrigeración líquida), mientras que en los portátiles apenas cabe un ventilador de unos pocos milímetros de altura colocado encima del microprocesador. Para muestra, ésta es una imagen del Noctua NH-D15 de mi nuevo ordenador, que tiene 16,5 cm de altura, integra 2 bloques de radiador con 2 ventiladores y pesa casi 1 Kg.
Como un PC no se compone solamente del microprocesador, podéis ver todos los elementos del mismo en el Configurador de PC Componentes, aunque no con el mismo precio. Podemos decir que me ahorré unos 100€ en el “Black Friday” del viernes día 25 de noviembre.
Como no sé cuánto tiempo estará activo ese enlace, grosso modo podemos decir que se trata de un PC con un micro de 12 núcleos a 3,7 GHz, capaz de desdoblarse en 24 hilos de proceso, montado en una placa base de la marca MSI, con el mencionado refrigerador Noctua, acompañado de 32 GB de RAM, una unidad SSD de 500 GB insertada en el zócalo M.2 de la propia placa base (luego le añadí el resto de unidades y discos duros con datos que tenía en el viejo PC), una tarjeta gráfica GeForce RTX 2060 con 6 GB de RAM, y una fuente de alimentación marca Gigabyte de 750W, todo ello dentro de una caja marca NOX con un lateral de cristal templado, que tiene 21 cm de ancho para que quepa el disipador (también le añadí 3 ventiladores adicionales, 2 en el frontal de la caja para introducir aire frío, y el tercero en la parte superior para, junto con el que viene de serie en la parte trasera, extraer el aire caliente).
Primeros análisis de partidas
La mejor forma de hacerse una idea de la potencia de este micro, es compararlo con mi “viejo” Intel Core i7. Cuando lo adquirí en el año 2009, había escrito este otro artículo de “Primeras pruebas Intel Core i7-920”, donde analizaba una posición de un final Kótov-Botvínnik que todavía ponía en apuros a los módulos:
FEN: 8/8/4b1p1/2Bp3p/5P1P/1pK1Pk2/8/8 b – – 0 1
(Basta con copiar y pegar la notación FEN en cualquier programa de ajedrez para poder revisar la posición)
Tal como comenté en su día, la posición era especialmente difícil para los motores de entonces, un final de alfiles de distinto color que implica el sacrificio de peones y ser capaz de alcanzar a ver la coronación calculando unas cuantas jugadas de profundidad.
En aquel momento existían muchos módulos que no encontraban la solución, o bien no daban la ventaja suficiente para deducir que la habían encontrado, o bien tardaban demasiado tiempo. En la tabla podemos ver que en 2009 existía una todavía joven versión 1.4 de Stockfish, que ni siquiera encontró la forma de ganar, indicando 1…Rg4 -1.71 tras nada menos que 8 minutos, a 7700 KN/s (es decir, 7,7 millones de nodos por segundo), con tan solo 28 plies o medias jugadas de profundidad (es decir unas 14 jugadas). Prácticamente el único motor capaz de encontrar las 2 jugadas correctas y con una valoración claramente ganadora fue Rybka 3.
Sobre el número de nodos, ya comenté en el artículo anterior que actualmente Stockfish incorpora la tecnología NNUE de redes neuronales, lo que hace que juegue mejor, pero también que el programa ocupe más, sea más lento y analice menos nodos por segundo. Es por ello que en el nuevo AMD he realizado 2 pruebas con Stockfish, una con la versión 11 de 2020 sin NNUE (la última que no incorporaba esta tecnología), y otra con la reciente 15.1, en ambos casos utilizando solamente 12 hilos de proceso (recordemos que el AMD Ryzen 9 5900X tiene 24 hilos, pero prefiero no calentarlo demasiado y poder hacer otras cosas a la vez con él). Ambas versiones de Stockfish encuentran la solución, y además prácticamente de forma instantánea, aunque los dejé unos 3 minutos para que se estabilizara la valoración. Los resultados:
Módulo | Jugada | Valoración | KN/s | Profundidad (ply) |
---|---|---|---|---|
Stockfish 11 | 1…d4+!! | -+11.87 | 65322 | 34/58 |
1…g5!! | -+11.11 | |||
Stockfish 15.1 | 1…d4+!! | -+12.45 | 28083 | 31/55 |
1…g5!! | -+12.07 |
Es brutal la potencia del AMD Ryzen 9 5900X con la versión 11 de Stockfish: ¡¡¡más de 65 millones de nodos por segundo!!! Obsérvese la diferencia, no digamos nada con los análisis de 2009, sino incluso entre ambas versiones de Stockfish, de forma que la versión NNUE analiza menos de la mitad de nodos y con algo menos de profundidad. Es como decir que integra “más conocimiento ajedrecístico» (el de la red neuronal), y que por tanto (salvando las distancias con los humanos), necesita analizar menos para llegar a las mismas conclusiones.
Os dejo los análisis realizados con Stockfish 15.1:
Aunque después de esto mi nuevo micro pueda parecer una bestia analizando, que realmente lo es comparado con el viejo Intel Core i7, cabe recordar lo que también comenté en mi artículo anterior, en lo que se refiere al análisis en la “Nube de módulos de ChessBase” (“Engine Cloud”), es decir, lo que se llama un “array” o “cluster” de ordenadores. Esta imagen me la envió hace tiempo por Facebook Pablo Argüelles (alias “El Capa”):
Como se puede apreciar, ¡¡¡analizaba con 256 núcleos y 323 millones de nodos por segundo!!! Esto da una idea de la enorme complejidad del ajedrez, y de que todavía estamos lejos de que, ni siquiera con el hardware y los módulos más potentes, veamos una partida absolutamente perfecta…
Algunos ejemplos complejos
Vista la imagen anterior, está claro que mi nuevo AMD está lejos de resolver cualquier problema de ajedrez, pero también es cierto que habrá pocos que se le resistan, aunque su objetivo principal no sea ése, sino poder analizar partidas obteniendo una valoración lo más fiable posible en un tiempo prudencial. Veamos algunos ejemplos.
Ejemplo 1
En primer lugar, un problema que puede parecer sacado de una partida real, pero que en cuanto se mira dos veces se ve que se trata de un estudio. Fue compuesto por el maestro ruso-ucraniano Mikhail Zinar, y premiado en 2017 en el 50 Jubileo de Selivanov (que no sé si se trata de una ciudad rusa o de algún famoso personaje ruso, tal vez a Andréi Selivanov, un general ruso que falleció en 1917, pero creo que realmente se refiere al compositor de problemas Andrey Selivanov, que precisamente cumplió 50 años en julio de 2017).
Como podemos ver en los análisis, Stockfish en el AMD no tiene mayores problemas para encontrar el mate en 12 jugadas. Hay que reconocer que la forma en que las blancas entregan prácticamente todos sus peones resulta realmente artística.
Ejemplo 2
En 2020 y 2021 analicé el siguiente final, un mate en 13 jugadas que ni Stockfish 11 (sin NNUE) ni la versión 12 (con NNUE) eran capaces de encontrar en mi antiguo Intel Core i7, fundamentalmente porque no daban con la jugada clave 2.Ac7!! Se trata de un final de 1975 del compositor checo Mario Matouš. Pues resulta que ¡mi nuevo AMD tampoco lo consigue!, al menos tras media hora y profundidad 75 plies. Consultando en Internet, parece que los módulos lo encuentran dejándolos mucho tiempo analizando hasta llegar ¡a profundidad 98!
En mi opinión, esto es un claro “bug” de la función de evaluación de Stockfish, ya que el mate en 13 lo deberían encontrar a profundidad 26. El algoritmo de poda de variantes “malas” parece descartar la jugada 2.Ac7 porque las blancas quedan con un gran déficit de material, y no vuelve a analizarla seguramente hasta que ya no le queda nada por mirar en otras ramas del árbol de búsqueda.
El único módulo de los que probé que encontró el mate en la posición inicial, y además, como era de esperar, en pocos segundos, fue Komodo Dragón 3.1, que está claro que tiene una función de poda del árbol de búsqueda totalmente distinta a la de Stockfish. Esto demuestra que los módulos todavía no son perfectos, y que una buena idea es analizar una partida por ejemplo con Stockfish, y después darle un repaso rápido con Komodo por si se nos ha escapado algo…
Ejemplo 3
Este otro final, denominado “El Caballo de Troya”, tiene su miga, ya que el sacrificio directo de Caballo no consigue nada. No es nada fácil ver (aunque se entiende perfectamente si te lo explican…) que hay que llevar el Caballo a la casilla ‘a4’, después dejar al Rey negro en “zugzwang” para que el Caballo pueda penetrar en la retaguardia enemiga, seguido de otro largo retroceso que permite alcanzar la casilla clave f5, atacando ‘h6’ y capturando los peones ‘c5’ y ‘b4’ tras Cd6-b7. Se necesitan 30 jugadas (es decir, 60 plies del módulo) para llegar a ver 30.Cxc5, lo cual era inalcanzable en el Intel Core i7, pero para el AMD Ryzen 9 es casi “coser y cantar”.
Stockfish 15.1 en el AMD inicialmente da una valoración de +0.85, viendo que la pieza de ventaja no es suficiente para ganar. Pero tras algo más de un minuto encuentra la línea ganadora, con +-6.60 a profundidad 66/91 (analizando nada menos que unos 45 millones de nodos por segundo, debido a que todos los peones están bloqueados y esto reduce enormemente en número de movimientos válidos). Dejándolo unos 3 minutos analizando, da +-13.27 a profundidad 73/94.
Ejemplo 4
En mi artículo sobre las Tablas de Finales, teníamos este ejemplo de un final de tablas teóricas, y que en realidad es muy sencillo para cualquier humano.
Por lógica, el negro sólo tiene que mover su rey entre ‘b8’ y ‘c7’ para entablar, ya que si el rey blanco se acerca lo dejará ahogado.
Sin embargo, en el Intel Core i7 vimos que Stockfish 12 daba +-4.44 dejándolo analizar unos cuantos minutos hasta profundidad 46/87 (es decir, entre 23 y 43 jugadas). En el nuevo AMD Ryzen con Stockfish 15.1, desactivando las Tablebases, inicialmente da +2.45, al cabo de medio minuto baja a +1.38, y después se estabiliza en +1.18. Tras aproximadamente 3 o 4 minutos se queda en esa valoración a profundidad 42/72 (34310 KN/s). No es que sea una valoración muy alta, y ni siquiera es ganadora, pero, sinceramente, esperaba que diera un 0.00 como una casa.
Además, en este caso he probado también con el “viejo” Stockfish 11 (sin NNUE), que rápidamente da +-7,41 a profundidad 54/101, analizando más de 57 millones de nodos por segundo. Sin embargo, ahí se queda, lo que demuestra que Stockfish 15.1 con NNUE juega y sabe valorar determinadas posiciones mejor que las versiones sin NNUE.
Ejemplo 5
Para finalizar, también en mi artículo de las Tablas de Finales teníamos este otro final de ¡mate en 57 jugadas!, compuesto por Kling y Horwitz en 1851.
Stockfish 15.1 inicialmente tan sólo da +0.80 a profundidad 46/70 (33915 KN/s), luego aumenta ligeramente la valoración a +1.01 a 60/87, pero a partir de ahí ya no es capaz de profundizar lo suficiente, llegando a +1.16 a 64/99 aproximadamente al cabo de unos 5 minutos. Utilizando otra vez el “viejo” Stockfish 11 (sin NNUE), la ventaja inicial es de +3.49 a 54535 KN/s, pero tampoco evoluciona y tras varios minutos se queda en ese valor a profundidad 72/88. Podría dejarlos analizando más tiempo, pero las tablas de finales ya nos dan la solución, y el objetivo de estas pruebas es comparar los análisis con respecto al Intel Core i7.
Como conclusión, podemos decir que los análisis que en lo sucesivo realice con Stockfish en el nuevo AMD Ryzen 9 5900X serán más fiables que en el Intel Core i7-920, pero, sobre todo, y ése era mi objetivo, podré llevarlos a cabo más rápidamente sin necesidad de dejar una posición analizando durante horas. Claro que, en el ejemplo número 2 también hemos visto que no está de más realizar un segundo análisis rápido con otro módulo tal como Komodo, que tiene unos algoritmos de búsqueda bastante distintos a los de Stockfish.
Y esto es todo. Espero que os haya gustado. Saludos.