¿Por qué diferenciamos entre máquinas Turing universales y máquinas Turing normales?

Una máquina Turing universal puede emular cualquier otra máquina Turing (incluida ella misma), otra máquina Turing no puede. Sin embargo, lo que sí es cierto es que el conjunto de todas las máquinas de Turing es universal, pero una cosa es el conjunto y otras son máquinas de Turing individuales. Algunos son universales, otros no. Sin embargo, tiene razón en que una máquina de Turing universal es simplemente una máquina de Turing simple en sí misma, en el sentido de que no hay nada especial con su descripción o naturaleza y, por lo tanto, es esencialmente como cualquier otra, excepto por su poder computacional. Pero que la máquina universal de Turing sea solo una máquina de Turing es la base de uno de los principales resultados de Alan Turing en su artículo seminal que demuestra tanto la universalidad como la indecidibilidad del problema de Halting.

Sin embargo, pueden no ser tan diferentes después de todo, ¡porque este documento muestra que casi todas las máquinas de Turing son en realidad máquinas de Turing universales! :

[1510.01671] La reprogramabilidad conductual transfronteriza revela evidencia de universalidad generalizada de Turing.

Para las ‘enumeraciones naturales’, por ejemplo, enumerando por tamaño o simplemente tomando un conjunto completo de máquinas Turing de tamaño fijo, se puede demostrar que la densidad de los programas universales de Turing y, por lo tanto, las capacidades de reprogramación de los programas de computadora aleatorios (vea la explicación a continuación máquina aleatoria de Turing significa) asintóticamente alcanza la medida 1 ( esto significa que la mayoría de ellos son Turing universales y eventualmente prácticamente todos ).

El enfoque se basa en el concepto de ‘ universalidad intrínseca ‘, que proporciona una fuerte evidencia de la universalidad de Turing ubicua al explorar el espacio del compilador basado en el cálculo de reescalado y la emulación de grano grueso. Incluso mostramos una serie de resultados de cruce de límites, que incluyen instancias de emulación (en todos los casos para todas las condiciones iniciales) de Wolfram Class 2 Elementary Cellular Automata (ECA) por clase 1 ECA, clases 2 y 3 ECA emulando clases 1, 2 y 3 , y Clase 3 ECA emulando las Clases 1, 2 y 3, junto con resultados de un tipo similar para CA general (vecindario r = 3/2), incluyendo Clase 1 CA emulando las Clases 2 y 3, Clases 3 y 4 emulando todas las demás clases (1, 2, 3 y 4). Esto significa que no solo encontramos que la mayoría de los programas de computadora pueden emular a la mayoría de los otros programas de computadora, sino que incluso proporcionamos las codificaciones específicas.

En lugar de explorar programas de computadora aleatorios, uno puede hacerlo aún mejor no solo tomando una muestra de TM sino arreglando tamaños de TM y luego tomando un conjunto completo de TM para un tamaño dado y comience a aumentar el tamaño y obtenga resultados en función de TM tamaño, que es como se hizo en la referencia anterior. Entonces, el marco para hacer esta pregunta está bien definido y ahora tiene una respuesta muy interesante, y creemos que es muy fundamental. Aquí una figura que resume los resultados:

Esta figura muestra cómo los programas de computadora (AC sin pérdida de generalidad) alcanzan asintóticamente la universalidad intrínseca completa (y, por lo tanto, la universalidad de Turing porque la universalidad intrínseca es un requisito más estricto). El gráfico muestra los programas de computadora acumulados que pueden reprogramarse para comportarse como al menos otro programa de computadora (no trivial) en el mismo espacio de reglas con un compilador de hasta 15 (ECA) y 12 (GCA). Un compilador de computadora (como cualquier definición de compilador de computadora) es solo un programa de traducción que no actúa, pero al comienzo del cálculo y, por lo tanto, no está interactuando con el programa de computadora en cuestión (evidentemente, reglas triviales como las reglas 0 y 255 de ECA nunca se reprogramen pero son efectivamente de medida 0).

