12 x 12? Suelo jugar en un tablero de 8 x 8, pero de todos modos …
Esas son sólo estructuras de datos. Lo que hace que el código sea más rápido o más lento es … el código. Ciertamente, la elección de las estructuras de datos puede ser muy importante para el rendimiento, pero podría tener las mejores estructuras de datos del mundo y un código absolutamente terrible que las operó.
Me imagino que los bitboards tendrían una ventaja en cuanto a la cantidad de memoria necesaria para calcular un movimiento óptimo (para el jugador de IA), porque ese análisis debe mirar hacia adelante muchos movimientos, que se expanden exponencialmente. Cada movimiento está acompañado por una ‘imagen’ completa del tablero en cada paso, de modo que cuando hay millones de estos, reducirlos a unas pocas decenas de bytes bien podría ser un ahorro muy valioso.
- Durante 2 meses estudié con plena concentración, sinceramente sin ningún problema. Ahora de 2-3 días, siento que he perdido la fuerza de voluntad. ¿Por que es esto entonces? (Soy un aspirante JEE 2019)
- ¿Qué es mejor, los científicos que estudian 1000 cerebros incorrectamente o un cerebro correctamente?
- ¿Hay una razón "fuerte" para estudiar mucho en la universidad?
- Cómo saber si eres capaz de estudiar derecho.
- ¿Cuánto cuesta estudiar en Cambridge?
Solo he mirado el código de uno o dos motores de ajedrez, y uno de los bitboards usados. Me resultó extremadamente difícil de entender, aunque no podría decir si fue por los tableros de bits o por la forma en que estaba codificado. Otro motor de ajedrez utilizó un enfoque mucho más obvio, orientado a objetos, para describir todo en el juego: tablero, piezas, etc. Personalmente lo encontré mucho más fácil de entender. Que yo sepa, no tuvieron un rendimiento dramáticamente diferente. La IA en el corazón del ajedrez es a menudo un código autocontenido: el acceso al tablero y las posiciones de las piezas forma parte naturalmente, pero no está claro que una estructura de datos sería inherentemente más rápida de acceder que otra.