Se llama BootChess y sólo tiene 487 bytes de tamaño. En el mundo informático supone una hazaña y todo un récord.

El ajedrez por ordenador ha existido durante más de 70 años. Durante todas estas décadas vimos grandes mejoras en la  programación y los ordenadores, y las aplicaciones de ajedrez han crecido más rápido, han sido más inteligentes y más sofisticadas. Las supercomputadoras como IBM Deep Blue vencieron grandes maestros como Gary Kasparov. Pero quizá usted no sepa que al mismo tiempo, ha habido una búsqueda de baja tecnología  para construir un programa de ajedrez funcional en el menor número de bytes como sea posible.

1kchess

Hasta el año pasado el record estaba en el  1K ZX  Chess de 672 byte , escrito por David Horne en 1982 para un Sinclair Espectrum que tenía tan sólo 1 Kylobyte (1,000 bytes). Las computadoras actuales tienen muchos gigabytes de memoria pero eso no impidió al programador francés Olivier Poudade el desarrollo de un programa de ¡487 bytes! (que presentó en el 2015): por tanto, batió el récord de 33 años de antigüedad y es actualmente el programa de ajedrez más pequeño del mundo: BootChess.

1K_ZX_Chess-590x383 reseña
Listado del 1kchess publicado en Your Computer Magazine en febrero de 1983

De su pequeñó engine Poudade habló en la BBC. Espera inspirar a otros programadores “tamaño bolsillo”… “[BootChess] recuerda a otros que la optimización de la programación de computadoras no está sólo basada en la velocidad, sino también en el tamaño,” dijo.

No obstante, programas de este tamaño tienen algunas limitaciones. Algunos críticos han dicho que el programa no puede denominarse como “completo”, ya que no permite el enroque. Sin embargo, Poudade explica que el 1K ZX tuvo la misma limitación, y destaca que su programa permite que los peones se conviertan en damas cuando llegan al lado del oponente, algo que no era posible en el de Horne.

BootChess, que con emulador corre en Windows, Linux, OS X, DOS y BSD, carece incluso del típico tablero gráfico (interfaz) que si tiene el engine de Horne. En lugar de ello, las casillas del tablero son una cuadrícula de puntos, que desaparecen cuando una pieza se sitúa encima. Al igual que en el 1K ZX, las piezas están representadas por letras: “P” para peones, “R” para la torre, “Q” para la reina, y así sucesivamente.

Desafortunadamente, BootChess está diseñado para funcionar con un disquete de arranque (¿a qué les recuerda eso?). Casi ninguno de los ordenadores actuales utilizan disquetes, así que si conoce algún emulador de DOS y código ensamblador, puede descargar el pequeño programa de Poudade aquí.

Éste tardó 3 meses en escribirlo (de 1 a 3 horas diarias). Desde el 24 de Octubre del 2014, grabó 239 versiones intermedias diferentes. Las jugadas se entran escribiéndolas en modo algebraico extendido: (por ejemplo, 1.e2e4). En el siguiente video subido por el autor, se puede ver a Bootchess en acción.

Poudade también habla sobre la fuerza de su programa: ”¿Podría ganar a Kasparov? No. ¿Podría batir al primer programa de papel de Turing a 1 ply? (ver Programas de ajedrez. Primeros pasos: Turing y su programa de papel). No, pero podría realizar un juego decente contra él seguramente. Recientemente, Kasparov jugó contra el programa de papel de turing aumentando a 3 Plys, pero le ganó fácil”

Poudade nunca ha jugado al ajedrez realmente. “Lo he intentado varias veces en mi vida, pero no soy un buen jugador por desgracia. Admiro a los jugadores de ajedrez y me gusta leer sus biografías, pero yo ni siquiera puedo vencer a Nintendo 3DS ajedrez en un simple tercer nivel. A veces puedo vencer a mi hija de 9 años de edad.”

Turing dijo que era difícil hacer un programa de ajedrez fuerte si el programador no era un jugador fuerte, pero Poundade da una buena razón para probar BootChess:

Puede ser bueno para la gente normal como yo, para la que no siempre es divertido ser derrotado todo el tiempo. De ahí que BootChess no se dirige a los buenos jugadores de ajedrez, ya que para ellos hay miles motores con un rango de ELO alto disponibles en internet. Está hecho para ser divertido para la gente que conoce las reglas del ajedrez, pero que son tan mediocres como yo y todavía aman el juego. También su configuración inicial como un sector de arranque, también es para algunos, como yo, una joya del pasado en los sistemas de bajo nivel”.

Lo que es seguro, es que BootChess es, por ahora, el programa de ajedrez funcional más pequeño del mundo. ¿Alguien coge el guante para superar eso?

Compujedrez marzo 2016