Una máquina universal de Turing es una máquina meta-Turing. Su verdadero talento es simular una máquina de Turing cuya descripción se le proporciona. Supongo que ya está familiarizado con el concepto de que al final del día todo es una cadena, incluso una máquina de Turing, es decir, puede describirse (codificarse) por una cadena de longitud finita. (¿Por qué finito? Porque la máquina tiene muchos estados).

¡Tome la cadena que describe su máquina de Turing favorita y alimente a una máquina de Turing universal y listo! su máquina Turing universal ahora se comportará como su favorita.

El conjunto de todas las máquinas de Turing “normales”, es decir, el conjunto de todas las máquinas de Turing, puede calcular todas las funciones computables.

Una única máquina de Turing “normal” calcula una única función computable, por ejemplo, M(x) = x + 3 .

Una sola máquina universal de Turing también calcula una única función computable (después de todo, son máquinas de Turing “normales”). La diferencia es que una sola máquina universal de Turing puede simular el cálculo de todas las funciones computables dependiendo de cómo interprete su entrada. Una manera simple de interpretar la entrada es como un par codificado de , por ejemplo, U() = M(x) .

No creo que lo hagamos. Creo que estás comparando manzanas con manzanos. Las máquinas Turing universales son un subconjunto de las máquinas Turing.

El conjunto de todas las máquinas de Turing puede calcular las mismas funciones que una sola máquina universal de Turing puede calcular.

Las máquinas universales de Turing no son más que máquinas ordinarias de Turing. En lenguaje informático estándar, son programas como cualquier otro programa; simplemente son emuladores (o compiladores, o intérpretes o simuladores, según su perspectiva), es decir, programas que ejecutan otros programas.

Una máquina de Turing es (un modelo formal de) una computadora.

Una máquina universal de Turing es un programa específico. O, más precisamente, una computadora en la que alguien programó un simulador de máquina Turing.

Puedes hacer cualquier cálculo algorítmico si te dejo usar mi computadora.

También puede hacer cualquier cálculo algorítmico si le dejo usar solo el simulador en mi computadora.

Lo más importante de las máquinas Turing universales es su existencia : el hecho de que es posible escribir un solo programa que pueda simular cualquier otro programa, incluido él mismo .

More Interesting

¿Cómo pruebo o refuto lo siguiente: f (n) = o (g (x)) implica f (n) = O (g (n))?

¿Debo dejar de tomar cursos de teoría en Matemáticas / CS teórico, etc.?

¿Cómo es O (N ^ 4) la respuesta correcta? ¿Puedes explicarlo paso a paso?

¿Podemos probar P = NP 'P versus NP problem'?

¿Cuáles son algunos tipos interesantes de algoritmos / métodos de licitación?

En 'Figuras ocultas', ¿qué tipo de matemáticas usa Katherine Gobles?

¿Cómo se puede usar una computadora para resolver problemas de multiplicación y división al convertirlos en sumas y restas usando el registro?

¿Dónde puedo obtener un código para la entrada y salida rápida de enteros, enteros largos largos, flotante, doble, caracteres y cadenas para C?

¿Por qué la función gamma está diseñada de tal manera que su argumento se desplaza hacia abajo en 1 en comparación con la función factorial para enteros positivos?

Cómo calcular la varianza esperada en el tiempo (t) dada una deriva y volatilidad conocidas

¿Alguien puede escribir un algoritmo no determinista (pseudocódigo) para encontrar la suma de los primeros n números naturales?

¿Por qué identificamos algoritmos que actúan en diferentes tamaños de entrada?

¿Se puede programar una computadora para probar problemas matemáticos complejos no resueltos?

Ciencias de la computación teóricas: ¿Hay una prueba para: "La mejora personal recursiva es posible"?

¿Cuál es la forma más sencilla de entender las máquinas de Turing y el problema del castor ocupado?