Compartir
ajedrez informatico

En el año 1982 un programa de ajedrez para el Sinclair ZX81, escrito  por David Horne en ensamblador Z80 con un tamaño de 672 bytes de código se convirtió en el programa de ajedrez más pequeño del mundo. Incluía la interfaz de usuario, tal como se publicó con la inclusión en la revista “Your computer”  (desaparecida en 1988). En febrero 1983 el 1K ZX Chess era comercialmente por el propio autor, y luego por Artic Computing , una compañía de desarrollo de software, creado por Richard Turner y Chris Thornton, un programador de ajedrez a sí mismo, y autor de Spectrum Chess, que compitió en el campeonato Europeo MCC 1982 y 1983, y Turbo Ajedrez para el ZX Spectrum.

1K_ZX_Chess2

Curiosamente, la versión inicial sólo permitía jugar e4 o d4 y el enroque, las coronaciones y comer al paso no había sido implementados. Fue una versión posterior la que permitió realizar estas “rarezas”, la versión Timex Sinclair 1000.

Pues bien, después de nada más y nade menos que 32 años, en pleno siglo XXI, este particular record de la programación ha sido superado.

Un codificador francés ha desarrollado lo que se cree que es el programa de ajedrez de computador más pequeño del mundo.

Además de su escaso tamaño, su código puede ejecutarse en Windows, Mac OS X y Linux.

Con este peso, el BootChess rompe el récord de su predecesor 1K ZX, el juego de computador Sinclair ZX81 que, como decía, contenía sólo 672 bytes y había mantenido su liderazgo desde hace 32 años.
Recordemos que el record contrasta con el desarrollo de software actual, en el que la compilación de los programas lleva a aplicaciones cada vez más potentes y con un mayor tamaño. El software de ajedrez actual, es capaz de ganar al 99,99 % de los seres humanos, por no decir que, a día de hoy, el único resultado posible para un humano es empatar.

El software de ajedrez actual, es capaz de ganar al 99,99 % de los seres humanos, por no decir que, a día de hoy, el único resultado posible para un humano es empatar.

Pero, ¿de dónde viene la acumulación de bytes en la programación? Una de las claves es que se requiere mucha memoria adicional para almacenar las tablas de hash, que permiten ir teniendo un registro de las posiciones ya analizadas para así no perder el tiempo en analizarlas de nuevo, lo que mejora el rendimiento y la eficiencia considerablemente. Otra de las áreas que consume recursos es la interfaz gráfica, la encargada de diseñar y visualizar las piezas, y mantiene casi un tablero virtual de ajedrez, que hace que la experiencia sea muy parecida a la real. De hecho, recientemente se han incorporado motores de 3D para proporcionar una visión cercana (aunque aún muy lejana) a la de un tablero real.
En Bootchess todo el juego se muestra en ASCII (las piezas se identifican por letras; las mayúsculas son las piezas de color blanco, y las minúsculas las de color negro). Y las jugadas las introduces mediante texto con la notación tradicional, por lo que olvídate de arrastrar las piezas con el ratón e incluso ¡de verlas! También hay que decir que el programa es malillo en cuanto a fuerza de juego, pero como explicaba ese no era el objetivo del reto.

Olivier Poudade, el creador del nuevo record, le dijo a la BBC que el reto le parecía imposible al principio. Añadió que esperaba que su logro ahora inspirara a otros programadores a involucrarse en la escena “sizecoding”.

“[Esto] recuerda que la optimización de la programación de computadoras no es sólo sobre velocidad, sino también sobre tamaño”, le contó a la BBC.

Según el programador, también quiso rendir un homenaje al arte de David Horne –el creador del ajedrez 1K ZX- así como otros héroes anónimos de la codificación.

1 Comentario

  1. en las tablets los programas (aplicaciones) stockfish son pequeñisimos!!!! : 5 a 10 Mb en total!!!!! ….. como logran eso?

Dejar respuesta

Please enter your comment!
Please enter your name here