¿Cuál es la diferencia entre TM cuántica y TM no determinista?

30

Estaba pasando por la discusión sobre la pregunta ¿Cómo definir las máquinas cuánticas de Turing? y siento que la TM cuántica y la TM no determinista son lo mismo. Las respuestas a la otra pregunta no tocan eso. ¿Son estos dos modelos uno y el mismo?

Si no,

  1. ¿Cuáles son las diferencias entre Quantum TM y NDTM?
  2. ¿Hay algún cálculo que un NDTM haría más rápido que Quantum TM?
  3. Si este es el caso, Quantum TM es un DTM, entonces, ¿por qué hay tanta confusión sobre esta tecnología? Ya tenemos tantos DTM. ¿Por qué diseñar un nuevo DTM al final?
bongubj
fuente
1
"Si este es el caso, Quantum TM es un DTM" - ¿De dónde viene eso?
Raphael

Respuestas:

20

Como preámbulo general, las QTM, TM y NTM son cosas diferentes (tomar grandes libertades con un montón de suposiciones tácitas).

Asumiré que sabes lo que es una máquina de Turing.

  1. Una NTM es una TM donde, en cualquier estado, con cualquier símbolo, la función de transición puede tener varias opciones de acción que no son precisamente , es decir , o más de (una TM determinista debe tener exactamente una acción para cada símbolo en cada estado, aunque el caso es fácil de tratar). Cuando se enfrenta a una situación en la que hay varias opciones de transición, una NTM tomará la decisión que finalmente lo llevará a un estado de aceptación, si tal opción existe. En contraste, un QTM es un modelo de computación cuántica , como se detalla en el hilo que vinculó. Es no1 1 00 010 0

    no determinista, no todos. Probablemente, las principales diferencias de alto nivel entre un QTM y un TM es que un QTM tiene como estado una combinación lineal de los estados base (nuevamente, todo está en ese otro hilo) y que es probabilístico, es decir, la precisión de su salida está limitado por alguna probabilidad menor que (en términos generales). Para ser realmente muy claro en un punto que atrapa a muchas personas, el no determinismo no es aleatoriedad, no es paralelismo, es una construcción teórica que no tiene nada que ver con ninguno de esos. 1

  2. La respuesta completa a esto depende de algunos supuestos teóricos de complejidad. Tomando un punto de vista particular (que y ), la respuesta es sí. completos de se pueden resolver mediante una NTM en tiempo polinómico, y también parece que , por lo que no se pueden resolver mediante una QTM en tiempo polinómico. Nuevamente, todo esto depende de la forma en que las tarjetas caen con una variedad de clases de complejidad. Si resulta que , la respuesta es no, por ejemplo. N P P N P N P -completo B Q P = Q M A = B Q PQMETROUNAsiQPAGSnortePAGSPAGSnortePAGSnortePAGS-completarsiQPAGS=

    QMETROUNA=siQPAGS
  3. Lo primero que hay que decir aquí es tener cuidado al confundir TM (de cualquier tipo) y computadoras. Una TM no es una computadora, una QTM no es una computadora cuántica. Cálculo del modelo de TM (de cualquier tipo). Lo que puede hacer una computadora determinada se rige por esto, pero esto es muy diferente de decir que lo que estoy escribiendo es una TM.

    Una vez dicho esto, si hablamos de manera flexible e identificamos perezosamente las QTM con computadoras cuánticas y las TM con computadoras estándar, entonces (nuevamente bajo ciertas suposiciones de complejidad) parece que las computadoras cuánticas pueden hacer rápidamente ciertas tareas que parecen difíciles para las computadoras estándar (factoring, registros discretos , un tipo de búsqueda realmente particular, y un par de otros). Sin embargo, no se sabe que estos problemas sean difíciles en elN PnortePAGS-completo sentido, parece que las computadoras cuánticas ofrecen capacidades que extienden una computadora estándar, pero en una dirección diferente a la que se necesitaría para resolver rápidamente los problemas completos de . nortePAGS

Una vez más, para ser realmente claro, he pasado por alto una gran cantidad de complejidad computacional aquí, si realmente quieres entender cómo encaja todo, necesitarás comenzar a investigar la literatura.

