Sentient: Luchando con el Infinito en Resolvedores de Restricciones

2025-04-12
Sentient: Luchando con el Infinito en Resolvedores de Restricciones

Este artículo profundiza en los desafíos de manejar el infinito dentro del resolvedor de restricciones Sentient. Sentient, un lenguaje de programación, aborda problemas de satisfacción de restricciones traduciéndolos en ecuaciones booleanas. Debido a que los enteros en las computadoras se representan con un número finito de bits, Sentient no puede manejar directamente enteros infinitos matemáticamente. El autor propone una solución basada en aproximaciones, aumentando incrementalmente el tamaño en bits de los enteros para aproximar el espacio infinito. El artículo discute el aprovechamiento del resolvedor SAT incremental IPASIR para mayor eficiencia, evitando búsquedas redundantes. También explora la extensión de este enfoque a escenarios más complejos, como manejar matrices y problemas de optimización, y finalmente toca la posibilidad de que Sentient alcance la completitud de Turing en el futuro.