Un motor de ajedrez que funciona en un Intel Pentium Pro de 200 MHz, un procesador que se vendió por 1.325 dólares en su lanzamiento en noviembre de 1995, probablemente habría podido vencer a Garry Kasparov en 1996, según un programador que puso a prueba la idea. La máquina, que el autor compró de segunda mano, ahora está conectada a internet y se puede jugar en línea.

La pregunta es punzante. En febrero de 1996, Deep Blue de IBM se convirtió en la primera computadora en derrotar a un campeón mundial en ejercicio en una partida. Deep Blue perdió ese match, pero ganó la revancha de 1997 por 3,5 a 2,5. IBM invirtió varios millones de dólares en construir una máquina de propósito especial para esa tarea, impulsada por 30 procesadores P2SC y 480 chips de ajedrez personalizados que podían analizar más de 200 millones de posiciones por segundo.

¿Podría un motor de ajedrez moderno haber vencido a Kasparov en un Pentium Pro de 1996?

El autor quería saber si ese esfuerzo era necesario. Su respuesta es que no. Ejecutándose en el Pentium Pro con 64 MB de RAM, su adaptación personalizada de Stockfish tiene un cálculo estimado de 3300 puntos Elo, más o menos 87, en controles de tiempo clásicos. La calificación de Kasparov era de poco menos de 2800.

Elo es una escala relativa, así que los números necesitan una explicación. Una diferencia de 200 puntos significa que el jugador más fuerte debería ganar cerca de tres de cada cuatro partidas. Una diferencia de 400 puntos corresponde a un puntaje esperado del 90 por ciento. Los mejores motores de ajedrez que podían funcionar en hardware común de 1996 tenían una calificación aproximada de 2300. Deep Blue tenía 2700. Stockfish moderno se acerca a 3700.

¿Cuánto del progreso de los motores de ajedrez se debe a un mejor software?

Eso plantea una segunda pregunta: ¿cuánto de la ventaja actual se debe a computadoras más rápidas y cuánto a un mejor software? El autor estima que 720 de los 1.335 puntos Elo ganados desde 1996 provienen de una mejor programación. El resto corresponde al hardware.

Para comprobarlo, realizó dos experimentos. En el primero, usó Crafty, un motor competitivo de 1996 cuyo código fuente es hoy público. La versión de 1996 de Crafty 11.13 tuvo una calificación de 1999 en el Pentium Pro con un segundo por jugada y de 2383 con 10 segundos por jugada. Cuando agregó técnicas modernas, entre ellas algoritmos de búsqueda mejorados, métodos de quiescencia optimizados y una evaluación con redes neuronales conocida como NNUE, el mismo motor alcanzó 2718 con un segundo por jugada y 2974 con 10 segundos por jugada en el Pentium Pro.

En el segundo experimento, intentó ejecutar el propio Stockfish en el hardware antiguo. Esto implicó reescribir el código para usar aritmética de 32 bits, ya que el Pentium Pro es una máquina de 32 bits, y reducir el uso de memoria para que cupiera en 64 MB. La adaptación básica tuvo una calificación de 2496 con un segundo por jugada. Después de una serie de ajustes orientados al Pentium Pro, la calificación subió a 2846 con un segundo por jugada, 3109 con 10 segundos y 3180 con 30 segundos.

Cuando el autor enfrentó el Stockfish moderno ajustado para el Pentium Pro contra el Crafty de 1996 ejecutándose en hardware actual, la máquina antigua ganó 78 partidas, empató 17 y perdió 5 en un match de 100 partidas.

¿Cómo se construyó la configuración de ajedrez del Pentium Pro de 1996?

La configuración en sí es modesta. El Pentium Pro está montado en una tarjeta madre Intel VS440FX. El sistema arranca desde un disquete de 1,44 MB y se conecta a internet mediante una tarjeta de red Realtek RTL8139C. El autor escribió un pequeño programa personalizado para poner el procesador en modo protegido de 32 bits, activar la tarjeta de red y esperar instrucciones. El programa de ajedrez ejecuta un servidor web básico que recibe una posición del tablero, escrita en notación FEN, junto con un tiempo máximo de cálculo, y devuelve la jugada del motor cuando se agota el temporizador. El autor afirma que usó modelos de lenguaje para escribir la mayor parte del código.

El autor es cuidadoso con los límites de sus cifras. Como no pudo jugar suficientes partidas con controles de tiempo clásicos en una sola máquina, extrapoló la calificación clásica a partir de pruebas más cortas. Calcula que una partida clásica daría unos seis minutos por jugada, lo que, según él, apunta a un Elo de unos 3350. Teniendo en cuenta los rendimientos decrecientes, usa 3300 como una cifra conservadora. También señala que las calificaciones de las Computer Chess Rating Lists no se corresponden perfectamente con las de la FIDE, la escala usada para los jugadores humanos. Sostiene que la diferencia entre el motor y Kasparov es lo bastante grande como para absorber cualquier diferencia de este tipo. Estima que el motor puntuaría cerca de 9 de cada 10 contra Kasparov, y ha ofrecido enfrentarse a un gran maestro con 2700 puntos.

El autor dice que el proyecto fue en parte por diversión, pero también quería aprender algo sobre la velocidad con que avanza la investigación en inteligencia artificial. Los programadores de ajedrez de finales de los años noventa ya tenían motores avanzados, y era razonable suponer que quedaban pocas ideas por explorar. Visto en retrospectiva, afirma, esa suposición era errónea. Sugiere que lo mismo podría ocurrir con los modelos de lenguaje y con si las mejoras de software superarán a las de hardware en los próximos años. Reconoce que un solo experimento no puede resolver esa cuestión.

Cet article a été rédigé avec l'assistance de l'IA.
News Factory APP - actualités agentiques pour booster votre SEO et AEO.