Luke Mathieson
fuente
Muchas gracias @LukeMathieson. Intentaré digerir todo y volver a publicar cualquier pregunta que pueda tener.
bongubj
Me alegro de poder ayudar. Obviamente, faltan muchos detalles técnicos, en un intento de llegar al significado y la intuición. El artículo de Wikipedia sobre Turing Machines es bastante decente, para cubrir las cosas técnicas allí. El QTM uno es lamentable, pero el otro hilo es excelente de todos modos. Sin embargo, las cosas de QTM pueden ser un poco oscuras si no has hecho un curso sobre Hilbert Spaces o similar.
Luke Mathieson
3
"El no determinismo no es aleatoriedad, no es paralelismo, es una construcción teórica que no tiene nada que ver con ninguno de esos". - Esa es probablemente una oración clave aquí.
Raphael
13

Sobre el significado del no determinismo

Hay dos significados diferentes de 'no determinismo' en cuestión aquí. La mecánica cuántica se describe generalmente como "no determinista", pero la palabra "no determinista" se utiliza de manera especializada en informática teórica.

  1. Un significado, que se aplica a la mecánica cuántica, es simplemente "no determinista ". Por lo general, esta es una forma razonable de interpretar la palabra, y de hecho, ni las máquinas cuánticas de Turing ni siquiera las máquinas probabilísticas de Turing son deterministas en la forma en que resuelven los problemas de decisión.

  2. Sin embargo, cuando se describen modelos de cálculo, no determinista se usa específicamente para significar que la máquina puede (en cierto sentido) tomar decisiones que no están determinadas por su estado o su entrada, para obtener un objetivo particular. Este significado se usa en otros lugares para describir modelos de computación, como los autómatas finitos no deterministas .

Entonces, las máquinas cuánticas de Turing son un modelo de cálculo que no es determinista, pero que es diferente de una " máquina de Turing no determinista ".

Máquinas Turing no deterministas

Una máquina de Turing no determinista es una máquina que puede explorar múltiples transiciones posibles. La transición que realiza en un paso dado depende, pero no está determinada, por el estado en el que se encuentra y el símbolo que está leyendo. Hay dos formas en que esto se presenta comúnmente:

  • Especialmente para los propósitos de definir la clase de complejidad NP , uno puede describir la máquina como haciendo elecciones (o adivinanzas) en cada paso para tratar de alcanzar un estado de aceptación. Si piensa en lo que está haciendo la máquina no determinista al explorar un árbol de decisión, está buscando una ruta de aceptación en el árbol. Si bien no se describe ningún mecanismo que sugiera cómo se debe encontrar ese camino, imaginamos que encontrará un camino de aceptación si solo existe uno.

  • También es bastante común decir que una máquina no determinista explora todas las rutas posibles en el árbol de decisión en paralelo, y da una respuesta "sí" si alguna de ellas resulta ser una ruta de aceptación.

Los tratamientos más modernos del no determinismo también consideran no solo la existencia, sino el número de caminos de aceptación; y esto se adapta bien a la descripción de explorar todos los caminos en paralelo. Podemos imponer restricciones adicionales, por ejemplo, que todas las rutas computacionales tienen la misma longitud (que la máquina siempre toma la misma cantidad de tiempo para realizar un cálculo) y que cada ruta realiza una suposición en cada paso, o cada segundo paso, incluso si la conjetura no se usa. Si hacemos esto, podemos formular modelos probabilísticos de cómputo, como máquinas de Turing aleatorias (clases de complejidad motivadoras como BPP ), en términos del númerode aceptar caminos de una máquina de Turing no determinista. También podemos cambiar esto y describir las máquinas de Turing no deterministas en términos de computadoras aleatorizadas que de alguna manera pueden distinguir entre resultados que tienen probabilidad cero de aquellos que tienen probabilidad no cero .

Máquinas cuánticas de Turing

La principal diferencia entre una máquina de Turing cuántica y una no determinista es esta: en lugar de 'elegir' no determinísticamente una sola transición de dos o más en cada paso, una máquina de Turing cuántica realiza una transición a una superposición de una o más transiciones posibles. El estado completo de la máquina se define como un vector unitario en un espacio vectorial complejo, definido por combinaciones lineales de estados básicos descritos por estados clásicos de la cinta, la posición del cabezal de la máquina y el "estado interno" del cabezal de la máquina. . (Véase, por ejemplo, la página 9, Definición 3.2.2, de la teoría de la complejidad cuánticapara la descripción completa de cómo las máquinas cuánticas de Turing hacen transiciones.) La condición bajo la cual la máquina cuántica de Turing acepta una entrada también es más restrictiva, e inherentemente involucra la probabilidad, que requiere una probabilidad sustancial de observar el resultado correcto para tener éxito.

