Los programas informáticos superlentos revelan los límites fundamentales de las matemáticas


Los programadores normalmente quieren para minimizar el tiempo que tarda su código en ejecutarse. Pero en 1962, el matemático húngaro Tibor Radó planteó el problema contrario. Preguntó: ¿Cuánto tiempo se puede ejecutar un software de computadora simple ayer de que termine? Radó apodó a estos programas sumamente ineficientes pero aún funcionales «castores ocupados».

Historia innovador reimpresa con permiso de Revista Quanta, una publicación editorialmente independiente de la Fundación Simons cuya tarea es mejorar la comprensión pública de la ciencia al cubrir los desarrollos de investigación y las tendencias en matemáticas y ciencias físicas y de la vida.

Encontrar estos programas ha sido un rompecabezas diabólicamente divertido para los programadores y otros aficionados a las matemáticas desde que se popularizó en Irrefutable gabacho«Computer Recreations» en 1984. Pero en los últimos abriles, el afanado maniobra de los castores, como se lo conoce, se ha convertido en un objeto de estudio por derecho propio, porque ha proporcionado conexiones con algunos de los conceptos más elevados y abiertos problemas en matemáticas.

«En matemáticas, hay un término muy permeable entre lo que es una asueto divertida y lo que es positivamente importante», dijo Scott Aaronson, un investigador informático teórico de la Universidad de Texas, Austin, quien recientemente publicó una investigación sobre el progreso en «BusyBeaverology».

El trabajo fresco sugiere que la búsqueda de programas informáticos de larga duración puede iluminar el estado del conocimiento matemático e incluso decirnos lo que se puede conocer. Según los investigadores, el afanado maniobra del castor proporciona un punto de narración concreto para evaluar la dificultad de ciertos problemas, como la conjetura de Goldbach sin resolver y la hipótesis de Riemann. Incluso ofrece una idea de dónde se rompe la almohadilla deducción subyacente de las matemáticas. El natural Kurt Gödel demostró la existencia de tal terra incognita matemática hace casi un siglo. Pero el afanado maniobra del castor puede mostrar dónde se encuentra positivamente en una recta numérica, como un atlas antiguo que representa el borde del mundo.

Un maniobra de computadora inconfundible

El afanado maniobra del castor tiene que ver con el comportamiento de las máquinas de Turing, las primitivas e idealizadas computadoras concebidas por Alan Turing en 1936. Una máquina de Turing realiza acciones en una tira interminable de cinta dividida en cuadrados. Lo hace de acuerdo con una repertorio de reglas. La primera regla podría proponer:

Si el cuadrado contiene un 0, reemplácelo con un 1, mueva un cuadrado a la derecha y consulte la regla 2. Si el cuadrado contiene un 1, deje el 1, mueva un cuadrado a la izquierda y consulte la regla 3.

Cada regla tiene este estilo de ramificación, elige tu propia aventura. Algunas reglas dicen retornar a las reglas anteriores; eventualmente hay una regla que contiene una instrucción para «detenerse». Turing demostró que este tipo de computadora simple es capaz de realizar cualquier cálculo posible, con las instrucciones correctas y el tiempo suficiente.

Como señaló Turing en 1936, para calcular poco, una máquina de Turing debe detenerse eventualmente; no puede continuar atrapada en un caracolillo infinito. Pero todavía demostró que no existe un método confiable y repetible para distinguir las máquinas que se detienen de las máquinas que simplemente funcionan para siempre, un hecho conocido como el problema de la detención.

El afanado maniobra del castor pregunta: Dada una cierta cantidad de reglas, ¿cuál es la cantidad máxima de pasos que puede dar una máquina de Turing ayer de detenerse?

Por ejemplo, si solo se le permite una regla y desea cerciorarse de que la máquina de Turing se detenga, se verá obligado a incluir la instrucción de detención de inmediato. El número de castor ocupado de una máquina de una regla, o BB (1), es por lo tanto 1.

Pero anexar algunas reglas más instantáneamente aumenta la cantidad de máquinas a considerar. De 6.561 máquinas posibles con dos reglas, la que corre más tiempo (seis pasos) ayer de detenerse es el castor ocupado. Pero otros simplemente corren para siempre. Ningún de estos son los castores ocupados, pero ¿cómo los descartas definitivamente? Turing demostró que no hay forma de asimilar automáticamente si una máquina que funciona durante mil o un millón de pasos no terminará finalmente.

Por eso es tan difícil encontrar castores ocupados. No existe un enfoque universal para identificar las máquinas de Turing de longevo duración con un número abusivo de instrucciones; tienes que descifrar los detalles de cada caso por sí solo. En otras palabras, el afanado maniobra de los castores es, en universal, «incuestionable».

Deja un comentario