Motor de ajedrez en 84.688 expresiones regulares

2025-01-07

Nicholas Carlini creó un motor de ajedrez minimax de 2 capas usando la asombrosa cantidad de 84.688 expresiones regulares como proyecto vacacional. Diseñó una máquina virtual basada en expresiones regulares con un conjunto de instrucciones sin ramificaciones, ejecución condicional y SIMD. Un compilador de ejecución simbólica traduce código Python en secuencias de expresiones regulares, permitiendo el cálculo paralelo. El motor aprovecha SIMD para calcular movimientos de varias piezas simultáneamente, con inteligentes optimizaciones de expresiones regulares para la velocidad. Si bien es limitado en profundidad, demuestra el sorprendente poder computacional de las expresiones regulares.