Como resultado, las máquinas cuánticas de Turing difieren de las máquinas no deterministas en que la forma en que realizan sus transiciones no está completamente no especificada. Incluso si la transición "parece misteriosa", también es el mismo tipo de evolución con el tiempo que nuestra mejor teoría de la materia indica que sucede en el mundo real. Si bien es común describir las computadoras cuánticas como "explorar diferentes rutas computacionales en paralelo", no es particularmente útil: las amplitudes en las diferentes rutas significan que no todas tienen la misma importancia y, a diferencia de las máquinas Turing no deterministas, no es suficiente para tener una amplitud distinta de cero en algún resultado; tiene que ser posible obtener una probabilidad muy grande de obtener el resultado correcto, como 2/3. (La clase de problemas BQPel que una máquina de Turing cuántica puede resolver de manera eficiente requiere un espacio de probabilidad de la misma clase que BPP tiene para el cálculo aleatorio.) Por otra parte, muy en contraste con las máquinas de Turing no deterministas, un quantum máquina de Turing puede interferir los unos con los otros después de que se han separado , lo cual es simplemente imposible en la formulación típica de una máquina de Turing no determinista (y hace que la descripción en términos de un árbol de decisión sea menos útil en primer lugar).

Comparando los dos modelos

No sabemos si una de estas máquinas es más poderosa que la otra; Las diferentes formas en que no son deterministas parecen diferentes entre sí y difíciles de comparar.

En cuanto a los problemas que cada máquina puede hacer rápidamente, que la otra no puede (hasta donde sabemos):

  • No sabemos de ninguna manera que una máquina cuántica de Turing pueda resolver rápidamente el problema de SATISFIABILIDAD . Una máquina de Turing no determinista puede, fácilmente.
  • El trabajo de Aaronson y Archipov ( La complejidad computacional de la óptica lineal ) sugiere que es poco probable que las máquinas de Turing no deterministas puedan simular de manera eficiente ciertos experimentos de óptica lineal que podrían ser simulados por una máquina de Turing cuántica.

Pero incluso si alguien muestra cómo relacionar los dos tipos de máquinas entre sí, e incluso en el escenario extremadamente improbable de que alguien muestre que BQP  =  NP (los problemas que una máquina de Turing cuántica y una máquina de Turing no determinista, respectivamente, pueden resolver rápidamente) ) - las dos máquinas que definen estos modelos de cálculo son bastante diferentes entre sí.

Niel de Beaudrap
fuente
¡No hay que tener miedo de estar en desacuerdo! Ciertamente elegí un enfoque simplificado para dejar en claro que existen diferencias entre las diferentes máquinas. Lo único que agregaría a lo que ha dicho es que todavía mantengo que la aleatoriedad no es lo mismo que el no determinismo: puede definir (por ejemplo) BPP usando el no determinismo, pero también con condiciones muy específicas y puede definirlo fácilmente en el mismo espíritu con las máquinas deterministas (algo que no puede hacer para NP, NEXP, etc., debe cambiar a verifacción en lugar de computación para eso).
Luke Mathieson
1
La segunda parte es que encuentro la concepción del no determinismo como paralelismo engañoso (aunque también solía pensarlo de esta manera). Es una concepción correcta, siempre y cuando tenga en cuenta que realmente no se relaciona con nada como el paralelismo "real". Una máquina simple no determinista puede simular efectivamente un número exponencial de máquinas deterministas (siempre y cuando solo le interese obtener la respuesta correcta, no mirar todas las rutas de cálculo, y la diferencia entre NP y #P es bastante grande). Entonces, la idea de que está comprobando todos los caminos en paralelo cubre todo.
Luke Mathieson
Espero que estés feliz de completar los detalles razonables allí, ¡estos comentarios son demasiado cortos! ;)
Luke Mathieson
@LukeMathieson: en realidad no estoy seguro de a qué te refieres con tus comentarios, ya que hago un punto para distinguir el 'no determinismo computacional' de la aleatoriedad, describo claramente el tipo burdo de exploración en paralelo que una máquina NP puede ser dijo que hacer, y así sucesivamente. ¿Puedes aclarar lo que sientes que debería agregarse?
Niel de Beaudrap
Oh, no creo que haya que cambiar nada en lo que dijiste, solo estaba intentando (¿fallando?;)) Agregar comentarios que pudieran ayudar a señalar algunos aspectos interesantes del no determinismo y sus relaciones con otras ideas computacionales.
Luke Mathieson